� K�g���h�ddlmZddlZddlZddlZddlZddlZddlZddlm Z m Z ddl m Z ddl m Z ddlmZmZmZddlmZmZmZmZmZmZdd lmZdd lmZmZmZmZdd l m!Z!m"Z"m#Z#m$Z$dd l%m&Z&dd l'm(Z(m)Z)ddl*m+Z+m,Z,ddl-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:ddl;m<Z<m=Z=ddl>m?Z?m@Z@ejArddlBZBgd�ZCejDdd���ZEejDdd���ZFd3d�ZGd4d�ZHd5d!�ZIGd"�d#��ZJeJ��ZKejLd$��ZMd%e ��ZNd&�Od'�ejP��D����ZQGd(�d)ejR��ZSGd*�d+e9��ZTGd,�d-e.��ZUejVd.ejWfZXGd/�d0��ZYGd1�deY��ZZGd2�deY��Z[dS)6�)� annotationsN)�asynccontextmanager�contextmanager)� TracebackType�)� __version__)�Auth� BasicAuth� FunctionAuth)�DEFAULT_LIMITS�DEFAULT_MAX_REDIRECTS�DEFAULT_TIMEOUT_CONFIG�Limits�Proxy�Timeout)�SUPPORTED_DECODERS)� InvalidURL�RemoteProtocolError�TooManyRedirects�request_context)�Cookies�Headers�Request�Response)�codes)�AsyncBaseTransport� BaseTransport)�AsyncHTTPTransport� HTTPTransport) �AsyncByteStream� AuthTypes� CertTypes� CookieTypes� HeaderTypes� ProxyTypes�QueryParamTypes�RequestContent� RequestData�RequestExtensions� RequestFiles�SyncByteStream� TimeoutTypes)�URL� QueryParams)� URLPattern�get_environment_proxies)�USE_CLIENT_DEFAULT� AsyncClient�Client�Tr3)�bound�Ur2�urlr-�location�return�boolc��|j|jkrdS|jdko0t|��dko|jdkot|��dkS)zA Return 'True' if 'location' is a HTTPS upgrade of 'url' F�http�P�https�)�host�scheme�_port_or_default)r7r8s �]/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/httpx/_client.py�_is_https_redirectrD>sd�� �x�8�=� � ��u� � �f�� .� �S� !� !�R� '� .� �O�w� &� .� �X� &� &�#� -� �� int | Nonec�X�|j�|jSddd��|j��S)Nr=r?)r<r>)�port�getrA�r7s rCrBrBMs/�� �x���x���� %� %� )� )�#�*� 5� 5�5rE�otherc��|j|jko/|j|jkot|��t|��kS)z@ Return 'True' if the given URLs share the same origin. )rAr@rB)r7rKs rC� _same_originrMSsD�� � �e�l�"� =� �H�� � "� =� �S� !� !�%5�e�%<�%<� <�rEc��eZdZdZdS)�UseClientDefaulta< For some parameters such as `auth=...` and `timeout=...` we need to be able to indicate the default "unset" state, in a way that is distinctly different to using `None`. The default "unset" state indicates that whatever default is set on the client should be used. This is different to setting `None`, which explicitly disables the parameter, possibly overriding a client default. For example we use `timeout=USE_CLIENT_DEFAULT` in the `request()` signature. Omitting the `timeout` parameter will send a request using whatever default timeout has been configured on the client. Including `timeout=None` will ensure no timeout is used. Note that user code shouldn't need to use the `USE_CLIENT_DEFAULT` constant, but it is used internally when a parameter is not included. N)�__name__� __module__� __qualname__�__doc__�rErCrOrO^s���������rErO�httpxz python-httpx/z, c��g|] }|dk�|�� S)�identityrT)�.0�keys rC� <listcomp>rZys"��C�C�C�S�� �1B�1B�S�1B�1B�1BrEc��eZdZdZdZdZdS)� ClientStater��N)rPrQrR�UNOPENED�OPENED�CLOSEDrTrErCr\r\}s#�������H��F��F�F�FrEr\c�*�eZdZdZdd �Zdd �Zdd �ZdS)�BoundSyncStreamz� A byte stream that is bound to a given response instance, and that ensures the `response.elapsed` is set once the response is closed. �streamr+�responser�start�floatr9�Nonec�0�||_||_||_dS�N��_stream� _response�_start��selfrdrerfs rC�__init__zBoundSyncStream.__init__������ �!����� � � rE�typing.Iterator[bytes]c#�&K�|jD]}|V��dSrj�rl�rp�chunks rC�__iter__zBoundSyncStream.__iter__�s,�����\� � �E��K�K�K�K� � rEc��tj��|jz }tj|���|j_|j���dS�N)�seconds) �time� perf_counterrn�datetime� timedeltarm�elapsedrl�close�rpr�s rCr�zBoundSyncStream.close�sI���#�%�%�� �3��!)�!3�G�!D�!D�!D���� � �������rEN)rdr+rerrfrgr9rh)r9rs�r9rh)rPrQrRrSrqrxr�rTrErCrcrc�sZ�������� �������������rErcc�*�eZdZdZdd �Zdd �Zdd �ZdS)�BoundAsyncStreamz� An async byte stream that is bound to a given response instance, and that ensures the `response.elapsed` is set once the response is closed. rdr rerrfrgr9rhc�0�||_||_||_dSrjrkros rCrqzBoundAsyncStream.__init__�rrrE�typing.AsyncIterator[bytes]c�4K�|j23d{V��}|WV�� 6dSrjrurvs rC� __aiter__zBoundAsyncStream.__aiter__�sF�����<� � � � � � � �%��K�K�K�K�K�(�<�<s�c��K�tj��|jz }tj|���|j_|j����d{V��dSrz) r|r}rnr~rrmr�rl�acloser�s rCr�zBoundAsyncStream.aclose�s_�����#�%�%�� �3��!)�!3�G�!D�!D�!D�����l�!�!�#�#�#�#�#�#�#�#�#�#�#rEN)rdr rerrfrgr9rh)r9r�r�)rPrQrRrSrqr�r�rTrErCr�r��sZ�������� ��������$�$�$�$�$�$rEr�.c ��eZdZddddededdddd� dcd�Zeddd���Zeddd ���Zded#�Z dfd(�Z edgd*���Z e j dhd+���Z edid-���Z e j djd.���Z edkd0���Zej dld2���Zedmd3���Zej dnd4���Zedod6���Zej dpd8���Zedqd:���Zej drd<���Zedsd>���Zej dtd@���ZdddddddeddA� dudP�ZdvdQ�ZdwdxdR�ZdwdydS�Z dwdzdT�Zd{dU�Zefd|dY�Zd}d\�Zd~d]�Zdd^�Zd�d_�Zd�da�Zd�db�Z dS)�� BaseClientNF�T�utf-8� �auth�params�headers�cookies�timeout�follow_redirects� max_redirects� event_hooks�base_url� trust_env�default_encodingr��AuthTypes | Noner��QueryParamTypes | Noner��HeaderTypes | Noner��CookieTypes | Noner�r,r�r:r��intr��+None | typing.Mapping[str, list[EventHook]]r�� URL | strr�r��#str | typing.Callable[[bytes], str]r9rhc �&�|�in|}|�t| ����|_|�|��|_t |��|_t|��|_t|��|_ t|��|_ ||_ ||_t|�dg����t|�dg����d�|_| |_| |_t(j|_dS�N�requestre)r�re)�_enforce_trailing_slashr-� _base_url� _build_auth�_authr.�_paramsrr�r�_cookiesr�_timeoutr�r��listrI� _event_hooks� _trust_env�_default_encodingr\r_�_state) rpr�r�r�r�r�r�r�r�r�r�r�s rCrqzBaseClient.__init__�s���(�/�b�b�[� ��5�5�c�(�m�m�D�D����%�%�d�+�+�� �"�6�*�*�� ��w�'�'�� ���(�(�� ���(�(�� � 0���*����K�O�O�I�r�:�:�;�;��[�_�_�Z��<�<�=�=� � ���$���!1���!�*�� � � rEc�,�|jtjkS)z2 Check if the client being closed )r�r\ra�rps rC� is_closedzBaseClient.is_closed�s�� �{�k�0�0�0rEc��|jSrj)r�r�s rCr�zBaseClient.trust_env�s ����rEr7r-c�v�|j�d��r|S|�|jdz���S)N�/��raw_path)r��endswith� copy_with�rpr7s rCr�z"BaseClient._enforce_trailing_slash�s:�� �<� � �� &� &� ��J��}�}�c�l�T�&9�}�:�:�:rE�proxy�ProxyTypes | None�allow_env_proxies�dict[str, Proxy | None]c���|�.|r*d�t�����D��SiSt|ttf��rt |���n|}d|iS)Nc�>�i|]\}}||�dnt|�����S)NrJ)r)rXrYr7s rC� <dictcomp>z-BaseClient._get_proxy_map.<locals>.<dictcomp>�s>����� ��S������%�C�.�.�.���rErJzall://)r0�items� isinstance�strr-r)rpr�r�s rC�_get_proxy_mapzBaseClient._get_proxy_map�s~�� �=� � ���$;�$=�$=�$C�$C�$E�$E������I�(2�5�3��*�(E�(E�P�E�e�$�$�$�$�5�E��e�$� $rErc��|jSrj)r�r�s rCr�zBaseClient.timeout�s ���}�rEc�.�t|��|_dSrj)rr�)rpr�s rCr�zBaseClient.timeout�����(�(�� � � rE�dict[str, list[EventHook]]c��|jSrj)r�r�s rCr�zBaseClient.event_hookss ��� � rEc��t|�dg����t|�dg����d�|_dSr�)r�rIr�)rpr�s rCr�zBaseClient.event_hooks sK���K�O�O�I�r�:�:�;�;��[�_�_�Z��<�<�=�=� � ����rE� Auth | Nonec��|jS)z� Authentication class used when none is passed at the request-level. See also [Authentication][0]. [0]: /quickstart/#authentication )r�r�s rCr�zBaseClient.auths ���z�rEr!c�:�|�|��|_dSrj)r�r��rpr�s rCr�zBaseClient.auths���%�%�d�+�+�� � � rEc��|jS)zK Base URL to use when sending requests with relative URLs. )r�r�s rCr�zBaseClient.base_urls �� �~�rEc�T�|�t|����|_dSrj)r�r-r�r�s rCr�zBaseClient.base_url&s!���5�5�c�#�h�h�?�?����rErc��|jS)z@ HTTP headers to include when sending requests. )�_headersr�s rCr�zBaseClient.headers*� �� �}�rEr$c���tdt�d��dt�d��d���}|�|��||_dS)Ns*/*�asciis keep-alive)sAcceptsAccept-Encodings Connections User-Agent)r�ACCEPT_ENCODING�encode� USER_AGENT�updater�)rpr��client_headerss rCr�zBaseClient.headers1sd�� �!�$3�$:�$:�7�$C�$C�,�)�0�0��9�9�  � � � �� ���g�&�&�&�&�� � � rErc��|jS)zA Cookie values to include when sending requests. )r�r�s rCr�zBaseClient.cookies>r�rEr#c�.�t|��|_dSrj)rr�)rpr�s rCr�zBaseClient.cookiesEr�rEr.c��|jS)zO Query parameters to include in the URL when sending requests. )r�r�s rCr�zBaseClient.paramsIs �� �|�rEr&c�.�t|��|_dSrj)r.r�)rpr�s rCr�zBaseClient.paramsPs��"�6�*�*�� � � rE) �content�data�files�jsonr�r�r�r�� extensions�methodr�r��RequestContent | Noner��RequestData | Noner��RequestFiles | Noner��typing.Any | None�TimeoutTypes | UseClientDefaultr��RequestExtensions | Nonerc ��|�|��}|�|��}|�| ��} |�|��}| �in| } d| vrMt | t ��r|jnt| ��} tdi| �d| � ��i��} t||||||||| | �� � S)aR Build and return a request instance. * The `params`, `headers` and `cookies` arguments are merged with any values set on the client. * The `url` argument is merged with any `base_url` set on the client. See also: [Request instances][0] [0]: /advanced/clients/#request-instances Nr�)r�r�r�r�r�r�r�r�rT) � _merge_url�_merge_headers�_merge_cookies�_merge_queryparamsr�rOr�r�dict�as_dictr) rpr�r7r�r�r�r�r�r�r�r�r�s rC� build_requestzBaseClient.build_requestTs���4�o�o�c�"�"���%�%�g�.�.���%�%�g�.�.���(�(��0�0��%�-�R�R�:� � �J� &� &��g�'7�8�8�&�� � ��W�%�%� � �F�F� �F�F�G�O�O�4E�4E�F�F�F�J�� � ��������!�  �  �  � rEc��t|��}|jrB|jj|j�d��z}|j�|���S|S)z� Merge a URL argument together with any 'base_url' on the client, to create the URL used for the outgoing request. r�r�)r-�is_relative_urlr�r��lstripr�)rpr7� merge_url�merge_raw_paths rCr�zBaseClient._merge_url�s]�� ��H�H� � � $� D�"�]�3�i�6H�6O�6O�PT�6U�6U�U�N��=�*�*�N�*�C�C� C��rEc�n�|s|jr+t|j��}|�|��|S|S)z� Merge a cookies argument together with any cookies on the client, to create the cookies used for the outgoing request. )r�rr�)rpr��merged_cookiess rCr�zBaseClient._merge_cookies�sC�� � "�d�l� "�$�T�\�2�2�N� � !� !�'� *� *� *�!� !��rEc�X�t|j��}|�|��|S)z� Merge a headers argument together with any headers on the client, to create the headers used for the outgoing request. )rr�r�)rpr��merged_headerss rCr�zBaseClient._merge_headers�s-�� !���.�.�����g�&�&�&��rEc�j�|s|jr)t|j��}|�|��S|S)z� Merge a queryparams argument together with any queryparams on the client, to create the queryparams used for the outgoing request. )r�r.�merge)rpr��merged_queryparamss rCr�zBaseClient._merge_queryparams�s>�� � 4�T�[� 4�!,�T�[�!9�!9� �%�+�+�F�3�3� 3�� rEc���|�dSt|t��rt|d|d���St|t��r|St |��rt |���St d|�����)Nrr��username�password)�funczInvalid "auth" argument: )r��tupler r �callabler � TypeErrorr�s rCr�zBaseClient._build_auth�s��� �<��4� ��e� $� $� B��d�1�g��Q��@�@�@� @� ��d� #� #� B��K� �d�^�^� B��T�*�*�*� *��@��@�@�A�A� ArEr��#AuthTypes | UseClientDefault | Noner c���t|t��r|jn|�|��}|�|S|jj|jj}}|s|rt||���St��S)Nr) r�rOr�r�r7rrr r )rpr�r�rrs rC�_build_request_authzBaseClient._build_request_auth�s~�� %�T�+;�<�<� X�D�J�J�$�BR�BR�SW�BX�BX� � � ��K�$�[�1�7�;�3G�(�� � C�x� C��h��B�B�B� B��v�v� rErerc��|�||��}|�||��}|�|||��}|�||��}t |j��}t ||||||j���S)z� Given a request and a redirect response, return a new request that should be used to effect the redirect. )r�r7r�r�rdr�)�_redirect_method� _redirect_url�_redirect_headers�_redirect_streamrr�rr�)rpr�rer�r7r�rdr�s rC�_build_redirect_requestz"BaseClient._build_redirect_request�s��� �&�&�w��9�9��� � ��(�3�3���(�(��#�v�>�>���&�&�w��7�7���$�,�'�'���������)�  � � � rEc���|j}|jtjkr|dkrd}|jtjkr|dkrd}|jtjkr|dkrd}|S)z� When being redirected we may want to change the method of the request based on certain specs or browser behavior. �HEAD�GET�POST)r�� status_coder� SEE_OTHER�FOUND�MOVED_PERMANENTLY)rpr�rer�s rCrzBaseClient._redirect_method�st�� ��� � �5�?� 2� 2�v��7G�7G��F� � �5�;� .� .�6�V�3C�3C��F� � �5�#:� :� :�v��?O�?O��F�� rEc��|jd} t|��}n(#t$r}td|�d�|���d�d}~wwxYw|jr'|js |�|jj���}|jr|j� |��}|jj r'|j s |�|jj ���}|S)z< Return the URL for the redirect to follow. �Locationz Invalid URL in location header: �.�r�N)r@)�fragment) r�r-rrrAr@r�r7r��joinr )rpr�rer8r7�excs rCrzBaseClient._redirect_urls����#�J�/�� ��h�-�-�C�C��� � � �%�9�3�9�9�9�7����� ����� ���� �:� 7�c�h� 7��-�-�W�[�%5�-�6�6�C� � � (��+�"�"�3�'�'�C� �;� � ?�� � ?��-�-���)=�-�>�>�C�� s�� A�?�Ac��t|j��}t||j��sHt |j|��s|�dd��|j�d��|d<||jkr2|dkr,|�dd��|�dd��|�dd��|S) zR Return the headers that should be used for the redirect request. � AuthorizationNr��HostrzContent-LengthzTransfer-Encoding�Cookie) rr�rMr7rD�pop�netloc�decoder�)rpr�r7r�r�s rCrzBaseClient._redirect_headers"s����'�/�*�*���C���-�-� 9�%�g�k�3�7�7� 3�� � �O�T�2�2�2�"�j�/�/��8�8�G�F�O� �W�^� #� #��%��� �K�K�(�$� /� /� /� �K�K�+�T� 2� 2� 2� � � �H�d�#�#�#��rE�'SyncByteStream | AsyncByteStream | Nonec�6�||jkr|dkrdS|jS)zO Return the body that should be used for the redirect request. rN)r�rd)rpr�r�s rCrzBaseClient._redirect_stream=s&�� �W�^� #� #��%����4��~�rEc���d|jvrct|jt��r|jnt |j��}t di|j�d|���i��|_dSdS)Nr�rT)r�r�r�rOrr�r�)rpr�r�s rC� _set_timeoutzBaseClient._set_timeoutHs}�� �G�.� .� .��d�l�,<�=�=�+�� � ��T�\�*�*� � "&�!V�!V��(:�!V�!V�G�O�O�DU�DU�!V�!V�!V�G� � � � /� .rE)r�r�r�r�r�r�r�r�r�r,r�r:r�r�r�r�r�r�r�r:r�r�r9rh)r9r:)r7r-r9r-)r�r�r�r:r9r�)r9r)r�r,r9rh)r9r�)r�r�r9rh)r9r�)r�r!r9rh)r9r-)r7r�r9rh)r9r)r�r$r9rh)r9r)r�r#r9rh)r9r.)r�r&r9rh)r�r�r7r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r9r)r7r�r9r-rj)r�r�r9r�)r�r�r9r�)r�r�r9r�)r�r�r9r�)r�rr�r r9r )r�rrerr9r)r�rrerr9r�)r�rrerr9r-)r�rr7r-r�r�r9r)r�rr�r�r9r*)r�rr9rh)!rPrQrRrr rq�propertyr�r�r�r�r��setterr�r�r�r�r�r�r1r�r�r�r�r�r�r rrrrrr-rTrErCr�r��s�������"&�)-�&*�&*� 6�!&�2�EI� ��@G� +� +� +� +� +� +�D�1�1�1��X�1� �����X��;�;�;�;� %� %� %� %������X�� �^�)�)�)��^�)��!�!�!��X�!��� � � ��� � �����X�� �[�,�,�,��[�,������X�� �_�@�@�@��_�@������X��  �^� '� '� '��^� '������X��  �^�)�)�)��^�)������X��  �]�+�+�+��]�+�*.�#'�%)�"&�)-�&*�&*�3E�/3�1 �1 �1 �1 �1 �1 �f����, � � � � ������04� � � � � � B� B� B� B�5G������$ � � � �&����.����:����6 � � � �W�W�W�W�W�WrEr�c����eZdZdZdddddddddddedeeddddd�dh�fd-�Zdddddedfdid/�Zdddddefdjd1�Z dkd4�Z ddddddde e e dd5� dldF�Z e ddddddde e e dd5� dmdH���Zde e dI�dndM�ZdodQ�ZdpdR�ZdqdS�Zddde e e ddT�drdU�Zddde e e ddT�dsdW�Zddde e e ddT�dsdX�Zddddddde e e dd5� dtdY�Zddddddde e e dd5� dtdZ�Zddddddde e e dd5� dtd[�Zddde e e ddT�dsd\�Zdud]�Zdvd`�Z dwdxdg�Z�xZS)yr3av An HTTP client, with connection pooling, HTTP/2, redirects, cookie persistence, etc. It can be shared between threads. Usage: ```python >>> client = httpx.Client() >>> response = client.get('https://example.org') ``` **Parameters:** * **auth** - *(optional)* An authentication class to use when sending requests. * **params** - *(optional)* Query parameters to include in request URLs, as a string, dictionary, or sequence of two-tuples. * **headers** - *(optional)* Dictionary of HTTP headers to include when sending requests. * **cookies** - *(optional)* Dictionary of Cookie items to include when sending requests. * **verify** - *(optional)* Either `True` to use an SSL context with the default CA bundle, `False` to disable verification, or an instance of `ssl.SSLContext` to use a custom context. * **http2** - *(optional)* A boolean indicating if HTTP/2 support should be enabled. Defaults to `False`. * **proxy** - *(optional)* A proxy URL where all the traffic should be routed. * **timeout** - *(optional)* The timeout configuration to use when sending requests. * **limits** - *(optional)* The limits configuration to use. * **max_redirects** - *(optional)* The maximum number of redirect responses that should be followed. * **base_url** - *(optional)* A URL to use as the base when building request URLs. * **transport** - *(optional)* A transport class to use for sending requests over the network. * **trust_env** - *(optional)* Enables or disables usage of environment variables for configuration. * **default_encoding** - *(optional)* The default encoding to use for decoding response text, if no charset information is included in a response Content-Type header. Set to a callable for automatic character set detection. Default: "utf-8". NTFr�r�)r�r�r�r��verify�certr��http1�http2r��mountsr�r��limitsr�r�r�� transportr�r�r�r�r�r�r�r�r�r1�ssl.SSLContext | str | boolr2�CertTypes | Noner�r:r3r4r�r�r5�0None | typing.Mapping[str, BaseTransport | None]r�r,r�r6rr�r�r�r�r�r�r7�BaseTransport | Noner�r�r9rhc �j������� ��t���||||| | |||�|�� � � r$ ddl}n#t$rtd��d�wxYw�o|du}��| |��}������� �|����_��� ����fd�|���D���_| �6�j� d�| ���D����tt�j��������_dS)Nr�r�uUsing http2=True, but the 'h2' package is not installed. Make sure to install httpx using `pip install httpx[http2]`.�r1r2r�r3r4r6r7c �r��i|]3\}}t|��|�dn��|� ����������4S�N)r1r2r�r3r4r6�r/�_init_proxy_transport� rXrYr�r2r3r4r6rpr�r1s �������rCr�z#Client.__init__.<locals>.<dictcomp>�st��� @ � @ � @ ���U� �s�O�O��}�"�T��+�+����#����,��� @ � @ � @ rEc�4�i|]\}}t|��|��SrT�r/�rXrYr7s rCr�z#Client.__init__.<locals>.<dictcomp>��$��Q�Q�Q���Y��C���)�Q�Q�QrE� �superrq�h2� ImportErrorr��_init_transport� _transportr��_mountsr�r��sorted)rpr�r�r�r�r1r2r�r3r4r�r5r�r�r6r�r�r�r7r�rJr�� proxy_map� __class__s` ````` ` �rCrqzClient.__init__s�����������. ����������-�'�#���-� � � � � � � �� � � � ��� � � �!�S����� ���� &�;�)�t�*;���'�'��/@�A�A� ��.�.��������/� � ��� @ � @ � @ � @ � @ � @ � @ � @ � @ � @ �(�o�o�/�/� @ � @ � @ �� � � � �L� � �Q�Q�&�,�,�.�.�Q�Q�Q� � � ��F�4�<�#5�#5�#7�#7�8�8�9�9�� � � � �=�Arc�4�|�|St||||||���Sr@�r�rpr1r2r�r3r4r6r7s rCrLzClient._init_transport�s9�� � �� ��������  � � � rErc �.�t|||||||���S�N)r1r2r�r3r4r6r�rT�rpr�r1r2r�r3r4r6s rCrBzClient._init_proxy_transport�s0���������� � � � rEr7r-c��|j���D]'\}}|�|��r |�|jn|cS�(|jS�z� Returns the transport instance that should be used for a given URL. This will either be the standard connection pool, or a proxy. �rNr��matchesrM�rpr7�patternr7s rC�_transport_for_urlzClient._transport_for_url��d�� #'�,�"4�"4�"6�"6� K� K� �G�Y����s�#�#� K�*3�*;�t����J�J�J� K���rE� r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r �bool | UseClientDefaultr�r�r�rc ��| �d}tj|td���|�||||||||| | | �� � }|�|| | ���S)a� Build and send a request. Equivalent to: ```python request = client.build_request(...) response = client.send(request, ...) ``` See `Client.build_request()`, `Client.send()` and [Merging of configuration][0] for how the various parameters are merged with client-level configuration. [0]: /advanced/clients/#merging-of-configuration N��Setting per-request cookies=<...> is being deprecated, because the expected behaviour on cookie persistence is ambiguous. Set cookies directly on the client instance instead.r]�� stacklevel� r�r7r�r�r�r�r�r�r�r�r��r�r���warnings�warn�DeprecationWarningr��send�rpr�r7r�r�r�r�r�r�r�r�r�r�r��messager�s rCr�zClient.requests���B � �C� � �M�'�#5�!� D� D� D� D��$�$�����������!�%�  �  ���y�y��t�>N�y�O�O�OrE�typing.Iterator[Response]c #��K�|�||||||||| | | �� � }|�|| | d���} |V�|���dS#|���wxYw�a  Alternative to `httpx.request()` that streams the response body instead of loading it into memory at once. **Parameters**: See `httpx.request`. See also: [Streaming Responses][0] [0]: /quickstart#streaming-responses rgT)r�r�r�rdN)r�rmr��rpr�r7r�r�r�r�r�r�r�r�r�r�r�r�res rCrdz Client.stream;s�����8�$�$�����������!�%�  �  ���9�9���-�� � � ��  ��N�N�N� �N�N� � � � � ��H�N�N� � � � ���s �A�A-�rdr�r�r�rrdc��|jtjkrtd���tj|_t |t ��r|jn|}|�|��|� ||��}|� |||g���} |s|� ��|S#t$r}|� ��|�d}~wwxYw)a� Send a request. The request is sent as-is, unmodified. Typically you'll want to build one with `Client.build_request()` so that any client-level configuration is merged into the request, but passing an explicit `httpx.Request()` is supported as well. See also: [Request instances][0] [0]: /advanced/clients/#request-instances �5Cannot send a request, as the client has been closed.�r�r��historyN)r�r\ra� RuntimeErrorr`r�rOr�r-r �_send_handling_auth�read� BaseExceptionr��rpr�rdr�r�rer"s rCrmz Client.sendos���* �;�+�,� ,� ,��V�W�W� W�!�(�� ��*�,<�=�=� "�D� !� !�!� � ���'�"�"�"��'�'���6�6���+�+� ��-�� ,� � ��  �� �� � �����O��� � � � �N�N� � � ��I����� ���s�B1�1 C�;C�Cr rx�list[Response]c���|�|��} t|��} |�|||���} |�|��}n&#t$r|cY|���SwxYwt |��|_|���|}|� |��n(#t$r}|���|�d}~wwxYw��#|���wxYw�NT)r�rx) �sync_auth_flow�next�_send_handling_redirectsrm� StopIterationr�r�rxr{�appendr|� rpr�r�r�rx� auth_flowre� next_requestr"s rCrzzClient._send_handling_auth�s,���'�'��0�0� � ��9�o�o�G� ��8�8��%5�#�9���� �(�'0�~�~�h�'?�'?� � ��(�(�(�(�'��� �O�O� � � � �(����(,�G�}�}�H�$��M�M�O�O�O�*�G��N�N�8�,�,�,�,��$�����N�N�$�$�$��I���������# ��* �O�O� � � � ���sN�(C&�A�B=� A:�#B=�9A:�:AB=�<C&�= C"�C�C"�"C&�&C<c��� t|��|jkrtd|����|jdD] }||���|�|��} |jdD] }||���t |��|_|js|S|�||��}||gz}|r|� ��n ||_ |Sn(#t$r}|� ��|�d}~wwxYw���NTz#Exceeded maximum allowed redirects.rr�re) �lenr�rr��_send_single_requestr�rx�has_redirect_locationrr{r�r|r��rpr�r�rx�hookrer"s rCr�zClient._send_handling_redirects�s@��  ��7�|�|�d�0�0�0�&�9�7������)�)�4� � ����W� � � � ��0�0��9�9�H� � �-�j�9�#�#�D��D��N�N�N�N�#'��=�=�� ��5�$�#�O��6�6�w��I�I��!�X�J�.��#�$��M�M�O�O�O�O�,3�H�)�#�O�$�� !� � � ���� � � �� ����� ����7 s�7C�;C� C6�C1�1C6c�f�|�|j��}tj��}t |jt ��std���t|���5|� |��}ddd��n #1swxYwYt |jt ��sJ�||_ t|j||���|_|j � |��|j|_t �d|j|j|j|j|j��|S)�L Sends a single request, without handling any redirections. z?Attempted to send an async request with a sync Client instance.rN�rerf�HTTP Request: %s %s "%s %d %s")r_r7r|r}r�rdr+ryr�handle_requestr�rcr��extract_cookiesr�r��logger�infor�� http_versionr� reason_phrase�rpr�r7rfres rCr�zClient._send_single_request�sk���+�+�G�K�8�8� ��!�#�#���'�.�.�9�9� ��Q��� ��W� -� -� -� 9� 9� �/�/��8�8�H� 9� 9� 9� 9� 9� 9� 9� 9� 9� 9� 9���� 9� 9� 9� 9��(�/�>�:�:�:�:�:�"���)� �O�h�e� � � ��� � �$�$�X�.�.�.�$(�$:��!�� � � ,� �N� �K� � !� � � � "�  � � ��s�'B � B �B �r�r�r�r�r�r�r�c �>�|�d||||||||�� � S)�U Send a `GET` request. **Parameters**: See `httpx.request`. rr�r� rpr7r�r�r�r�r�r�r�s rCrIz Client.get s:��"�|�|� � �����-��!��  �  � rE�AuthTypes | UseClientDefaultc �>�|�d||||||||�� � S)�Z Send an `OPTIONS` request. **Parameters**: See `httpx.request`. �OPTIONSr�rr�s rC�optionszClient.options)s:��"�|�|� � �����-��!��  �  � rEc �>�|�d||||||||�� � S)�V Send a `HEAD` request. **Parameters**: See `httpx.request`. rr�rr�s rC�headz Client.headFs:��"�|�|� � �����-��!��  �  � rEc �F�|�d||||||||| | | | �� � S)�V Send a `POST` request. **Parameters**: See `httpx.request`. rrar� rpr7r�r�r�r�r�r�r�r�r�r�r�s rC�postz Client.postcsF��*�|�|� � ���������-��!�� � � rEc �F�|�d||||||||| | | | �� � S)�U Send a `PUT` request. **Parameters**: See `httpx.request`. �PUTrarr�s rC�putz Client.put�sF��*�|�|� � ���������-��!�� � � rEc �F�|�d||||||||| | | | �� � S)�W Send a `PATCH` request. **Parameters**: See `httpx.request`. �PATCHrarr�s rC�patchz Client.patch�sF��*�|�|� � ���������-��!�� � � rEc �>�|�d||||||||�� � S)�X Send a `DELETE` request. **Parameters**: See `httpx.request`. �DELETEr�rr�s rC�deletez Client.delete�s:��"�|�|� � �����-��!��  �  � rEc���|jtjkr\tj|_|j���|j���D]}|�|����dSdS�z. Close transport and proxies. N)r�r\rarMr�rN�values)rpr7s rCr�z Client.close�sx�� �;�+�,� ,� ,�%�,�D�K� �O� !� !� #� #� #�!�\�0�0�2�2� &� &� ��(��O�O�%�%�%�� -� ,� &� &rErpr4c�P�|jtjkr4tjdtjdi|j}t |���tj|_|j���|j� ��D]}|�|����|S�Nz-Cannot open a client instance more than once.z9Cannot reopen a client instance, once it has been closed.) r�r\r_r`raryrM� __enter__rNr�)rp�msgr7s rCr�zClient.__enter__�s��� �;�+�.� .� .��"�$S��"�O�� �k� �C� �s�#�#� #�!�(�� � ��!�!�#�#�#���,�,�.�.� &� &�I��$��#�#�%�%�%��� rE�exc_type�type[BaseException] | None� exc_value�BaseException | None� traceback�TracebackType | Nonec���tj|_|j�|||��|j���D]}|�|�|||���dSrj)r\rar�rM�__exit__rNr�)rpr�r�r�r7s rCr�zClient.__exit__ sr�� "�(�� � �� � ��9�i�@�@�@���,�,�.�.� C� C�I��$��"�"�8�Y� �B�B�B�� C� CrE)(r�r�r�r�r�r�r�r�r1r8r2r9r�r:r3r:r4r:r�r�r5r:r�r,r�r:r6rr�r�r�r�r�r�r7r;r�r�r9rh)r1r8r2r9r�r:r3r:r4r:r6rr7r;r9r)r�rr1r8r2r9r�r:r3r:r4r:r6rr9r)r7r-r9r�r�r�r7r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r r�rbr�r�r�r�r9r)r�r�r7r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r r�rbr�r�r�r�r9rp� r�rrdr:r�r r�rbr9r� r�rr�r r�r:rxr~r9r�r�rr�r:rxr~r9r�r�rr9r�r7r�r�r�r�r�r�r�r�r r�rbr�r�r�r�r9r�r7r�r�r�r�r�r�r�r�r�r�rbr�r�r�r�r9r�r7r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rbr�r�r�r�r9rr�)rpr4r9r4�NNN�r�r�r�r�r�r�r9rh)rPrQrRrSrr r rqrLrBr_r1r�rrdrmrzr�r�rIr�r�r�r�r�r�r�r�r�� __classcell__�rQs@rCr3r3Rs��������*�*�^"&�)-�&*�&*�.2�!%����#'�EI� 6�!&�'�2�EI� �*.�@G�+M:�M:�M:�M:�M:�M:�M:�M:�b/3�!%����'�*.� � � � � �2/3�!%����'� � � � � �( � � � � *.�#'�%)�"&�)-�&*�&*�4F�4F�3E�/3�6P�6P�6P�6P�6P�6P�p� *.�#'�%)�"&�)-�&*�&*�4F�4F�3E�/3�1�1�1�1�1��^�1�n�4F�4F� 1�1�1�1�1�1�f � � � �D#�#�#�#�J!�!�!�!�N*.�&*�&*�4F�4F�3E�/3� � � � � � �B*.�&*�&*�-?�4F�3E�/3� � � � � � �B*.�&*�&*�-?�4F�3E�/3� � � � � � �B*.�#'�%)�"&�)-�&*�&*�-?�4F�3E�/3�# �# �# �# �# �# �R*.�#'�%)�"&�)-�&*�&*�-?�4F�3E�/3�# �# �# �# �# �# �R*.�#'�%)�"&�)-�&*�&*�-?�4F�3E�/3�# �# �# �# �# �# �R*.�&*�&*�-?�4F�3E�/3� � � � � � �: &� &� &� &�����(04�*.�*.� C� C� C� C� C� C� C� C� CrEc����eZdZdZddddddddddedeedddddd�dh�fd-�Zdddddedfdid/�Zdddddefdjd1�Z dkd4�Z ddddddde e e dd5� dldF�Z e ddddddde e e dd5� dmdH���Zde e dI�dndM�ZdodQ�ZdpdR�ZdqdS�Zddde e e ddT�drdU�Zddde e e ddT�dsdW�Zddde e e ddT�dsdX�Zddddddde e e dd5� dtdY�Zddddddde e e dd5� dtdZ�Zddddddde e e dd5� dtd[�Zddde e e ddT�dsd\�Zdud]�Zdvd`�Z dwdxdg�Z�xZS)yr2a� An asynchronous HTTP client, with connection pooling, HTTP/2, redirects, cookie persistence, etc. It can be shared between tasks. Usage: ```python >>> async with httpx.AsyncClient() as client: >>> response = await client.get('https://example.org') ``` **Parameters:** * **auth** - *(optional)* An authentication class to use when sending requests. * **params** - *(optional)* Query parameters to include in request URLs, as a string, dictionary, or sequence of two-tuples. * **headers** - *(optional)* Dictionary of HTTP headers to include when sending requests. * **cookies** - *(optional)* Dictionary of Cookie items to include when sending requests. * **verify** - *(optional)* Either `True` to use an SSL context with the default CA bundle, `False` to disable verification, or an instance of `ssl.SSLContext` to use a custom context. * **http2** - *(optional)* A boolean indicating if HTTP/2 support should be enabled. Defaults to `False`. * **proxy** - *(optional)* A proxy URL where all the traffic should be routed. * **timeout** - *(optional)* The timeout configuration to use when sending requests. * **limits** - *(optional)* The limits configuration to use. * **max_redirects** - *(optional)* The maximum number of redirect responses that should be followed. * **base_url** - *(optional)* A URL to use as the base when building request URLs. * **transport** - *(optional)* A transport class to use for sending requests over the network. * **trust_env** - *(optional)* Enables or disables usage of environment variables for configuration. * **default_encoding** - *(optional)* The default encoding to use for decoding response text, if no charset information is included in a response Content-Type header. Set to a callable for automatic character set detection. Default: "utf-8". NTFr�r�)r�r�r�r�r1r2r3r4r�r5r�r�r6r�r�r�r7r�r�r�r�r�r�r�r�r�r�r1r8r2r9r3r:r4r�r�r5�5None | typing.Mapping[str, AsyncBaseTransport | None]r�r,r�r6rr�r�r�r�r�r�r7�AsyncBaseTransport | Noner�r�r�r9rhc �j������� ��t���||||| | |||�|�� � �r$ ddl}n#t$rtd��d�wxYw�o|du}��| |��}�������� |����_���� ���fd�|���D���_| �6�j� d�| ���D����tt�j��������_dS)Nr�rr=r>c �r��i|]3\}}t|��|�dn��|� ����������4Sr@rArCs �������rCr�z(AsyncClient.__init__.<locals>.<dictcomp>�st��� E � E � E ���U� �s�O�O��}�"�T��+�+����#����,��� E � E � E rEc�4�i|]\}}t|��|��SrTrErFs rCr�z(AsyncClient.__init__.<locals>.<dictcomp>�rGrErH)rpr�r�r�r�r1r2r3r4r�r5r�r�r6r�r�r�r7r�r�rJr�rPrQs` ```` ` ` �rCrqzAsyncClient.__init__Is�����������. ����������-�'�#���-� � � � � � � �� � � � ��� � � �!�S����� ���� &�;�)�t�*;���'�'��/@�A�A� ��.�.��������/� � ��� E � E � E � E � E � E � E � E � E � E �(�o�o�/�/� E � E � E �� � � � �L� � �Q�Q�&�,�,�.�.�Q�Q�Q� � � ��F�4�<�#5�#5�#7�#7�8�8�9�9�� � � rRrc�4�|�|St||||||���Sr@�rrUs rCrLzAsyncClient._init_transport�s9�� � �� �!�������  � � � rErc �.�t|||||||���SrWr�rXs rCrBz!AsyncClient._init_proxy_transport�s0��"�������� � � � rEr7r-c��|j���D]'\}}|�|��r |�|jn|cS�(|jSrZr[r]s rCr_zAsyncClient._transport_for_url�r`rErar�r�r�r�r�r�r�r�r�r�r rbr�r�r�rc ���K�| �d}tj|td���|�||||||||| | | �� � }|�|| | ����d{V��S)a� Build and send a request. Equivalent to: ```python request = client.build_request(...) response = await client.send(request, ...) ``` See `AsyncClient.build_request()`, `AsyncClient.send()` and [Merging of configuration][0] for how the various parameters are merged with client-level configuration. [0]: /advanced/clients/#merging-of-configuration Nrdr]rergrhrirns rCr�zAsyncClient.request�s�����D � �C� � �M�'�#5�!� D� D� D� D��$�$�����������!�%�  �  ���Y�Y�w�T�DT�Y�U�U�U�U�U�U�U�U�UrE�typing.AsyncIterator[Response]c �K�|�||||||||| | | �� � }|�|| | d����d{V��} |WV�|����d{V��dS#|����d{V��wxYwrr)r�rmr�rss rCrdzAsyncClient.streams�����8�$�$�����������!�%�  �  �������-�� #� � � � � � � � ��  $��N�N�N�N��/�/�#�#� #� #� #� #� #� #� #� #� #��(�/�/�#�#� #� #� #� #� #� #� #� #���s �A$�$Brtr�rrdc���K�|jtjkrtd���tj|_t |t ��r|jn|}|�|��|� ||��}|� |||g����d{V��} |s|� ���d{V��|S#t$r!}|� ���d{V��|�d}~wwxYw)a� Send a request. The request is sent as-is, unmodified. Typically you'll want to build one with `AsyncClient.build_request()` so that any client-level configuration is merged into the request, but passing an explicit `httpx.Request()` is supported as well. See also: [Request instances][0] [0]: /advanced/clients/#request-instances rvrwN)r�r\raryr`r�rOr�r-r rz�areadr|r�r}s rCrmzAsyncClient.send:s@����* �;�+�,� ,� ,��V�W�W� W�!�(�� ��*�,<�=�=� "�D� !� !�!� � ���'�"�"�"��'�'���6�6���1�1� ��-�� 2� � � � � � � � ��  �� '��n�n�&�&�&�&�&�&�&�&�&��O��� � � ��/�/�#�#� #� #� #� #� #� #� #��I����� ���s�!B?�? C*� C%�%C*r rxr~c��`K�|�|��} |����d{V��} |�|||����d{V��} |�|���d{V��}n,#t$r|cY|����d{V��SwxYwt |��|_|����d{V��|}|� |��n.#t$r!}|����d{V��|�d}~wwxYw��#|����d{V��wxYwr�) �async_auth_flow� __anext__r��asend�StopAsyncIterationr�r�rxr�r�r|r�s rCrzzAsyncClient._send_handling_authms������(�(��1�1� � %�%�/�/�1�1�1�1�1�1�1�1�G� �!%�!>�!>��%5�#�"?�"�"�������� �(�-6�_�_�X�-F�-F�'F�'F�'F�'F�'F�'F� � ��-�(�(�(�'����"�"�$�$� $� $� $� $� $� $� $� $�(����(,�G�}�}�H�$�"�.�.�*�*�*�*�*�*�*�*�*�*�G��N�N�8�,�,�,�,��$����"�/�/�+�+�+�+�+�+�+�+�+��I���������# ��*�"�"�$�$� $� $� $� $� $� $� $� $���sN�9D�A0�/C"�0 B�<C"�B�AC"�!D�" D �,D�D � D�D-c��6K� t|��|jkrtd|����|jdD]}||���d{V���|�|���d{V��} |jdD]}||���d{V���t |��|_|js|S|�||��}||gz}|r|� ���d{V��n ||_ |Sn.#t$r!}|� ���d{V��|�d}~wwxYw��r�) r�r�rr�r�r�rxr�rr�r�r|r�r�s rCr�z$AsyncClient._send_handling_redirects�s�����  ��7�|�|�d�0�0�0�&�9�7������)�)�4� $� $���d�7�m�m�#�#�#�#�#�#�#�#�!�6�6�w�?�?�?�?�?�?�?�?�H� � �-�j�9�)�)�D��$�x�.�.�(�(�(�(�(�(�(�(�#'��=�=�� ��5�$�#�O��6�6�w��I�I��!�X�J�.��#�$�"�.�.�*�*�*�*�*�*�*�*�*�*�,3�H�)�#�O�+�� !� � � ��o�o�'�'�'�'�'�'�'�'�'�� ����� ����9 s�*=C+�(AC+�+ D�5D�Dc��vK�|�|j��}tj��}t |jt ��std���t|���5|� |���d{V��}ddd��n #1swxYwYt |jt ��sJ�||_ t|j||���|_|j � |��|j|_t �d|j|j|j|j|j��|S)r�z?Attempted to send an sync request with an AsyncClient instance.rNr�r�)r_r7r|r}r�rdr ryr�handle_async_requestr�r�r�r�r�r�r�r�r�r�rr�r�s rCr�z AsyncClient._send_single_request�s������+�+�G�K�8�8� ��!�#�#���'�.�/�:�:� ��Q��� ��W� -� -� -� E� E�&�;�;�G�D�D�D�D�D�D�D�D�H� E� E� E� E� E� E� E� E� E� E� E���� E� E� E� E��(�/�?�;�;�;�;�;�"���*� �O�h�e� � � ��� � �$�$�X�.�.�.�$(�$:��!�� � � ,� �N� �K� � !� � � � "�  � � ��s�)B�B�Br�c ��NK�|�d||||||||�� � �d{V��S)r�rr�Nrr�s rCrIzAsyncClient.get�s\����"�\�\� � �����-��!�"�  �  �  �  �  �  �  �  � rEr�c ��NK�|�d||||||||�� � �d{V��S)r�r�r�Nrr�s rCr�zAsyncClient.options�s\����"�\�\� � �����-��!�"�  �  �  �  �  �  �  �  � rEc ��NK�|�d||||||||�� � �d{V��S)r�rr�Nrr�s rCr�zAsyncClient.heads\����"�\�\� � �����-��!�"�  �  �  �  �  �  �  �  � rEc ��VK�|�d||||||||| | | | �� � �d{V��S)r�rraNrr�s rCr�zAsyncClient.post.sh����*�\�\� � ���������-��!�"� � � � � � � � � rEc ��VK�|�d||||||||| | | | �� � �d{V��S)r�r�raNrr�s rCr�zAsyncClient.putSsh����*�\�\� � ���������-��!�"� � � � � � � � � rEc ��VK�|�d||||||||| | | | �� � �d{V��S)r�r�raNrr�s rCr�zAsyncClient.patchxsh����*�\�\� � ���������-��!�"� � � � � � � � � rEc ��NK�|�d||||||||�� � �d{V��S)r�r�r�Nrr�s rCr�zAsyncClient.delete�s\����"�\�\� � �����-��!�"�  �  �  �  �  �  �  �  � rEc��K�|jtjkrhtj|_|j����d{V��|j���D] }|�|����d{V���dSdSr�)r�r\rarMr�rNr�)rpr�s rCr�zAsyncClient.aclose�s����� �;�+�,� ,� ,�%�,�D�K��/�(�(�*�*� *� *� *� *� *� *� *���,�,�.�.� )� )���$��,�,�.�.�(�(�(�(�(�(�(�� -� ,� )� )rErpr6c��lK�|jtjkr4tjdtjdi|j}t |���tj|_|j����d{V��|j� ��D]}|�|����d{V���|Sr�) r�r\r_r`raryrM� __aenter__rNr�)rpr�r�s rCr�zAsyncClient.__aenter__�s����� �;�+�.� .� .��"�$S��"�O�� �k� �C� �s�#�#� #�!�(�� ��o�(�(�*�*�*�*�*�*�*�*�*��\�(�(�*�*� )� )�E�� ��&�&�(�(�(�(�(�(�(�(�(��� rEr�r�r�r�r�r�c���K�tj|_|j�|||���d{V��|j���D]!}|�|�|||���d{V���"dSrj)r\rar�rM� __aexit__rNr�)rpr�r�r�r�s rCr�zAsyncClient.__aexit__�s����� "�(�� ��o�'�'��)�Y�G�G�G�G�G�G�G�G�G��\�(�(�*�*� F� F�E�� ��o�o�h� �9�E�E�E�E�E�E�E�E�E�� F� FrE)(r�r�r�r�r�r�r�r�r1r8r2r9r3r:r4r:r�r�r5r�r�r,r�r:r6rr�r�r�r�r�r�r7r�r�r:r�r�r9rh)r1r8r2r9r�r:r3r:r4r:r6rr7r�r9r)r�rr1r8r2r9r�r:r3r:r4r:r6rr9r)r7r-r9rr�)r�r�r7r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r r�rbr�r�r�r�r9r�r�r�r�r�r�r�r�r�)rpr6r9r6r�r�)rPrQrRrSrr r rqrLrBr_r1r�rrdrmrzr�r�rIr�r�r�r�r�r�r�r�r�r�r�s@rCr2r2s��������+�+�`"&�)-�&*�&*�.2�!%���#'�JN� 6�!&�'�2�EI� �/3��@G�+M:�M:�M:�M:�M:�M:�M:�M:�b/3�!%����'�/3� � � � � �2/3�!%����'� � � � � �( � � � � *.�#'�%)�"&�)-�&*�&*�4F�4F�3E�/3�7V�7V�7V�7V�7V�7V�r� *.�#'�%)�"&�)-�&*�&*�4F�4F�3E�/3�1$�1$�1$�1$�1$���1$�n�4F�4F� 1�1�1�1�1�1�f %� %� %� %�D$�$�$�$�L � � � �L*.�&*�&*�4F�4F�3E�/3� � � � � � �B*.�&*�&*�-?�4F�3E�/3� � � � � � �B*.�&*�&*�-?�4F�3E�/3� � � � � � �B*.�#'�%)�"&�)-�&*�&*�-?�4F�3E�/3�# �# �# �# �# �# �R*.�#'�%)�"&�)-�&*�&*�-?�4F�3E�/3�# �# �# �# �# �# �R*.�#'�%)�"&�)-�&*�&*�-?�4F�3E�/3�# �# �# �# �# �# �R*.�&*�&*�-?�4F�3E�/3� � � � � � �: )� )� )� )�����(04�*.�*.� F� F� F� F� F� F� F� F� FrE)r7r-r8r-r9r:)r7r-r9rF)r7r-rKr-r9r:)\� __future__rr~�enum�loggingr|�typingrj� contextlibrr�typesrrr�r r r �_configr r rrrr� _decodersr� _exceptionsrrrr�_modelsrrrr� _status_codesr�_transports.baserr�_transports.defaultrr�_typesr r!r"r#r$r%r&r'r(r)r*r+r,�_urlsr-r.�_utilsr/r0� TYPE_CHECKING�ssl�__all__�TypeVarr4r6rDrBrMrOr1� getLoggerr�r�r!�keysr��Enumr\rcr��Callable�Any� EventHookr�r3r2rTrErC�<module>rs���"�"�"�"�"�"����� � � � ����� � � � � � � � �����:�:�:�:�:�:�:�:�������$�$�$�$�$�$�0�0�0�0�0�0�0�0�0�0�����������������*�)�)�)�)�)������������� 9�8�8�8�8�8�8�8�8�8�8�8� � � � � � �?�?�?�?�?�?�?�?�B�B�B�B�B�B�B�B�������������������������������$�#�#�#�#�#�#�#�7�7�7�7�7�7�7�7� ����J�J�J� 9� 9� 9���F�N�3�h�'�'�'���F�N�3�m�,�,�,�� � � � �6�6�6�6� ������������(&�%�'�'�� �� �7� #� #�� *�[� *� *� ��)�)�C�C�+�&�+�-�-�C�C�C���� � � � � �$�)� � � ������n����.$�$�$�$�$��$�$�$�. �O�C���O� ,� �SW�SW�SW�SW�SW�SW�SW�SW�l F C�F C�F C�F C�F C�Z�F C�F C�F C�RH F�H F�H F�H F�H F�*�H F�H F�H F�H F�H FrE
Memory