
    F/j8                        U d 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mZmZmZ ddlmZ ddlmZ ddl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( d	dl)m*Z* d	dl+m,Z, d	dl-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJ d	dlKmLZLmMZM d	dlNmOZOmPZPmQZQmRZRmSZS d	dlTmUZUmVZVmWZW d	dlXmYZYmZZZm[Z[m\Z\m]Z] d	dl^m_Z_ d	dl`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZk d	dl'mlZlmmZmmnZnmoZo d	dlpmqZqmrZrmsZs d	dltmuZumvZv d	dlwmxZxmyZymzZzm{Z{m|Z|m}Z} dZ~erddlmZ neZej                  dk\  rerddlmZ  G d ded      Z G d  d!ed      Z ej
                  d"d"d"#       G d$ d%             Z ed&d'(      Zee   ed)<    eh d*      Z ed+d,d"-      ZeePegef   Z G d. d/      Z G d0 d1eeeef   ee         ZeeP   ZeeVe      Z G d2 d3      Zej                  dk\  r9er7e'j*                  ddd4d5ed6e}d7emd8eZdz  d9ej,                  dz  d:ee   d;efd<Zye'j*                  ddd4d5ed6e}d7emd8eZdz  d9ej,                  dz  d:ed;efd=Zy)>zHTTP Client for asyncio.    N)	AwaitableCallable	Coroutine	GeneratorIterableSequence)suppress)TracebackType)TYPE_CHECKINGAnyFinalGenericLiteral	TypedDictTypeVaroverload)CIMultiDict	MultiDictMultiDictProxyistr)URL   )hdrshttppayload)WebSocketDataQueue)AbstractCookieJar)ClientConnectionErrorClientConnectionResetErrorClientConnectorCertificateErrorClientConnectorDNSErrorClientConnectorErrorClientConnectorSSLErrorClientErrorClientHttpProxyErrorClientOSErrorClientPayloadErrorClientProxyConnectionErrorClientResponseErrorClientSSLErrorConnectionTimeoutErrorContentTypeError
InvalidURLInvalidUrlClientErrorInvalidUrlRedirectClientErrorNonHttpUrlClientErrorNonHttpUrlRedirectClientErrorRedirectClientErrorServerConnectionErrorServerDisconnectedErrorServerFingerprintMismatchServerTimeoutErrorSocketTimeoutErrorTooManyRedirectsWSMessageTypeErrorWSServerHandshakeError)ClientMiddlewareTypebuild_client_middlewares)ClientRequestClientResponseFingerprintRequestInfo_merge_ssl_params)DEFAULT_WS_CLIENT_TIMEOUTClientWebSocketResponseClientWSTimeout)HTTP_AND_EMPTY_SCHEMA_SETBaseConnectorNamedPipeConnectorTCPConnectorUnixConnector)	CookieJar)	_SENTINELDEBUGDEFAULT_CHUNK_SIZEEMPTY_BODY_METHODS	BasicAuthTimeoutHandlebasicauth_from_netrcget_env_proxy_for_urlnetrc_from_envsentinelstrip_auth_from_url)WS_KEYHttpVersionWebSocketReaderWebSocketWriter)WSHandshakeError
ws_ext_genws_ext_parse)TraceTraceConfig)JSONBytesEncoderJSONEncoderLooseCookiesLooseHeadersQueryStrOrURL)*r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r2   r0   r/   r1   r3   r4   r5   r6   r7   r8   r:   r=   r>   r?   r@   rF   rH   rI   rG   rC   ClientSessionClientTimeoutrD   requestr9   )
SSLContext      )Unpackc                      e Zd ZU eed<   eed<   eed<   edz  ed<   edz  ed<   ee	   dz  ed<   e
dz  ed<   eed	<   eed
<   e	ez  dz  ed<   edz  ed<   eed<   dez  eeged   f   z  ed<   eed<   edz  ed<   e
dz  ed<   ded<   eez  ez  ed<   e	dz  ed<   edz  ed<   eed<   edz  ed<   edz  ed<   edz  ed<   edz  ed<   edz  ed<   ee   dz  ed<   y)_RequestOptionsparamsdatajsonNcookiesheadersskip_auto_headersauthallow_redirectsmax_redirectscompresschunked	expect100raise_for_statusread_until_eofproxy
proxy_authz ClientTimeout | _SENTINEL | Nonetimeoutsslserver_hostnameproxy_headerstrace_request_ctxread_bufsizeauto_decompressmax_line_sizemax_field_sizemax_headersmiddlewares)__name__
__module____qualname__rc   __annotations__r   ra   rb   r   strrO   boolintr   r>   r   rd   rh   r?   objectr   r;        L/var/www/html/maxservice/venv/lib/python3.12/site-packages/aiohttp/client.pyrn   rn      s   M
I
ID  D  }t++
d
Dj4D[OTkHn-=y-N$OOOd?D  //	d	[	((4Z$&&*D[ :$Jt./$66r   rn   Ftotalc                   :   e Zd ZU eed<   ee   ed<   ded<   edz  ed<   eed<   eed<   edz  ed	<   edz  ed
<   edz  ed<   e	ed<   e
dz  ed<   edz  ed<   edz  ed<   eez  ez  ed<   edz  ed<   edz  ed<   edz  ed<   edz  ed<   e
dz  ed<   eed<   eed<   y)_WSConnectOptionsmethod	protocolszClientWSTimeout | _SENTINELr   Nreceive_timeout	autocloseautoping	heartbeatru   originro   rs   r}   r~   r   
verify_sslfingerprintssl_contextr   r   rx   max_msg_size)r   r   r   r   r   r   floatr   rO   rc   rb   rd   rh   r?   bytesr   r   r   r   r   r      s    K}**T\!ONt|
d
$JMD  d?D  	d	[	((td""4Z$&&Mr   r   T)auto_attribsfrozenslotsc                   l    e Zd ZU dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZ	eed<   y)rf   Nr   connect	sock_readsock_connect   ceil_threshold)
r   r   r   r   r   r   r   r   r   r   r   r   r   rf   rf      sD    E54< GUT\ "Iut|"!%L%$,%NEr   rf   i,     )r   r   DEFAULT_TIMEOUT>   GETPUTHEADTRACEDELETEOPTIONS_RetType_coz.ClientResponse | ClientWebSocketResponse[bool])bound	covariantc            D           e Zd ZU dZ eg d      ZdZej                  dz  e	d<   dZ
edz  e	d<   	 dddddddddej                  deeeej$                  dddededdddeddd	d
 deddedz  dedz  dej.                  dz  dedz  dedz  dedz  dedz  dee   dz  dedz  dededz  dee   dee   dee   de de!dz  de"de"e#ege$d   f   z  de%e&z  d e%dz  d!e'e(z  d"e"d#e"d$e"d%e)e*   dz  d&e+d'e+d(e+d)e+d*e,d+e-e.   d,e&dz  e%z  d-dfBd.Z/d/ed    d-dfd0Z0e1rd1ed2e2d-df fd3Z3e4fd4e2d-dfd5Z5e6jn                  d6k\  re8rd7ed8ed9e9e:   d-d:fd;Z;nd7ed8ed9e2d-d:fd<Z;d=ed-e<fd>Z=ddddddddd?dddddddedddddddddddddd@d7ed=edAe>dBe2dCe2dedz  dedz  dee   dz  dedz  dDe"dEe+dFee"z  dz  dGe"dz  dHe"dde"z  e#ege$d   f   z  dIe"dedz  dedz  d!e(e&z  dJe"dz  dKe?dz  dLe@dz  dMe@e"z  eAz  dNedz  dOedz  dPe'd&e+dz  d"e"dz  d'e+dz  d(e+dz  d)e+dz  d+e-e.   dz  d-efBdQZBe6jn                  d6k\  rJe8rHeCdRdSd8edTeDd   d9e9eE   d-dUfdV       ZFeCd8edTeDd   d9e9eE   d-dWfdX       ZFeCdRdSd8edTe"d9e9eE   d-dYfdZ       ZFeGj                  deddddddddddddddddd[d\dd]d8ed7ed^ee   d!eIe&z  d_e%dz  d`e"dae"dbe%dz  dedz  dcedz  dAe>dedz  dedz  dedz  dMe@e"z  eAz  dJe"dz  dKe?dz  dLe@dz  dNedz  dOedz  dFe+dde+dTe"d-dYf0deZFe6jn                  d6k\  rJe8rHeCdRdSd8edTeDd   d9e9eE   d-dffdg       ZJeCd8edTeDd   d9e9eE   d-dhfdi       ZJeCdRdSd8edTe"d9e9eE   d-djfdk       ZJeGj                  deddddddddddddddddd[d\dd]d8ed7ed^ee   d!eIe&z  d_e%dz  d`e"dae"dbe%dz  dedz  dcedz  dAe>dedz  dedz  dedz  dMe@e"z  eAz  dJe"dz  dKe?dz  dLe@dz  dNedz  dOedz  dFe+dde+dTe"d-djf0dlZJdedz  d-dmfdnZKdoed-edz  fdpZLe6jn                  d6k\  r^e8r\d8ed9e9e:   d-d:fdqZMd8ed9e9e:   d-d:fdrZNd8ed9e9e:   d-d:fdsZOd8ed9e9e:   d-d:fdtZPd8ed9e9e:   d-d:fduZQd8ed9e9e:   d-d:fdvZRd8ed9e9e:   d-d:fdwZSndddxd8edDe"d9e2d-d:fdyZMddxd8edDe"d9e2d-d:fdzZNddxd8edDe"d9e2d-d:fd{ZOdd|d8edBe2d9e2d-d:fd}ZPdd|d8edBe2d9e2d-d:fd~ZQdd|d8edBe2d9e2d-d:fdZRd8ed9e2d-d:fdZSddZTeUd-e"fd       ZVeUd-edz  fd       ZWeUd-e!fd       ZXeUd-eYe+e+f   fd       ZZeUd-e"fd       Z[e[j                  d2e"d-dfd       Z[eUd-ej.                  fd       Z]eUd-e(fd       Z^eUdd       Z_eUd-ee`   fd       ZaeUd-edz  fd       ZbeUd-efd       ZceUd-e"fd       ZdeUd-e"e#ege$d   f   z  fd       ZeeUd-e"fd       ZfeUd-e"fd       ZgeUd-e)e*   fd       ZhddZiddZjdeek   dz  dekdz  deldz  d-dfdZmddZndeek   dz  dekdz  deldz  d-dfdZo xZpS )re   z/First-class interface for making HTTP requests.) 	_base_url_base_url_origin_source_traceback
