
    bf                     l   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
mZmZ d dlmZmZmZ d dlmZmZ d dlmZmZmZmZmZmZmZmZmZmZmZm Z  d dl!Z!d dl"m#Z#m$Z$m%Z%m&Z& d dl'm(Z( dd	l)m*Z*m+Z+m,Z,m-Z-m.Z. dd
l/m0Z0 ddl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 ddl8m9Z9 ddl:m;Z; ddl+m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZE ddl,mFZFmGZGmHZHmIZImJZJ ddlKmLZL ddlMmNZN ddlOmPZPmQZQmRZRmSZSmTZT 	 d dlUZUd dlUmVZV n# eW$ r dZUeXZVY nw xY wdZYerddlZm[Z[ ddl\m]Z] ddl^m_Z_  ej`        d          Za ej`        d          ZbdecfdZd e!je        ddd           G d d                      Zf e!je        ddd           G d  d!                      Zg G d" d#          ZheUeUjV        eieh ejd          fZknei ejd          fZkd$ed%eiehf         d&eei         d'ed%         d(eel         ded%eiehf         f
d)Zm e!je        ddd*           G d+ d,                      Znd-ecd.ecdeifd/Zo G d0 d1          Zp G d2 d3e>          ZqdS )4    N)md5sha1sha256)CookieErrorMorselSimpleCookie)MappingProxyTypeTracebackType)TYPE_CHECKINGAnyCallableDictIterableListMappingOptionalTupleTypeUnioncast)CIMultiDictCIMultiDictProxy	MultiDictMultiDictProxy)URL   )hdrshelpershttp	multipartpayload)AbstractStreamWriter)ClientConnectionErrorClientOSErrorClientResponseErrorContentTypeError
InvalidURLServerFingerprintMismatch
HAS_BROTLI)FormData)
BaseTimerContext	BasicAuthHeadersMixin	TimerNoopbasicauth_from_netrcnetrc_from_envnoopreifyset_exception
set_result)SERVER_SOFTWAREHttpVersionHttpVersion10HttpVersion11StreamWriter)client_logger)StreamReader)DEFAULT_JSON_DECODERJSONDecoderLooseCookiesLooseHeaders
RawHeaders)
SSLContext)ClientRequestClientResponseRequestInfoFingerprint)ClientSession)
Connection)Tracez[^-!#$%&'*+.^_`|~0-9a-zA-Z]z!^application/(?:[\w.+-]+?\+)?jsonreturnc                      t           rdndS )Nzgzip, deflate, brzgzip, deflater)        O/var/www/html/Alfredo/env/lib/python3.11/site-packages/aiohttp/client_reqrep.py_gen_default_accept_encodingrO   ^   s    ",A/ArM   T)auto_attribsfrozenslotsc                   F    e Zd ZU ee         ed<   ded<   ee         ed<   dS )ContentDispositiontypezMappingProxyType[str, str]
parametersfilenameN)__name__
__module____qualname__r   str__annotations__rL   rM   rN   rT   rT   b   s>         
3-,,,,smrM   rT   c                   |    e Zd ZU eed<   eed<   ded<    ej                    Zeed<   ej	        defd            Z
dS )	rE   urlmethodCIMultiDictProxy[str]headersreal_urlrJ   c                     | j         S N)r^   selfs    rN   real_url_defaultzRequestInfo.real_url_defaultp   s	    xrM   N)rX   rY   rZ   r   r\   r[   attribrb   defaultrg   rL   rM   rN   rE   rE   i   su         	HHHKKK$$$$DGIIHc#      rM   rE   c                   `    e Zd ZeeedZdeddfdZe	defd            Z
dej        ddfdZdS )	rF   )          fingerprintrJ   Nc                     t          |          }| j                            |          }|st          d          |t          u s	|t
          u rt          d          || _        || _        d S )Nzfingerprint has invalid lengthz8md5 and sha1 are insecure and not supported. Use sha256.)lenHASHFUNC_BY_DIGESTLENget
ValueErrorr   r   	_hashfunc_fingerprint)rf   ro   	digestlenhashfuncs       rN   __init__zFingerprint.__init__|   s{    $$	-11)<< 	=>>>__D 0 0M   "'rM   c                     | j         S rd   )rv   re   s    rN   ro   zFingerprint.fingerprint         rM   	transportc                 L   |                     d          sd S |                     d          }|                    d          }|                     |                                          }|| j        k    r/|                     d          ^}}}t          | j        |||          d S )N
sslcontext
ssl_objectT)binary_formpeername)get_extra_infogetpeercertru   digestrv   r(   )rf   r|   sslobjcertgothostport_s           rN   checkzFingerprint.check   s    ''55 	F)),77!!d!33nnT""))++$###&55jAAND$+D,=sD$OOO $#rM   )rX   rY   rZ   r   r   r   rr   bytesry   propertyro   asyncio	Transportr   rL   rM   rN   rF   rF   u   s         
(E 
(d 
( 
( 
( 
( !U ! ! ! X!Pw0 PT P P P P P PrM   rF   sslrB   
verify_sslssl_contextro   c                    | d} |3|s1t          j        dt          d           | durt          d          d} |1t          j        dt          d           | durt          d          |} |>t          j        dt          d           | durt          d          t	          |          } t          | t                    s"t          d	                    |                     | S )
NTz/verify_ssl is deprecated, use ssl=False instead   
stacklevelzNverify_ssl, ssl_context, fingerprint and ssl parameters are mutually exclusiveFz2ssl_context is deprecated, use ssl=context insteadzCfingerprint is deprecated, use ssl=Fingerprint(fingerprint) insteadzFssl should be SSLContext, bool, Fingerprint or None, got {!r} instead.)	warningswarnDeprecationWarningrt   rF   
isinstanceSSL_ALLOWED_TYPES	TypeErrorformat)r   r   r   ro   s       rN   _merge_ssl_paramsr      sJ    {j=	
 	
 	
 	

 d??4  
 C@	
 	
 	
 	

 d??4  
 CT	
 	
 	
 	

 d??4  
 k**Cc,-- 
  &s
 
 	
 JrM   )rP   rR   rQ   c                       e Zd ZU eed<   ee         ed<   eed<   ee	ee