_connector_loop_cookie_jar_connector_owner_default_auth_version_json_serialize_json_serialize_bytes_requote_redirect_url_timeout_raise_for_status_auto_decompress
_trust_env_default_headers_skip_auto_headers_request_class_response_class_ws_response_class_trace_configs_read_bufsize_max_line_size_max_field_size_max_headers_resolve_charset_default_proxy_default_proxy_auth_retry_connection_middlewaresrequote_redirect_urlNr   r   TFi     c                      y)Nzutf-8r   )rbs     r   <lambda>zClientSession.<lambda>U  s    r   r   )	connectorlooprr   rs   r}   r~   rt   ru   json_serializejson_serialize_bytesrequest_classresponse_classws_response_classversion
cookie_jarconnector_ownerr{   read_timeoutconn_timeoutr   r   	trust_envr   trace_configsr   r   r   r   fallback_charset_resolverr   ssl_shutdown_timeoutbase_urlr   r   rr   rs   r}   r~   rt   ru   r   r   r   r   r   r   r   r   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   returnc                   d | _         |||j                  }|xs t        j                         }|t	        |t
              r!|| _        |d n|j                         | _        nLt        |      | _        | j                  j                         | _        | j                  j                  sJ d       | j                  0| j                  j                  j                  d      st        d      |t        u s|t        | _        |t        urBt!        j"                  dt$        d       t'        j(                  | j                  |      | _        |t'        j(                  | j                  |      | _        t!        j"                  d	t$        d       nOt	        |t*              st        d
t-        |       d      || _        |t        urt        d      |t        d      | t        urt!        j"                  dt$        d       |t/        ||       }|j                  |urt1        d      || _        |j3                         r-t5        j6                  t9        j:                  d            | _        |t?        |      }|| _         |r| j@                  jC                  |       |	t!        j"                  dt$        d       |t!        j"                  dt$        d       || _         || _"        |	| _#        || _$        |
| _%        || _&        || _'        || _(        || _)        || _*        || _+        || _,        || _-        || _.        |rt_        |      }!n
t_               }!|!| _0        |tc        d |D              | _2        ntc               | _2        || _3        || _4        || _5        |xs g | _6        | jl                  D ]  }"|"jo                           || _8        || _9        || _:        d| _;        || _<        y )Nz Only absolute URLs are supported/z!base_url must have a trailing '/'z8read_timeout is deprecated, use timeout argument instead   
stacklevelr   )r   z8conn_timeout is deprecated, use timeout argument insteadztimeout parameter cannot be of z. type, please use 'timeout=ClientTimeout(...)'zGread_timeout and timeout parameters conflict, please setup timeout.readzJconn_timeout and timeout parameters conflict, please setup timeout.connectzSThe ssl_shutdown_timeout parameter is deprecated and will be removed in aiohttp 4.0)r   r   z0Session and connector has to use same event loopr   r   The 'auth' parameter is deprecated and will be removed in v4; pass headers={'Authorization': aiohttp.encode_basic_auth(login, password)} insteadThe 'proxy_auth' parameter is deprecated and will be removed in v4; pass proxy_headers={'Proxy-Authorization': aiohttp.encode_basic_auth(login, password)} insteadc              3   2   K   | ]  }t        |        y wN)r   ).0is     r   	<genexpr>z)ClientSession.__init__.<locals>.<genexpr>  s     /SAQ/Ss   T)=r   r   asyncioget_running_loop
isinstancer   r   r   r   absolutepathendswith
ValueErrorrT   r   r   warningswarnDeprecationWarningattrevolverf   typerH   RuntimeError	get_debug	tracebackextract_stacksys	_getframer   rJ   r   update_cookiesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	frozensetr   r   r   r   r   freezer   r   r   r   r   )#selfr   r   r   rr   rs   r}   r~   rt   ru   r   r   r   r   r   r   r   r   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   real_headerstrace_configs#                                      r   __init__zClientSession.__init__5  s   L 15<$ 1w//1z(C8)1DN,4,<D(//BSD! ]DN$(NN$9$9$;D!>>**N,NN*>>%dnn.A.A.J.J3.O@AAh'/+DM8+N& 
 !%DMM N' $DMM< PN&  g}5 5d7m_ E> >  $DM8+ # 
 ' &   x/MMe" $0DI ??$&QRR
>>%.%<%<S]]1=M%ND""-J%++G4MMF # !MMF # $ /!-%9"!1 /#%9")+-' -8-AL&=L2>(&//SAR/S&SD#&/kD#+-"3+1r // 	"L!	" !:##- '+'r   clsc                 X    t        j                  d| j                   dt        d       y )NzInheritance class z" from ClientSession is discouragedr   r   )r  r  r   r  )r  s    r   __init_subclass__zClientSession.__init_subclass__  s%     .PQ	
r   namevalc                     || j                   vr t        j                  d| dt        d       t        |   ||       y )NzSetting custom ClientSession.z attribute is discouragedr   r   )ATTRSr  r  r  super__setattr__)r  r  r  	__class__s      r   r!  zClientSession.__setattr__  s?    4::%3D69RS& 
 Gc*r   	_warningsc                     | j                   s[d| i} |j                  d| t        fi | | dd}| j                  | j                  |d<   | j                  j                  |       y y )NsourcezUnclosed client session zUnclosed client session)client_sessionmessagesource_traceback)closedr  ResourceWarningr   r   call_exception_handler)r  r#  kwargscontexts       r   __del__zClientSession.__del__  sv    {{%FINN*4(3_HN *.:STG%%1.2.D.D*+JJ--g6 r   ri   r   urlr,  _RequestContextManagerc                      y r   r   r  r   r/  r,  s       r   rg   zClientSession.request  s    
 (+r   c                 <    t         | j                  ||fi |      S )zPerform HTTP request.)r0  _requestr2  s       r   rg   zClientSession.request  s!     *-$--*Nv*NOOr   