f         ed<   ee         ed<   ee         ed<   ee         ed<   dS )	ConnectionKeyr   r   is_sslr   proxy
proxy_authproxy_headers_hashN)rX   rY   rZ   r[   r\   r   intboolr   rB   rF   r   r-   rL   rM   rN   r   r      s          III
3-LLL	z4,	----C=#### %%%%%rM   r   response_content_typeexpected_content_typec                 N    |dk    rt                               |           d uS || v S )Napplication/json)json_rematch)r   r   s     rN   _is_expected_content_typer      s4      222}}2334?? $999rM   c            0       x   e Zd Zej        ej        ej        ej        hZej	        ej
        ej        hZe                    e                              ej        h          Zej        dej         e            iZdZdZdZdZdZdd e            dddej        ddddddddddddddddeded	eeeef                  d
ee          de!e         de"dee#         dee$         dej%        dee         dee&         de&dee'j(                 dee)d                  dee         dee$         dee*         ded         de+e,e&e-f         dee          dee.d                  de&d ee         f.d!Z/dHd"e0d#dfd$Z1e2d#ed%         fd&            Z3e3j4        d'ed%         d#dfd(            Z3d#e&fd)Z5e2d#e+d*e&e-f         fd+            Z6e2d#e7fd,            Z8e2d#efd-            Z9e2d#ee:         fd.            Z;e2d#e<fd/            Z=ded#dfd0Z>de+ej%        ef         d#dfd1Z?d
ee          d#dfd2Z@de!e         d#dfd3ZAdee#         d#dfd4ZBde"d#dfd5ZCdId6ZDdJdee$         de&d#dfd7ZEd8e"d#dfd9ZFdJd:e&d#dfd;ZGdee         dee$         dee          d#dfd<ZHd#e&fd=ZId'eJd>d?d#dfd@ZKdKdAZLdIdBZMdIdCZNdededDeOd#dfdEZPdeded
dFd#dfdGZQdS )LrC   z*/*rM   NFT)paramsra   skip_auto_headersdatacookiesauthversioncompresschunked	expect100loopresponse_classr   r   timersessionr   proxy_headerstraces	trust_envserver_hostnamer_   r^   r   ra   r   r   r   r   r   r   r   r   r   r   rD   r   r   r   r   rG   r   r   r   rI   r   r   c                   |t          j                    }t                              |          }|rt	          d|d          t          |t                    s
J |            t          |t          t          d           f          s
J |            t          d|          | _	        |rXt          |j                  }|                    |          }|                    |j                   |                    |          }|| _        |                    d           | _        |                                | _        || _        |
| _        || _        d | _        |t.          }n|}|| _        ||nt3                      | _        ||nd| _        || _        |                                r+t=          j        tA          j!        d                    | _"        | #                    |	           | $                    |           | %                    |           | &                    |           | '                    |           | (                    |           | )                    ||           | *                    |||           | +                    |           || j        | j,        vr| -                                 | .                    |           |g }|| _/        d S )Nz+Method cannot contain non-token characters z# (found at least {match.group()!r})rG   Tr   )0r   get_event_loop_CONTAINS_CONTROL_CHAR_REsearchrt   r   r   rU   r   _sessionr   query
with_queryextendoriginal_urlwith_fragmentr^   upperr_   r   r   r   lengthrD   r   r/   _timer_sslr   	get_debug	tracebackextract_stacksys	_getframe_source_tracebackupdate_versionupdate_hostupdate_headersupdate_auto_headersupdate_cookiesupdate_content_encodingupdate_authupdate_proxyupdate_body_from_dataGET_METHODSupdate_transfer_encodingupdate_expect_continue_traces)rf   r_   r^   r   ra   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   qurl2real_response_classs                               rN   ry   zClientRequest.__init__  s   6 <)++D)0088 	5f 5 5 5  
 #s##((S(((%#tDzz!233::U::: _g66 	$#)$$A>>&))DHHTZ   ..##C$$T**llnn 	!"0"04G$0eeikk?CC	.>> 	O%.%<S]1=M=M%N%ND"G$$$G$$$  !2333G$$$$$T***y)))%];;;""4(((t{$2BBB))+++##I...>FrM   r   rJ   c                     d | _         d S rd   _ClientRequest__writerrf   r   s     rN   __reset_writerzClientRequest.__reset_writerW      rM   asyncio.Task[None]c                     | j         S rd   r   re   s    rN   _writerzClientRequest._writerZ  
    }rM   writerc                     | j         | j                             | j                   || _         ||                    | j                   d S d S rd   )r   remove_done_callback_ClientRequest__reset_writeradd_done_callbackrf   r   s     rN   r   zClientRequest._writer^  U    =$M..t/BCCC$$T%899999 rM   c                     | j         j        dv S )N)httpswss)r^   schemere   s    rN   r   zClientRequest.is_sslf  s    x"222rM   rB   c                     | j         S rd   )r   re   s    rN   r   zClientRequest.ssli  
    yrM   c           	      
   | j         }|r9t          t          d |                                D                                 }nd }t	          | j        | j        |                                 | j        | j	        | j
        |          S )Nc              3   $   K   | ]\  }}||fV  d S rd   rL   ).0kvs      rN   	<genexpr>z/ClientRequest.connection_key.<locals>.<genexpr>q  s*      )S)STQ1a&)S)S)S)S)S)SrM   )r   hashtupleitemsr   r   r   r   r   r   r   )rf   r   hs      rN   connection_keyzClientRequest.connection_keym  s    * 	#E)S)S]=P=P=R=R)S)S)S$S$STTAAAIIKKMMHJO
 
 	