str_or_urlc                     t        |      }| j                  r'|j                  s| j                  j                  |      S |S r   )r   r   r  join)r  r5  r/  s      r   
_build_urlzClientSession._build_url  s2    *o>>#,,>>&&s++
r   
   )ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ro   rp   rq   rv   rw   rx   ry   rz   r|   r   r   r   r   r   r   r   c                   >?@K    j                   rt        d      t        ||||      }|	t        j                  dt
        d       |t        j                  dt
        d       ||t        d      |O j                  "t        j                  | j                        }n!t        j                  | j                        }t        |t              s|t        j                  dt
               d	}!g }" j                  }#|xs i } j                  |      }	  j!                  |      }$ j$                  J |$j&                   j$                  j(                  vrt+        |$      |'|D &ch c]  }&t-        |&       c}& j.                  z  }'n j.                  r j.                  }'nd }'| j0                  }| j2                  }|d }n j                  |      }	 t5        |      }|t8        u r j:                  >nt        |t<              st=        |
      >n|>t?         j@                  >jB                  >jD                        }(|(jG                         }) jH                   jJ                   jL                   jN                   jP                   jR                  D *cg c]  }*tU         |*|*jW                  |            ! c}*@@D ],  }+|+jY                  ||$j[                  |      |       d {    . |(j]                         ?	 ?5   j^                  xr |t`        v },	 tc        |$      \  }$}-|$jd                  s|!rtf        nt"        }. |.|$      |"s|	r|-rt        d      |	|"r|-|-}	|	A jh                  r5 jj                  r jl                  |$jo                         k(  r jh                  }	|	Q jp                  rE|$jr                  9 j@                  ju                  d  jv                  |$jr                         d {   }	||	tx        jz                  |v rt        d       j|                  j                  |$      }/|jt         j|                  j                   j|                  j                        }0|0j                  |       |0j                  |$      }1|1r|/j                  |1       d }2|t5        |      }2nI jp                  r=t        t              5  t        j                  t        |$       d {   \  }2}d d d         j                  ||$|||'||/|	|#||| j@                   j                  |2|? ||nd||@ j                        }3dt        dt        f> ?@f
d}4|  j                  n| }5|5rt        |4|5      }6n|4}6	  |6|3       d {   }7|7j                  r0 j|                  j                  |7j                  |7j                         |7j                  dv r2|
r/@D ]-  }+|+j                  ||$j[                  |      ||7       d {    / |!dz  }!|"j                  |7       |re|!|k\  r`|3j                  "|3j                  j                          d {    |7j                          t        |"d	   j                  t        |"            |7j                  dk(  r|7j                  tx        j                  k7  s+|7j                  dv rn|7j                  tx        j                  k(  rQtx        j                  }d }|j                  tx        j                        ri|j                  tx        j                         nI|3j                  1|3j                  j                  r|7j                          t        d      |3j                  }|7j                  j                  tx        j                        xs) |7j                  j                  tx        j                        }9|9n8|7j                          	 t5        |9 j                         }:|:j&                  };|;t        vrI|3j                  "|3j                  j                          d {    |7j                          t        |9      |;s|$j                  |:      }:	 |:jo                         }<|$jo                         |<k7  rdd }	d }|j                  tx        jz                  d        |j                  tx        j                  d        |j                  tx        j                  d        |:}$i }|7j                          	 d d d        3j                  "|3j                  j                          d {    | j                  }|n.t        |      r |7       d {    n|r7j                          |)B7j                  &|7j                  j                  |)j                         n|)j                          t        |"      7_        @D ].  }+|+j                  ||$j[                  |      ||7       d {    0 |7S # t        $ r}%t#        |      |%d }%~%ww xY wc c}&w # t        $ r}%t7        |      |%d }%~%ww xY wc c}*w 7 i7 `7 m# 1 sw Y   jxY w7 # t        t        t        t        f$ r  t        t        f$ r	 |,rd},Y  t        $ r  t        $ r?}8|8j                  t        |8t        j                        r t        |8j                   |8d }8~8ww xY w7 7 # t        $ rQ}%|3j                  #|3j                  j                          d {  7   |7j                          tg        |9d      |%d }%~%ww xY w7 # t        $ rQ}=|3j                  #|3j                  j                          d {  7   |7j                          tg        |:d      |=d }=~=ww xY w# 1 sw Y   xY w7 }7 T7 # t        $ r^}%|(j                          |)r|)j                          d })@D ]/  }+|+j                  ||$j[                  |      ||%       d {  7   1  d }%~%ww xY ww)NzSession is closedr   rj   r   r   z9data and json parameters can not be used at the same time)dumpszChunk size is deprecated #1615r   r   )r   )r   Tz<Cannot combine AUTH argument with credentials encoded in URLzTCannot combine AUTHORIZATION header with AUTH argument or credentials encoded in URL)unsafequote_cookie)ro   rs   rt   rp   rr   ru   r   rx   ry   rz   r   r   r}   r~   timersessionr   r   r   tracesr   reqr   c                   
K   j                   J 	 j                   j                  | 
       d {   }|j                  J |j                  j                  | j                  t        v 	
j                  j                   j                  
       	 | j                  |       d {   }	 |j                  |       d {    |S 7 # t        j                  $ r}t	        d| j
                         |d }~ww xY w7 V7 ># t        $ r |j                           w xY w# t        $ r |j                           w xY ww)N)r@  r   zConnection timeout to host )
r>  skip_payloadr|   r   r   r   timeout_ceil_thresholdr   r   r   )r   r   r   TimeoutErrorr+   r/  protocolset_response_paramsr   rN   r   _timeout_ceil_thresholdsendstartBaseExceptionclose)rA  connexcrespr   r   r   r   r   r|   real_timeoutr  r>  r@  s       r   _connect_and_send_requestz9ClientSession._request.<locals>._connect_and_send_request$  sR      $:::')-)@)@ #FL *A * $D  $}}88899"'),7I)I+9,;)5)?)?)537??3Z3Z*7+9(3 : 	"),$#7D&&*jj&6 6 6  $?$  '33 '"8"=cggY G##&''& $8 6#0 & $

 %&  - " JJL!"s   E!C CC A!ED( /D0D( 5D
 	D
D
 EC D%C>>DED( D
 
D%%D( (EEF)-  .  /  i3  i4  r   rT  )rR  rS  zzCannot follow redirect with a consumed request body. Use bytes, a seekable file-like object, or set allow_redirects=False.)encodedzHServer attempted redirecting to a location that does not look like a URLzInvalid redirect URL origin)r)  r  rA   r  r  r  r  r   r   JsonBytesPayloadJsonPayloadr   r  r   r   _prepare_headersr8  r.   r   schemeallowed_protocol_schema_setr0   r   r   r   r   r   r-   rT   r   rf   rP   r   r   r   rJ  r   r   r   r   r   r   r]   trace_config_ctxsend_request_startupdate_queryr>  r   IDEMPOTENT_METHODSrU   raw_hostr/   r   r   r   r   r   hostrun_in_executor_get_netrc_authr   AUTHORIZATIONr   filter_cookiesrJ   r<  r=  r  loadr	   LookupErrorr   	to_threadrR   r   r   r   r=   r>   r   r<   r+   r"   r    r#   r&   r4   r$   OSErrorerrnorE  args_raw_cookie_headersupdate_cookies_from_headersr/  statussend_request_redirectappend_bodyrL  r8   request_infotupler   	METH_HEAD	METH_POSTMETH_GETgetCONTENT_LENGTHpopconsumedr'   rs   LOCATIONURIreleaser   rE   r1   r7  COOKIEPROXY_AUTHORIZATIONr   callabler{   
connectionadd_callbackcancel_historysend_request_endrK  send_request_exception)Ar  r   r5  ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	redirectshistoryr   r/  er   skip_headerstmhandler  traceretry_persistent_connectionauth_from_urlerr_exc_clsall_cookiestmp_cookie_jarreq_cookiesproxy_rA  rQ  effective_middlewareshandlerrO  rN  r_urlparsed_redirect_urlrY  redirect_originorigin_val_errrP  r>  r@  sA   `               `          `````                              @@@r   r4  zClientSession._request  s    V ;;233ZkJMMF # !MMF #  0K  ))5//D<V<VW**4t7K7KL'4(W-@MM:<NO	(*--2 ''0	;//*-C ***::T__HHH',, (!2Q''(L $$22LL=''E11J= M 11-@M/E
 h*.--Lg}5,7;& JJ**<;V;V
 --L""33O  //M!!11N++K !% 3 3
  --@Q-R
  	VE**633C3CF3KWUUU	V 
G	 ] **Kv9K/K , )<S)A&C<<
  ) :!6 $
 *#.. #(9  |M4M,  .. $$2G2G3::<2W  $11 |CHH<P%)ZZ%?%? $"6"6&    + , ..'9(-  #'"2"2"A"A#"FK*)2#'#3#3#:#:)-)9)9)F)F* '55g>&4&C&CC&H&',,[9)-F(!$U%k2 7>7H7H 5s8 2.FJ
 --% '*6! +! '!) '"+!ZZ'+';';$#-# $#&?C(7&3%"&../ . C4%$*%$'%$ %$R .9-@))k * -":57L# #<@%,S\1, //((DD 44dhh
 {{&??O%+ E"'"="= &(8(8(@'4#  
 "Q	t,(Y--G"yy4&)iioo&7 7 7 JJL"2 '
 7 7w#  !KK3.4;;$..3P KK:5$++:W%)]]F#'D&{{4+>+>? 'D,?,? @  #yy49K9K $

&8%D'" !"
 $'99D $ 0 0 ? !4<<CSCS HHD !=! !LLN%25 %43M3M/M3/ "5!;!;!)BB"yy4&)iioo&7 7 7 JJL"?"FF!'25((;N2O/	2.A.H.H.JO ::<?:#'D&*G#KK(:(:DA#KKT:#KK(@(@$G1!# {]~ yy$iioo''''#'#9#9 '*+&t,,,!%%' !??.OO00?MMO!'NDM ,,C,,V4gt   KG  	;'
3:	;&  / 'Q./@
 VZ D2 f  2 /,7/	  )+BC 6:?7$& " @99,CAUAU1V!+SXX6C?@ !8`  * %"yy4&)iioo&7 7 7 JJL"? % j# $%%	% !8  * 2"yy4&)iioo&7 7 7 JJL"? 3 =# $22	2Q] ]@	 ( -
  	HHJ 22C,,V4gq   	s  Dq"h* 3Aq4iAq%i 0Cq4$i)-qi.qo# C2oi1Co)i7i4i7Boj)j*j.A9o'l
(Ao4l5Fol=om-2om0Bo,1o# o+o# 	o
Bo# !o "o# )q*	i3h??iq	i&i!!i&&	q1o4i77j	<oj,l3o6l:lloo	m*)m%m"m%%m**o0	o
9)o"n%#"oo

oo	o# o#  o# #
q-Aq=q >qqq.decode_textr  zB_BaseRequestContextManager[ClientWebSocketResponse[Literal[True]]]c                     y r   r   r  r/  r  r,  s       r   
ws_connectzClientSession.ws_connect  s	     TWr   zC_BaseRequestContextManager[ClientWebSocketResponse[Literal[False]]]c                     y r   r   r  s       r   r  zClientSession.ws_connect  s	     UXr   z9_BaseRequestContextManager[ClientWebSocketResponse[bool]]c                     y r   r   r  s       r   r  zClientSession.ws_connect  s	     KNr   r   i  @ r   r   r   r   r   r   r   ru   r   ro   rs   r}   r~   r   r   r   r   r   r   rx   r   r  r   r   r   r   r   r   r   c                d    t        | j                  |||||||||	|
|||||||||||||            S )zInitiate websocket connection.r  )_WSRequestContextManager_ws_connect)r  r/  r   r   r   r   r   r   r   ru   r   ro   rs   r}   r~   r   r   r   r   r   r   rx   r   r  s                           r   r  zClientSession.ws_connect   si    8 (# /#!#%%'' /+!)'/  
 	
r   z&ClientWebSocketResponse[Literal[True]]c                   K   y wr   r   r  s       r   r  zClientSession._ws_connectZ  s      8;   z'ClientWebSocketResponse[Literal[False]]c                   K   y wr   r   r  s       r   r  zClientSession._ws_connectc  s      9<r  zClientWebSocketResponse[bool]c                   K   y wr   r   r  s       r   r  zClientSession._ws_connectl  s      /2r  c                t  K   |	t        j                  dt        d       |t        j                  dt        d       |t        ur<t	        |t
              r|}n/t        j                  dt        d       t        |      }nt        }|3t        j                  dt        d       t        j                  ||	      }|t               }nt        |      }t        j                  d
t        j                  dt        j                  di}|j                         D ]  \  }}|j                  ||        t!        j"                  t%        j&                  d            }|j)                         |t        j*                  <   |r"dj-                  |      |t        j.                  <   |
|
|t        j0                  <   |rt3        |      }||t        j4                  <   |t        j                  dt        d       d}t7        ||||      }| j9                  ||||d|	|||||       d {   }	 |j:                  dk7  r8t=        |j>                  |j@                  d|j:                  |jB                        |jB                  jE                  t        j                  d      jG                         d
k7  r8t=        |j>                  |j@                  d|j:                  |jB                        |jB                  jE                  t        j                  d      jG                         dk7  r8t=        |j>                  |j@                  d|j:                  |jB                        |jB                  jE                  t        jH                  d      } t!        j"                  tK        jL                  |tN        z         jQ                               j)                         }!| |!k7  r8t=        |j>                  |j@                  d|j:                  |jB                        d }"|rrt        j.                  |jB                  v rV|jB                  t        j.                     jS                  d      D #cg c]  }#|#jU                          }$}#|$D ]
  }#|#|v s|#}" n d}%|r?|jB                  jE                  t        j4                        }&|&r	 tW        |&      \  }}%nd}d}%|j\                  }(|(J |(j^                  })|)J |j`                  d |)_1        n1|)jb                  %te        |j`                  |)jb                        |)_1        |(jf                  }*|*J ti        |)tj        | jl                        }+to        |)|*d||%      },| jq                  |+|,|"||||| jl                  |||%      }-ts        |+||       }.|d n|-jt                  }/|)jw                  |.|+|/!       |-S 7 c c}#w # tX        $ rK}'t=        |j>                  |j@                  |'jZ                  d   |j:                  |jB                        |'d }'~'ww xY w# tx        $ r |j{                           w xY ww)"Nr   rj   r   r   zeparameter 'timeout' of type 'float' is deprecated, please use 'timeout=ClientWSTimeout(ws_close=...)'r   )ws_closezofloat parameter 'receive_timeout' is deprecated, please use parameter 'timeout=ClientWSTimeout(ws_receive=...)')