rM   c                 &    | j         j        }|J |S rd   )r^   raw_host)rf   rets     rN   r   zClientRequest.host~  s    h
rM   c                     | j         j        S rd   )r^   r   re   s    rN   r   zClientRequest.port  s    x}rM   c                 l    t          | j                  }t          | j        | j        || j                  S rd   )r   ra   rE   r^   r_   r   )rf   ra   s     rN   request_infozClientRequest.request_info  s,    )9$,)G)G48T['4;LMMMrM   c                     |j         st          |          |j        |j        }}|rt	          j        ||pd          | _        dS dS )z8Update destination host, port and connection type (ssl). N)r  r'   userpasswordr   r-   r   )rf   r^   usernamer  s       rN   r   zClientRequest.update_host  sZ     | 	"S//! !Xs|( 	D)(HNCCDIII	D 	DrM   c                 :   t          |t                    r~d |                    dd          D             }	 t          j        t          |d                   t          |d                             }n!# t          $ r t          d|           dw xY w|| _        dS )zdConvert request version to two elements tuple.

        parser HTTP version '1.1' => (1, 1)
        c                 6    g | ]}|                                 S rL   )strip)r   parts     rN   
<listcomp>z0ClientRequest.update_version.<locals>.<listcomp>  s     @@@$@@@rM   .r   r   z#Can not parse http version number: N)r   r[   splitr   r7   r   rt   r   )rf   r   r   s      rN   r   zClientRequest.update_version  s    
 gs## 	@@'--Q*?*?@@@A*3qt99c!A$ii@@    C'CC  s   ;A3 3Bc                 x   t                      | _        t          t          | j        j                  }t          j        |          rd| d}|                    d          }| j        j	        8| j        
                                s|dt          | j        j	                  z   z  }|| j        t          j        <   |r|t          |t          t          t           f          r|                                }|D ]E\  }}|                                dk    r|| j        |<   (| j                            ||           DdS dS )zUpdate request headers.[]r  N:r   )r   ra   r   r[   r^   r  r   is_ipv6_addressrstripr   is_default_portr   HOSTr   dictr   r   r  loweradd)rf   ra   netlockeyvalues        rN   r   zClientRequest.update_headers  s,   )4 c48,--"6** 	#"]]]Fs##8=$TX-E-E-G-G$cC....F"(TY 		1'D.)#DEE *!--//% 1 1
U99;;&(((-DL%%L$$S%0000		1 		11 1rM   c                    t          d t          |          D                       | _        | j                                        }|                    | j                   | j                                        D ]$\  }}||vr| j                            ||           %t          j
        |vrt          | j        t          j
        <   d S d S )Nc              3      K   | ]}|d fV  	d S rd   rL   )r   hdrs     rN   r   z4ClientRequest.update_auto_headers.<locals>.<genexpr>  s7       -
 -
S$K-
 -
 -
 -
 -
 -
rM   )r   sortedr   ra   copyr   DEFAULT_HEADERSr  r"  r   
USER_AGENTr6   )rf   r   used_headersr(  vals        rN   r   z!ClientRequest.update_auto_headers  s    !, -
 -
#)*;#<#<-
 -
 -
 "
 "
 |((**D2333,2244 	+ 	+HC,&&  c***?,..,;DL))) /.rM   c                    |sdS t                      }t          j        | j        v rJ|                    | j                            t          j        d                     | j        t          j        = t          |t                    r|                                }n|}|D ]r\  }}t          |t                    rS|                    |j
        t                                }|                    |j
        |j        |j                   |||<   m|||<   s|                    dd                                          | j        t          j        <   dS )zUpdate request cookies header.Nr  ;)headersep)r   r   COOKIEra   loadrs   r   r   r  r   r$  setr%  coded_valueoutputr  )rf   r   citer_cookiesnamer%  mrsl_vals          rN   r   zClientRequest.update_cookies  s     	FNN;$,&&FF4<##DK44555T[)gw'' 	#"==??LL"L' 	  	 KD%%((   99UY99UYU5FGGG"$$$%HHBCH$@$@$F$F$H$HT[!!!rM   c                 D   |dS | j                             t          j        d                                          }|r| j        rt          d          dS | j        rCt          | j        t                    sd| _        | j        | j         t          j        <   d| _	        dS dS )zSet request content encoding.Nr  z9compress can not be set if Content-Encoding header is setdeflateT)