ws_receive	websocketUpgrade13   ,)rx   z+ssl=None is deprecated, please use ssl=TrueTF)	ro   rs   r|   ru   r}   r~   r   r   r   e   zInvalid response status)r'  rm  rs    zInvalid upgrade headerupgradezInvalid connection headerzInvalid challenge responser   r   )use_maskrx   
notakeover)r   rx   client_notakeoverr  )data_received_cb)>r  r  r  rT   r  rD   rB   r	  r
  r   r   UPGRADE
CONNECTIONSEC_WEBSOCKET_VERSIONitems
setdefaultbase64	b64encodeosurandomdecodeSEC_WEBSOCKET_KEYr7  SEC_WEBSOCKET_PROTOCOLORIGINr[   SEC_WEBSOCKET_EXTENSIONSrA   rg   rm  r:   rq  r  rs   rv  lowerSEC_WEBSOCKET_ACCEPThashlibsha1rV   digestsplitstripr\   rZ   rj  r  rF  r  r   max	transportr   rM   r   rY   r   rX   _on_data_received
set_parserrK  rL  )0r  r/  r   r   r   r   r   r   r   ru   r   ro   rs   r}   r~   r   r   r   r   r   r   rx   r   r  
ws_timeoutr  default_headerskeyvaluesec_keyextstrrO  r_keymatchrF  protoresp_protocolsr  compress_hdrsrN  rM  
conn_protor  readerwriterws_respparsercbs0                                                   r   r  zClientSession._ws_connectu  s    6 MMF # !MMF # ("'?3$
> '  -g>
2J&MM< # ZOLJ?-8]L&w/L LL+OOY&&
 *//1 	0JC##C/	0 ""2::b>2/6~~/?T++,8;8KL445(.L%2F:@L667 ;MM="
 CZkJ \\  !+' " 
 