ra   rs   r   CONTENT_ENCODINGr!  r   rt   r   r[   r   )rf   r   encs      rN   r   z%ClientRequest.update_content_encoding  s    <Flt4b99??AA 		 }  R    ] 	 dmS11 * )26-DL./DLLL		  	 rM   c                    | j                             t          j        d                                          }d|v r| j        rt          d          dS | j        r8t          j        | j         v rt          d          d| j         t          j        <   dS t          j        | j         vr5t          t          | j
                            | j         t          j        <   dS dS )z!Analyze transfer-encoding header.r  r   zDchunked can not be set if "Transfer-Encoding: chunked" header is setz6chunked can not be set if Content-Length header is setN)ra   rs   r   TRANSFER_ENCODINGr!  r   rt   CONTENT_LENGTHr[   rq   body)rf   tes     rN   r   z&ClientRequest.update_transfer_encoding  s    \d4b99??AA??|  D    \ 		H"dl22 O   4=DL/000"$,6647DI4G4GT0111 76rM   c                    || j         }|g|re| j        j        Yt                      }t	          j        t                    5  t          || j        j                  }ddd           n# 1 swxY w Y   |dS t          |t          j
                  st          d          |                                | j        t          j        <   dS )zSet basic auth.Nz%BasicAuth() tuple is required instead)r   r^   r   r1   
contextlibsuppressLookupErrorr0   r   r   r-   r   encodera   r   AUTHORIZATION)rf   r   r   	netrc_objs       rN   r   zClientRequest.update_auth  s   <9D<I<$(-*C&((I$[11 F F+Itx}EEF F F F F F F F F F F F F F F<F$ 122 	ECDDD+/;;==T'(((s   A((A,/A,rC  c                 B   |d S t          |t                    r
 |            }	 t          j                            |d           }n,# t          j        $ r  t          |                      }Y nw xY w|| _        | j        sXt          j	        | j
        vrE|j        }|d| _        n4t          j	        | j
        vr!t          |          | j
        t          j	        <   |j
        sJ |j
                                        D ]#\  }}|| j
        v r|| j        v r|| j
        |<   $d S )N)dispositionT)r   r+   r!   PAYLOAD_REGISTRYrs   rH  rC  r   r   rB  ra   sizer[   r  r   )rf   rC  rO  r$  r%  s        rN   r   z#ClientRequest.update_body_from_data  sM   <F dH%% 	466D	$+//$/GGDD" 	$ 	$ 	$!8D>>##DDD	$ 	 | 	F"$,66y<#'DLL*$,>><?IIT%89 | L..00 	& 	&LS%dl""d,,, %DL	& 	&s   !A &A0/A0expectc                     |rd| j         t          j        <   n=| j                             t          j        d                                          dk    rd}|r | j                                        | _        d S d S )Nz100-continuer  T)ra   r   EXPECTrs   r!  r   create_future	_continue)rf   rP  s     rN   r   z$ClientRequest.update_expect_continue@  sv     	(6DL%%\dk2..4466.HHF 	7!Y4466DNNN	7 	7rM   c                     |r)t          |t          j                  st          d          || _        || _        || _        d S )Nz,proxy_auth must be None or BasicAuth() tuple)r   r   r-   rt   r   r   r   )rf   r   r   r   s       rN   r   zClientRequest.update_proxyI  sM      	MjW5FGG 	MKLLL
$*rM   c                     | j         t          k     rdS | j         t          k    r,| j                            t          j                  dk    rdS dS | j                            t          j                  dk    rdS dS )NF
keep-aliveTclose)r   r8   ra   rs   r   
CONNECTIONre   s    rN   
keep_alivezClientRequest.keep_aliveU  so    <-''5<=((|00L@@tu\do..'995trM   connrH   c                   K   | j         ?	 |                                 d{V  | j          d{V  n# t          j        $ r Y dS w xY w|j        }|J 	 t          | j        t          j                  r!| j        	                    |           d{V  nSt          | j        t          t          f          r| j        f| _        | j        D ]}|	                    |           d{V  |                                 d{V  |                                 dS # t          $ ra}|}|j        dupt          |t          j                   }|rt#          |j        d| j                  }t'          |||           Y d}~dS d}~wt          j        $ r |                                 d{V  Y dS t(          $ r,}t'          |t+          d|          |           Y d}~dS d}~ww xY w)z-Support coroutines that yields bytes objects.NzCan not write request body for z4Failed to send bytes into the underlying connection )rT  drainr   CancelledErrorprotocolr   rC  r!   Payloadwriter   	bytearray	write_eofstart_timeoutOSErrorerrnoTimeoutErrorr$   r^   r4   	Exceptionr#   )rf   r   r[  r_  chunkunderlying_excreraised_excexc_is_not_timeouts           rN   write_byteszClientRequest.write_bytesc  s     
 >%llnn$$$$$$$n$$$$$$$$)    =###"	%$)W_55 .ioof----------di%);<< -!%DI!Y . .E ,,u----------2 ""$$$$$$$$$""$$$$$3  	B 	B 	B)L!/!5T!A " 4J J F " ,"(CdhCC   
 (L.AAAAAAAAA% 	% 	% 	%""$$$$$$$$$$$$ 	 	 	%T4TT          	s;   '3 AABD 
G""AE>>,G"-	G"6!GG"c                   K   | j         t          j        k    r<| j        j        }|J t          j        |          rd| d}| d| j        j         }nZ| j        r)| 	                                st          | j                  }n*| j        j        }| j        j        r|d| j        j        z   z  }|j        }|J t          || j        t!          j        | j        | j         | j                  t!          j        | j        | j         | j                            }| j        r|                    | j                   | j        |                                 | j         | j        v r:t          j        | j        vr't          j        | j        vrd| j        t          j        <   | j                            t          j                  }|s9|                                 r| j        t@          k    rd}n| j        tB          k    rd}||| j        t          j        <   d	"                    | j         || j        
          }|#                    || j                   d {V  | j        $                    | %                    ||                    | _&        | j'        }|J  || j         | j(        | j&        | j)        | j*        | j+        | j,        | j        | j-        	  	        | _.        | j.        S )Nr  r  r  ?)on_chunk_senton_headers_sentzapplication/octet-streamrW  rX  z {0} {1} HTTP/{v.major}.{v.minor})r   )r   continue100r   r  r   r   r   )/r_   r   METH_CONNECTr^   r  r   r  r   r   r   r[   raw_pathraw_query_stringr_  r:   r   	functoolspartial_on_chunk_request_sent_on_headers_request_sentr   enable_compressionr   enable_chunkingPOST_METHODSCONTENT_TYPEr   ra   rs   rY  rZ  r   r8   r9   r   write_headerscreate_taskrm  r   r   r   rT  r   r  r   r   response)	rf   r[  connect_hostpathr_  r   
connectionstatus_liner   s	            rN   sendzClientRequest.send  s     
 ;$+++8,L+++&|44 32<222"44TX]44DDZ 	8 	8tx==DD8$Dx( 8dh777=###I#++T[$(  &--t{DH 	
 	
 	
 = 	5%%dm444<#""$$$ K4,,,!)???!55.HDL*+ \%%do66
 	)   )<=00!-J<=00!(J!,6DL) 9??K @ 
 
 "";=========y,,T-=-=fd-K-KLL,)))&K<+*<M

 

 

 }rM   c                    K   | j         Ft          j        t          j                  5  | j          d {V  d d d            d S # 1 swxY w Y   d S d S rd   )r   rF  rG  r   r^  re   s    rN   rX  zClientRequest.close  s      <#$W%;<< # #l"""""""# # # # # # # # # # # # # # # # # # $#s   AA
Ac                     | j         Z| j                                        s| j                                          | j                             | j                   d | _         d S d S rd   )r   r   	is_closedcancelr   r   re   s    rN   	terminatezClientRequest.terminate  s`    <#9&&(( &##%%%L--d.ABBBDLLL	 $#rM   ri  c                 X   K   | j         D ]}|                    |||           d {V   d S rd   )r   send_request_chunk_sent)rf   r_   r^   ri  traces        rN   rx  z$ClientRequest._on_chunk_request_sent  sR      \ 	D 	DE//UCCCCCCCCCC	D 	DrM   zCIMultiDict[str]c                 X   K   | j         D ]}|                    |||           d {V   d S rd   )r   send_request_headers)rf   r_   r^   ra   r  s        rN   ry  z&ClientRequest._on_headers_request_sent  sT       \ 	C 	CE,,VS'BBBBBBBBBB	C 	CrM   rd   rJ   N)F)r[  rH   rJ   rD   )RrX   rY   rZ   r   METH_GET	METH_HEADMETH_OPTIONS
METH_TRACEr   
METH_PATCH	METH_POSTMETH_PUTr|  unionMETH_DELETEALL_METHODSACCEPTACCEPT_ENCODINGrO   r+  rC  r   r  r   rT  	frozensetr   r9   r[   r   r   r   r@   r   r   r?   r-   r7   r   r   AbstractEventLoopr   r,   r   rB   rF   r   ry   objectr   r   r   setterr   r   r   r  r   r   r   rE   r  r   r   r   r   r   r   r   r   r   r   r   rZ  r"   rm  r  rX  r  r   rx  ry  rL   rM   rN   rC   rC      s       	K OT^T]CL##L11779I8JKKK 	U::<<O
 DDHHI /3*.+49;;*.$($($6"&"&48;?#*.,0-14804*.)-3Q Q QQ Q
 c*+Q ,'Q $C=Q Q ,'Q y!Q !Q 3-Q $Q Q w01Q  !&6!78!Q" }#Q$ Y'%Q& ()'Q( /*)Q* :t[01+Q,  --Q. g'/Q0 1Q2 "#3Q Q Q Qf  $     "67    X ^:h';< : : : : ^:3 3 3 3 3 U<{:;    X 
 
 
 
 X
  c    X
 hsm    X Nk N N N XN	Ds 	Dt 	D 	D 	D 	DeD,<c,A&B t    1h|&< 1 1 1 1 12<Xc] <t < < < <Ih|&< I I I I I2 C  D        "H H H H,9 9 3 9 9QU 9 9 9 9  &#  &$  &  &  &  &D7 7T 7d 7 7 7 7
+}
+ Y'
+  -	
+
 

+ 
+ 
+ 
+D    0%*0%2>0%	0% 0% 0% 0%dO O O Ob# # # #
       D3 DS D DSW D D D DCC #C.@C	C C C C C CrM   rC   c                   >   e Zd ZU dZee         ed<   dZeed<   dZ	ee
         ed<   dZeed<   dZee
         ed<   dZeed<   dZdZeej                 ed<   d	Zd
ZdZde
deddded         dededed         dej        ddddfdZdMdeddfdZ e!ded         fd            Z"e"j#        ded         ddfd            Z"e$defd            Z%e$defd            Z&e$defd             Z'e$de
fd!            Z(e$dNd#            Z)e$defd$            Z*e$defd%            Z+e$dee,         fd&            Z-e.fd'e/ddfd(Z0de
fd)Z1e!ded*         fd+            Z2e$de3d,         fd-            Z4e$dOd/            Z5dPd1Z6dQd2Z7e!de8fd3            Z9dQd4Z:de/fd5Z;e!de8fd6            Z<dQd7Z=dQd8Z>dQd9Z?dQd:Z@dQd;ZAdQd<ZBdeCfd=ZDde
fd>ZEdRd@ee
         dAe
de
fdBZFdeGdCdDd@ee
         dEeHdFee
         de/fdGZIdSdHZJdIeeKeL                  dJeeL         dKeeM         ddfdLZNdS )TrD   Nr   statusreasoncontent_headers_raw_headersr   TFr_   r^   r   r   rr  zasyncio.Future[bool]r   r  r   rI   r   r   rG   rJ   c                   t          |t                    sJ || _        t                      | _        || _        |                    d           | _        d | _        || _	        || _
        d| _        d| _        || _        ||nt                      | _        i | _        || _        || _        |	| _        |		d | _        n|	j        | _        |                                r-t-          j        t1          j        d                    | _        d S d S )NTrL   c                      dS )Nutf-8rL   )r   s    rN   <lambda>z)ClientResponse.__init__.<locals>.<lambda>9  s    7 rM   r   )r   r   r_   r   r   	_real_urlr   _url_bodyr   rT  _closed_history_request_infor/   r   _cacher   _loopr   _resolve_charsetr   r   r   r   r   r   )
rf   r_   r^   r   rr  r   r  r   r   r   s
             rN   ry   zClientResponse.__init__  s    #s######~~%%d++	
5;$46)$0eeikk&(
18 ? #" !! %,$<D!>> 	O%.%<S]1=M=M%N%ND"""	O 	OrM   r   c                     d | _         d S rd   _ClientResponse__writerr   s     rN   r   zClientResponse.__reset_writer?  r   rM   c                     | j         S rd   r  re   s    rN   r   zClientResponse._writerB  r   rM   c                     | j         | j                             | j                   || _         ||                    | j                   d S d S rd   )r  r   _ClientResponse__reset_writerr   r   s     rN   r   zClientResponse._writerF  r   rM   c                     | j         S rd   )r  re   s    rN   r^   zClientResponse.urlN  r   rM   c                 H    t          j        dt          d           | j        S )NzDeprecated, use .url #1654   r   )r   r   r   r  re   s    rN   url_objzClientResponse.url_objR  s$    24FSTUUUUyrM   c                     | j         S rd   )r  re   s    rN   rb   zClientResponse.real_urlW  s
    ~rM   c                 6    | j         j        J | j         j        S rd   )r  r   re   s    rN   r   zClientResponse.host[  s    y~)))y~rM   r`   c                     | j         S rd   )r  re   s    rN   ra   zClientResponse.headers`  r   rM   c                     | j         S rd   )r  re   s    rN   raw_headerszClientResponse.raw_headersd  r{   rM   c                     | j         S rd   )r  re   s    rN   r  zClientResponse.request_infoh  s    !!rM   c                     | j                             t          j                  }|d S t	          j        |          \  }}t          |          }t	          j        |          }t          |||          S rd   )	r  rs   r   CONTENT_DISPOSITIONr    parse_content_dispositionr	   content_disposition_filenamerT   )rf   rawdisposition_type
params_dctr   rW   s         rN   content_dispositionz"ClientResponse.content_dispositionl  sj    m 899;4'0'J3'O'O$*!*--9&AA!"2FHEEErM   	_warningsc                 P   | j         rd S | j        | j                                         |                                  | j                                        rOd| i} |j        d| t          fi | | dd}| j        r
| j        |d<   | j        	                    |           d S d S d S )NsourcezUnclosed response zUnclosed response)client_responsemessagesource_traceback)
r  _connectionrelease_cleanup_writerr  r   r   ResourceWarningr   call_exception_handler)rf   r  kwargscontexts       rN   __del__zClientResponse.__del__v  s    < 	F'$$&&&  """z##%% ;"D)	<D<<oXXQWXXX.2?RSS) I262HG./
11'::::: ('; ;rM   c                 j   t          j                    }t          | j                  }| j        r/| j                            dd                              d          }nd}t          d                    || j	        |          |           t          | j
        |           |                                S )NasciibackslashreplaceNonez<ClientResponse({}) [{} {}]>)file)ioStringIOr[   r^   r  rI  decodeprintr   r  ra   getvalue)rf   outascii_encodable_urlascii_encodable_reasons       rN   __repr__zClientResponse.__repr__  s    kmm!$(mm; 	,%)[%7%7+& &fWoo #" &,"*11#T[2H  		
 	
 	
 	
 	dl%%%%||~~rM   rH   c                     | j         S rd   )r  re   s    rN   r  zClientResponse.connection  s    rM   )rD   .c                     | j         S )z2A sequence of of responses, if redirects occurred.)r  re   s    rN   historyzClientResponse.history  s     }rM   /MultiDictProxy[MultiDictProxy[Union[str, URL]]]c           	      j   d                     | j                            dg                     }|st          t	                                S t	                      }t          j        d|          D ]5}t          j        d|          }||                                \  }}|                    d          dd          }t	                      }|D ]T}	t          j        d|	t
          j	                  }|%|                                \  }
}}}|
                    |
|           U|                    d|          }
|
                    d	| j                             t          |                               |
                    t          |
          t          |                     7t          |          S )
Nz, linkz	,(?=\s*<)z\s*<(.*)>(.*)r0  r   z%^\s*(\S*)\s*=\s*(['\"]?)(.*?)(\2)\s*$relr^   )joinra   getallr   r   rer  r   groupsMr"  rs   r^   r   r[   )rf   	links_strlinksr.  r   r^   
params_strr   r  paramr$  r   r%  s                rN   r  zClientResponse.links  s}   IIdl11&"==>>	 	/!)++...<EKK8L)44 	6 	6CH-s33E}#llnnOC%%c**122.F/8{{D % %!I5RTRVWW=#(<<>> Qqe$$$$((5#&&CHHUDHMM#c((33444IIc#hht 4 45555e$$$rM   r  c           	      p  K   d| _         |j        | _        || _        | j        5  	 	 | j        }|                                 d{V \  }}nE# t          j        $ r3}t          | j	        | j
        |j        |j        |j                  |d}~ww xY w|j        dk     s|j        dk    s|j        dk    rn$| j        t          | j        d           d| _        	 ddd           n# 1 swxY w Y    |j        | j                   |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        || _        | j                            t4          j        d          D ]I}	 | j                            |           # t<          $ r}t?          j         d	|           Y d}~Bd}~ww xY w| S )
zStart response processing.FTNr  r  ra   d      e   rL   z!Can not load response cookies: %s)!r  r_  	_protocolr  r   readr   HttpProcessingErrorr%   r  r  coder  ra   rT  r5   on_eof_response_eofr   r  r  r  r  r  r  r  r   
SET_COOKIEr   r4  r   r;   warning)rf   r  r_  r  r!   excr(  s          rN   startzClientResponse.start  sD     #,%[ 	* 	**
#~H-5]]__'<'<'<'<'<'<$GWW/   -)"x # #    <#%%););w|s?R?R>-t~t444%)DN'* !	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*. 	t)*** ln  #/  <&&t;; 	P 	PCP!!#&&&& P P P%&I3OOOOOOOOPsM   C$$AC$B.B		BA	C$$C(+C(/F


F3F..F3c                     | j         rd S | j        o| j        j        }|	|j        rd S d| _         |                                  |                                  d S NT)r  r  r_  upgradedr  _release_connection)rf   r_  s     rN   r  zClientResponse._response_eof  sj    < 	F #A(8(AH$5F  """""rM   c                     | j         S rd   )r  re   s    rN   closedzClientResponse.closed  s
    |rM   c                    | j         s|                                  d| _        | j        | j                                        rd S |                                  | j        "| j                                         d | _        d S d S r  )	_released_notify_contentr  r  r  r  r  rX  re   s    rN   rX  zClientResponse.close	  s    ~ 	#  """:!5!5!7!7F'""$$$#D ('rM   c                     | j         s|                                  d| _        |                                  |                                  t                      S r  )r  r  r  r  r
  r2   re   s    rN   r  zClientResponse.release  sR    ~ 	#  """  """vvrM   c                     d| j         k    S )zReturns ``True`` if ``status`` is less than ``400``, ``False`` if not.

        This is **not** a check for ``200 OK`` but a check that the response
        status is under 400.
        i  )r  re   s    rN   okzClientResponse.ok   s     T[  rM   c                     | j         sJ| j        J |                                  t          | j        | j        | j        | j        | j                  d S )Nr  )r  r  r  r%   r  r  r  ra   re   s    rN   raise_for_statuszClientResponse.raise_for_status)  sb    w 
	;***LLNNN%!{   	
	 
	rM   c                       j         H j        " j                                          d  _         d S  j                             fd           d S d S )Nc                 ,                                     S rd   )r
  )frf   s    rN   r  z4ClientResponse._release_connection.<locals>.<lambda><  s    9Q9Q9S9S rM   )r  r   r  r   re   s   `rN   r
  z"ClientResponse._release_connection6  se    '|# ((***#'   ../S/S/S/STTTTT ('rM   c                 Z   K   | j         | j          d {V  |                                  d S rd   )r   r
  re   s    rN   _wait_releasedzClientResponse._wait_released>  s@      <#,  """""rM   c                 T    | j         | j                                          d | _        d S rd   )r   r  r   re   s    rN   r  zClientResponse._cleanup_writerC  s)    <#L!!!rM   c                     | j         }|r1|                                t          |t          d                     d| _        d S )NConnection closedT)r  	exceptionr4   r#   r  )rf   r  s     rN   r  zClientResponse._notify_contentH  sH    , 	Ow((**2'#89L#M#MNNNrM   c                 Z   K   | j         | j          d {V  |                                  d S rd   )r   r  re   s    rN   wait_for_closezClientResponse.wait_for_closeN  s9      <#,rM   c                   K   | j         	 | j                                         d{V | _         | j        D ].}|                    | j        | j        | j                    d{V  /n9# t          $ r |                                   w xY w| j	        rt          d          | j        o| j        j        }||j        s|                                  d{V  | j         S )zRead response payload.Nr  )r  r  r  r   send_response_chunk_receivedr_   r^   BaseExceptionrX  r  r#   r  r_  r	  r  )rf   r  r_  s      rN   r  zClientResponse.readS  s-     :#'<#4#4#6#6666666