v	{{c!,%%LL5;; LL  ||b1779[H,%%LL4;; LL  ||4::<	I,%%LL7;; LL  LL$$T%>%>CE$$W\\'F2B%C%J%J%LMTTVE~,%%LL8;; LL  HT88DLLH "&d.I.I!J!P!PQT!U" KKM" "
 , E	)#( J $ 0 01N1N O 	#/;M/J,*  !H!&J??D###J))) $$,*.
'((4*-)):+B+B+
' I((('
4FTZZXF$!%F --

#!", . G %V\{SF"*0I0IB!!&&2!FNI
t"" , #4 -- LL$'HHQK#';;$(LL  ###J  	JJL	sj   H X8"V;#X8(H-X V>,X 84X -W ;B&X !AX8>X 	XAXXX X55X8CIMultiDict[str]c                    t        | j                        }|rpt        |t        t        f      st        |      }t               }|j                         D ]2  \  }}||v r|j                  ||       |||<   |j                  |       4 |S )z3Add default headers and transform it to CIMultiDict)r   r   r  r   r   setr  add)r  rs   resultadded_namesr  r  s         r   rX  zClientSession._prepare_headersb  s     T223g	'BC%g.$'EK%mmo )
U+%JJsE*"'F3KOOC() r   r`  c                 N    t               }	 t        ||      S # t        $ r Y yw xY w)z
        Get auth from netrc for the given host.

        This method is designed to be called in an executor to avoid
        blocking I/O in the event loop.
        N)rS   rQ   rf  )r  r`  	netrc_objs      r   rb  zClientSession._get_netrc_authr  s0     #$		'	488 		s    	$$c                      y r   r   r  r/  r,  s      r   rv  zClientSession.get       (+r   c                      y r   r   r  s      r   optionszClientSession.options  r  r   c                      y r   r   r  s      r   headzClientSession.head  r  r   c                      y r   r   r  s      r   postzClientSession.post  r  r   c                      y r   r   r  s      r   putzClientSession.put  r  r   c                      y r   r   r  s      r   patchzClientSession.patch  r  r   c                      y r   r   r  s      r   deletezClientSession.delete  r  r   )rv   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP GET request.rv   )r0  r4  r   ru  r  r/  rv   r,  s       r   rv  zClientSession.get  s8     *MM38GKQ r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP OPTIONS request.rv   )r0  r4  r   METH_OPTIONSr  s       r   r  zClientSession.options  s:     *%%s<KOU r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP HEAD request.rv   )r0  r4  r   rs  r  s       r   r  zClientSession.head  s8     *NNC9HLR r   )rp   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP POST request.rp   )r0  r4  r   rt  r  r/  rp   r,  s       r   r  zClientSession.post  s/     *dnncGGG r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP PUT request.rp   )r0  r4  r   METH_PUTr  s       r   r  zClientSession.put  s/     *dmmSFtFvF r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP PATCH request.rp   )r0  r4  r   
METH_PATCHr  s       r   r  zClientSession.patch  s/     *doosHHH r   c                 X    t         | j                  t        j                  |fi |      S )zPerform HTTP DELETE request.)r0  r4  r   METH_DELETEr  s      r   r  zClientSession.delete  s*    )d..>v> r   c                    K   | j                   sB| j                  .| j                  r"| j                  j                          d{    d| _        yy7 w)zMClose underlying connector.

        Release all acquired resources.
        N)r)  r   r   rL  r  s    r   rL  zClientSession.close  sF     
 {{*t/D/Doo++---"DO -s   AAAAc                 N    | j                   du xs | j                   j                  S )z@Is client session closed.

        A readonly property.
        N)r   r)  r  s    r   r)  zClientSession.closed  s"     $&@$//*@*@@r   c                     | j                   S )z(Connector instance used for the session.r   r  s    r   r   zClientSession.connector  s     r   c                     | j                   S )zThe session cookies.)r   r  s    r   r   zClientSession.cookie_jar   s     r   c                     | j                   S )z"The session HTTP protocol version.)r   r  s    r   r   zClientSession.version       }}r   c                     | j                   S ))Do URL requoting on redirection handling.)r   r  s    r   r   z"ClientSession.requote_redirect_url
  s     )))r   c                 J    t        j                  dt        d       || _        y)r  z=session.requote_redirect_url modification is deprecated #2778r   r   N)r  r  r  r   )r  r  s     r   r   z"ClientSession.requote_redirect_url  s#     	K	

 &)"r   c                 R    t        j                  dt        d       | j                  S )zSession's loop.z"client.loop property is deprecatedr   r   )r  r  r  r   r  s    r   r   zClientSession.loop  s%     	02DQR	
 zzr   c                     | j                   S )zTimeout for the session.)r   r  s    r   r   zClientSession.timeout!  r  r   c                     | j                   S )z*The default headers of the client session.)r   r  s    r   rs   zClientSession.headers&       $$$r   c                     | j                   S )z2Headers for which autogeneration should be skipped)r   r  s    r   rt   zClientSession.skip_auto_headers+  s     &&&r   c                     | j                   S )z2An object that represents HTTP Basic Authorization)r   r  s    r   ru   zClientSession.auth0  s     !!!r   c                     | j                   S )zJson serializer callable)r   r  s    r   r   zClientSession.json_serialize5  s     ###r   c                     | j                   S )z-Should connector be closed on session closing)r   r  s    r   r   zClientSession.connector_owner:  r  r   c                     | j                   S )zGShould `ClientResponse.raise_for_status()` be called for each response.)r   r  s    r   r{   zClientSession.raise_for_status?  s    
 %%%r   c                     | j                   S )z7Should the body response be automatically decompressed.)r   r  s    r   r   zClientSession.auto_decompressF  r  r   c                     | j                   S )z
        Should proxies information from environment or netrc be trusted.

        Information is from HTTP_PROXY / HTTPS_PROXY environment variables
        or ~/.netrc file if present.
        )r   r  s    r   r   zClientSession.trust_envK  s     r   c                     | j                   S )z7A list of TraceConfig instances used for client tracing)r   r  s    r   r   zClientSession.trace_configsU  s     """r   c                     d| _         y)zwDetach connector from session without closing the former.

        Session is switched to closed state anyway.
        Nr
  r  s    r   detachzClientSession.detachZ  s    
 r   c                     t        d      )NzUse async with instead)	TypeErrorr  s    r   	__enter__zClientSession.__enter__a  s    011r   exc_typeexc_valexc_tbc                      y r   r   r  r"  r#  r$  s       r   __exit__zClientSession.__exit__d  s     	r   c                    K   | S wr   r   r  s    r   
__aenter__zClientSession.__aenter__m  s     s   c                 @   K   | j                          d {    y 7 wr   )rL  r&  s       r   	__aexit__zClientSession.__aexit__p  s      jjls   r   r   N)r   r  )r   re   )qr   r   r   __doc__r  r  r   r  StackSummaryr   r   rF   rq   r;  r=   r>   rC   r   HttpVersion11rT   rM   rd   r   AbstractEventLoopra   rb   rO   r   r   r`   r_   r  rW   r   r   r   r   r   rK   r   rf   listr^   r   _CharsetResolverr   r;   r  r  rL   r   r!  r  r.  r  version_infor   rl   rn   rg   r   r8  rc   r   rh   r?   r4  r   r   r   r  r   ru  rD   r  rX  rb  rv  r  r  r  r  r  r  rL  propertyr)  r   r   rr  r   r   setterr   r   rs   r   rt   ru   r   r   r{   r   r   r   r  r!  rK  r
   r'  r)  r+  __classcell__)r"  s   @r   re   re   
  s   9!	
#EJ 8<y--4;'+J$+ %)n( +/15'+'+!%'+26!%&*jj8<-:/=;R#11/3 $OT*2%)*2 $%)26.!"6J689AEn(T/n( !4'	n(
 ''$.n( $n( $n( $n( $n( $C=4/n( $n( $n( /5n( M*n( ^,n(    78!n(" #n($ &,%n(& 'n(( >*:IdO*K!LL)n(* i'+n(, dl-n(. -'/n(0 1n(2 3n(4 #5n(6 K(4/7n(8 9n(: ;n(< =n(> ?n(@ $4An(B 23Cn(D ($.6En(F 
Gn(`
tO4 
 
 	+C 	+c 	+d 	+ (0 	7 	7D 	7 7"}	+	+ 	+ _-		+
 &	+	P	P$,	P8;	P%	PX #  '+'+26!% $&*# #!%'+-5"&$()-/3&*-1$(#''+$(%)"&=AIhh h
 h h h $h $h $C=4/h $h h h *t#h h  !h$ 4K(N#3Yt_#DEE%h( )h* $+h, $-h. */h0 4K1h2 T\3h4  $&5h6 $,7h8 t9h: $d*;h< "=h> Dj?h@ AhB TzChD d
EhF 4ZGhH 23d:IhJ 
KhT 7"}	
 *-		W	W !		W
 ./	W R	W 
	W 
	X	X !		X
 ./	X S	X 
	X 

 !$		N	N 		N
 ./	N I	N 
	N mm#%/7(,"&!%!'+!%'+/3"&$()-&*-1+ 36
6
 	6

 C=6
 !9,6
 6
 6
 6
 4<6
 $6
 d
6
 6
 $6
 $6
  $!6
" $,#6
$ 4K%6
& T\'6
(  $&)6
* t+6
, $d*-6
. /6
0 16
2 36
4 
E56
p 7"}	
 *-		;	; !		;
 ./	; 6	; 
	; 
	<	< !		<
 ./	< 7	< 
	< 

 !$		2	2 		2
 ./	2 -	2 
	2 mm#%/7(,"&!%!'+!%'+/3"&$()-&*-1+ 3kk 	k
 C=k !9,k k k k 4<k $k d
k k $k $k  $!k" $,#k$ 4K%k& T\'k(  $&)k* t+k, $d*-k. /k0 1k2 3k4 
)5kZt(; @R  C I,<  7"}	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+ =A		59	LO	%	 =A		59	LO	%	 =B		59	MP	%	 15		*-	@C	%	 15		*-	@C	%	 15		*-	@C	%		h 	# 	:R 	# A A A =4/    -     sCx   *d * *   ) ) ) !) g//      % % '9T? ' ' "i$& " " $ $ $ % % % &	.)9T?:;	;& & % % % 4   #tK0 # #2}%, % $	
 
}%, % $	
 
r   re   c                      e Zd ZdZdeej                  e   def   ddfdZ	dddej                  e   fdZ
ded	edej                  e   fd
ZddZdeedef   fdZdeedef   fdZdefdZdee   dz  dedz  dedz  ddfdZy)_BaseRequestContextManager)_coro_respcoroNr   c                     || _         y r   )r9  )r  r;  s     r   r  z#_BaseRequestContextManager.__init__  s	    HL
r   argc                 8    | j                   j                  |      S r   )r9  rI  )r  r=  s     r   rI  z_BaseRequestContextManager.send  s    zzs##r   rj  r,  c                 :     | j                   j                  |i |S r   )r9  throw)r  rj  r,  s      r   r@  z _BaseRequestContextManager.throw  s    tzz000r   c                 6    | j                   j                         S r   )r9  rL  r  s    r   rL  z _BaseRequestContextManager.close  s    zz!!r   c                 :    | j                   j                         }|S r   )r9  	__await__)r  rets     r   rC  z$_BaseRequestContextManager.__await__  s    jj""$
r   c                 "    | j                         S r   )rC  r  s    r   __iter__z#_BaseRequestContextManager.__iter__  s    ~~r   c                    K   | j                    d {   | _        | j                  j                          d {   S 7 +7 wr   )r9  r:  r)  r  s    r   r)  z%_BaseRequestContextManager.__aenter__  s3     (,

"2
ZZ**,,, #3,s   A>&AA A Ar"  rN  tbc                 Z   K   | j                   j                  |||       d {    y 7 wr   )r:  r+  r  r"  rN  rH  s       r   r+  z$_BaseRequestContextManager.__aexit__  s$      jj""8S"555s   !+)+r,  )r   r   r   	__slots__r   r   Futurer   r   r  rI  r@  rL  r   rC  rF  r)  r  rK  r
   r+  r   r   r   r8  r8  y  s     #IMYw~~c':D+'MN MSW M$ $!4 $13 1# 1'..2E 1"9S$%;<  )C{$:;  -+ -6}%,6 T!6 D 	6
 
6r   r8  c                       e Zd ZdZdeej                  e   def   de	ddfdZ
defdZdee   dz  d	edz  d
edz  ddfdZy)_SessionRequestContextManagerr9  r:  _sessionr;  Nr?  r   c                 .    || _         d | _        || _        y r   rO  )r  r;  r?  s      r   r  z&_SessionRequestContextManager.__init__  s    
 
,0
r   c                    K   	 | j                    d {   | _        | j                  S 7 # t        $ r% | j                  j	                          d {  7    w xY wwr   )r9  r:  rK  rP  rL  r  s    r   r)  z(_SessionRequestContextManager.__aenter__  sQ     	#zz)DJ
 :: * 	--%%'''	s1   A+ )	+ A+ &AAAAr"  rN  rH  c                    K   | j                   J | j                   j                          | j                  j                          d {    y 7 wr   )r:  rL  rP  rJ  s       r   r+  z'_SessionRequestContextManager.__aexit__  s>      zz%%%

mm!!###s   AAA	A)r   r   r   rK  r   r   rL  r   r>   re   r  r)  r  rK  r
   r+  r   r   r   rN  rN    s    .I s+T>AB    
	 . $}%,$ T!$ D 	$
 
$r   rN  )r   r   r   r   r/  r   r   r   r,  r   c                     y r   r   )r   r/  r   r   r   r,  s         r   rg   rg     s     ),r   c          	          d}|d}t        |d      }t        ||j                  dd      ||j                  dt              ||      }t	         |j
                  | |fi ||      S )aB  Constructs and sends a request.

        Returns response object.
        method - HTTP method
        url - request url
        params - (optional) Dictionary or bytes to be sent in the query
        string of the new request
        data - (optional) Dictionary, bytes, or file-like object to
        send in the body of the request
        json - (optional) Any json compatible python object
        headers - (optional) Dictionary of HTTP Headers to send with
        the request
        cookies - (optional) Dict object to send with the request
        auth - (optional) BasicAuth named tuple represent HTTP Basic Auth
        auth - aiohttp.helpers.BasicAuth
        allow_redirects - (optional) If set to False, do not follow
        redirects
        version - Request HTTP version.
        compress - Set to True if request has to be compressed
        with deflate encoding.
        chunked - Set to chunk size for chunked transfer encoding.
        expect100 - Expect 100-continue response from server.
        connector - BaseConnector sub-class instance to support
        connection pooling.
        read_until_eof - Read response until eof if response
        does not have Content-Length header.
        loop - Optional event loop.
        timeout - Optional ClientTimeout settings structure, 5min
        total timeout by default.
        Usage::
        >>> import aiohttp
        >>> async with aiohttp.request('GET', 'http://python.org/') as resp:
        ...    print(resp)
        ...    data = await resp.read()
        <ClientResponse(https://www.python.org/) [200 OK]>
        FNT)r   force_closerr   r   )r   rr   r   r   r   r   )rH   re   rx  rT   rN  r4  )r   r/  r   r   r   r,  r   r?  s           r   rg   rg     s|    Z  "O$$DAIJJy$/JJy(3+
 -GVS3F3
 	
r   )r-  r   r  r  rq   r  r  r  r  collections.abcr   r   r   r   r   r   
contextlibr	   typesr
   typingr   r   r   r   r   r   r   r   r	  	multidictr   r   r   r   yarlr   r  r   r   r   _websocket.readerr   abcr   client_exceptionsr   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   client_middlewaresr;   r<   client_reqrepr=   r>   r?   r@   rA   	client_wsrB   rC   rD   r   rE   rF   rG   rH   rI   	cookiejarrJ   helpersrK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   http_websocketrZ   r[   r\   tracingr]   r^   typedefsr_   r`   ra   rb   rc   rd   __all__r   rh   r3  rl   rn   r   srf   r   r   r  r^  r   r   r   r2  re   r8  r0  r   r  rN  r/  r0  rg   r   r   r   <module>rj     s        	 
      	 	 	  B B  ! ! 1 "       > O  
  !    H G F F ' 0f Jw=7iu 7<	 0 T$d3  4, )6FQS(T}% T ST 
:
 ^U3S89 l l^+#6c3#$gk&:#6L 4NC 56Md6ST $ $B w=  $11*.15,,, 	,
 !4', ''$., ), 
',   $11*.15>
>
>
 	>

 !4'>
 ''$.>
 >
 
'>
r   