!\  E<<TXtz          !   

 ^ 	='(;<<<#A(8(A8#4%%'''''''''zs   AA& & Bc                    | j                             t          j        d                                          }t          j        |          }|j                            d          }|rJt          j	        t                    5  t          j        |          j        cd d d            S # 1 swxY w Y   |j        dk    r|j        dk    s|j        dk    rdS | j        t#          d          |                     | | j                  S )Nr  charsetapplicationjsonrdapr  z7Cannot compute fallback encoding of a not yet read body)ra   rs   r   r}  r!  r   parse_mimetyperV   rF  rG  rH  codecslookupr:  rU   subtyper  RuntimeErrorr  )rf   ctypemimetypeencodings       rN   get_encodingzClientResponse.get_encodingg  s9     !2B77==??)%00&**955 	4$[11 4 4}X..34 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 =M))&&(*:f*D*D 7:I   $$T4:666s   B''B+.B+strictr/  errorsc                    K   | j         |                                  d{V  ||                                 }| j                             ||          S )z!Read response payload and decode.N)r2  )r  r  r0  r  )rf   r/  r2  s      rN   textzClientResponse.text~  si      :))++((**Hz  V ! 
 
 	
rM   r   )r/  loadscontent_typer5  r6  c                  K   | j         |                                  d{V  |rl| j                            t          j        d                                          }t          ||          s%t          | j	        | j
        d|z  | j                  | j                                         }|sdS ||                                 } ||                    |                    S )zRead and decodes JSON response.Nr  z3Attempt to decode JSON with unexpected mimetype: %s)r  ra   )r  r  ra   rs   r   r}  r!  r   r&   r  r  r  r0  r  )rf   r/  r5  r6  r-  strippeds         rN   r&  zClientResponse.json  s       :))++ 
	L$$T%6;;AACCE,ULAA &%LPSXX L    :##%% 	4((**HuX__X..///rM   c                 
   K   | S rd   rL   re   s    rN   
__aenter__zClientResponse.__aenter__  s      rM   exc_typeexc_valexc_tbc                 f   K   |                                   |                                  d {V  d S rd   )r  r  )rf   r;  r<  r=  s       rN   	__aexit__zClientResponse.__aexit__  s?       	!!###########rM   rd   )rJ   r`   )rJ   r  )r  rH   rJ   rD   r  )Nr1  )rJ   rD   )OrX   rY   rZ   r   r   r7   r\   r  r   r  r[   r  r<   r  r   r  rA   r  r   r   StackSummaryr  r  r  r   r,   rE   r   r   r  ry   r  r  r   r   r  r3   r^   r  rb   r   ra   r  r  rT   r  r   r   r  r  r  r   r  r  r  r  r   r  rX  r  r  r  r
  r  r  r  r  r   r  r0  r4  r=   r>   r&  r:  r   r"  r
   r?  rL   rM   rN   rD   rD     s         &*GXk")))FC FHSM    G\   &*Hs#***#L*###K:>x	 67>>> GIH*O*O *O
 %*O 45*O  *O "*O W*O '*O !*O 
*O *O *O *OX  $     "67    X ^:h';< : : : : ^: S    U     U #    U c    U    U !Z ! ! ! U! "k " " " U" FX.@%A F F F UF (0 ; ; ;D ; ; ; ; #    $  H\2       X  45    U !% !% !% U!%F1 1 1 1f# # # #     X$ $ $ $     !D ! ! ! X!   U U U U# # # #
   
      
E    (7c 7 7 7 7.

 

8C= 

 

TW 

 

 

 

 #'1&80 0 0 3-0 	0
 sm0 
0 0 0 0@   
$4./
$ -(
$ '	
$
 

$ 
$ 
$ 
$ 
$ 
$rM   rD   )rr   r)  rF  rv  r  r  r   r   r   hashlibr   r   r   http.cookiesr   r   r   typesr	   r
   typingr   r   r   r   r   r   r   r   r   r   r   r   rh   	multidictr   r   r   r   yarlr   r  r   r   r   r    r!   abcr"   client_exceptionsr#   r$   r%   r&   r'   r(   compression_utilsr*   formdatar+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   logr;   streamsr<   typedefsr=   r>   r?   r@   rA   r   rB   ImportErrorr  __all__clientrG   	connectorrH   tracingrI   compiler   r   r[   rO   srT   rE   rF   r   rU   r   r   r   r   r   rC   rD   rL   rM   rN   <module>rU     s             				 				 



      % % % % % % % % % % : : : : : : : : : : 1 1 1 1 1 1 1 1                             N N N N N N N N N N N N       5 5 5 5 5 5 5 5 5 5 5 5 5 5 % % % % % %                * ) ) ) ) )                                                 ! ! ! ! ! !             JJJ   
CJJJ
 L  %%%%%%%%%%%% 'BJ'EFF 
"*9
:
:Bc B B B B T$d333       43 T$d333       43P P P P P P P PD ?{DDJJGttDzz*4	|T;.	/44 ,'4 %	4
 <{*+4 4 4 4n Td333	& 	& 	& 	& 	& 	& 	& 43	&::7::	: : : :QC QC QC QC QC QC QC QChz$ z$ z$ z$ z$\ z$ z$ z$ z$ z$s   $
C/ /	C;:C;