ó
    §ZÇh!  ã                  ó   • S SK Jr  S SKrS SKrS SKrS SKrS SKrSSKJr  SSK	J
r
JrJr  SSKJrJr  SSKJrJrJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  Sr\R>                  " S5      r SS jr! " S S\5      r"g)é    )ÚannotationsNé   )ÚAutoBackend)ÚSOCKET_OPTIONÚAsyncNetworkBackendÚAsyncNetworkStream)ÚConnectErrorÚConnectTimeout)ÚOriginÚRequestÚResponse)Údefault_ssl_context)Ú	AsyncLock)ÚTraceé   )ÚAsyncHTTP11Connection)ÚAsyncConnectionInterfaceg      à?zhttpcore.connectionc              #  ó`   #   • Sv •  [         R                  " 5        H  nU SU-  -  v •  M     g7f)z³
Generate a geometric sequence that has a ratio of 2 and starts with 0.

For example:
- `factor = 2`: `0, 2, 4, 8, 16, 32, 64, ...`
- `factor = 3`: `0, 3, 6, 12, 24, 48, 96, ...`
r   r   N)Ú	itertoolsÚcount)ÚfactorÚns     ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/httpcore/_async/connection.pyÚexponential_backoffr      s+   é € ð ‚GÜ�_Š_ÖˆØ�q˜!‘t‰mÔò ùs   ‚,.c                  óî   • \ rS rSr         S                     SS jjrSS jrSS jrSS jrSS jrSS jr	SS	 jr
SS
 jrSS jrSS jrSS jrSS jr   S       SS jjrSrg)ÚAsyncHTTPConnectioné&   Nc                óÒ   • Xl         X l        X0l        X@l        XPl        X`l        Xpl        X€l        U	c
  [        5       OU	U l	        S U l
        SU l        [        5       U l        X l        g )NF)Ú_originÚ_ssl_contextÚ_keepalive_expiryÚ_http1Ú_http2Ú_retriesÚ_local_addressÚ_udsr   Ú_network_backendÚ_connectionÚ_connect_failedr   Ú_request_lockÚ_socket_options)ÚselfÚoriginÚssl_contextÚkeepalive_expiryÚhttp1Úhttp2ÚretriesÚlocal_addressÚudsÚnetwork_backendÚsocket_optionss              r   Ú__init__ÚAsyncHTTPConnection.__init__'   sh   € ð ŒØ'ÔØ!1ÔØŒØŒØŒØ+ÔØŒ	ð -Ñ4ŒKŒM¸/ð 	Ôð =AˆÔØ%*ˆÔÜ&›[ˆÔØ-Õó    c              ƒ  ó^  #   • U R                  UR                  R                  5      (       d/  [        SUR                  R                   SU R                   35      e U R
                   IS h  v•N   U R                  c½  U R                  U5      I S h  v•N nUR                  S5      nUS L=(       a    UR                  5       S:H  nU(       d"  U R                  (       a9  U R                  (       d(  SSKJn  U" U R                  UU R                  S9U l        O$[        U R                  UU R                  S9U l        S S S 5      IS h  v•N   U R                  R%                  U5      I S h  v•N $  GN NÞ N,! , IS h  v•N  (       d  f       NA= f! [          a  nSU l        UeS nAff = f N@7f)	NzAttempted to send request to z on connection to Ú
ssl_objectÚh2r   )ÚAsyncHTTP2Connection)r-   Ústreamr/   T)Úcan_handle_requestÚurlr-   ÚRuntimeErrorr   r*   r(   Ú_connectÚget_extra_infoÚselected_alpn_protocolr#   r"   r1   r=   r!   r   ÚBaseExceptionr)   Úhandle_async_request)r,   Úrequestr>   r;   Úhttp2_negotiatedr=   Úexcs          r   rF   Ú(AsyncHTTPConnection.handle_async_requestE   si  é € Ø×&Ñ& w§{¡{×'9Ñ'9×:Ñ:ÜØ/°·±×0BÑ0BÐ/CÐCUÐVZ×VbÑVbÐUcÐdóð ð	Ø×)×)Ó)Ø×#Ñ#Ñ+Ø#'§=¡=°Ó#9×9�Fà!'×!6Ñ!6°|Ó!D�Jà"¨$Ð.÷ HØ&×=Ñ=Ó?À4ÑGð %ö (¨D¯K¯KÀÇÇÝ?á+?Ø#'§<¡<Ø#)Ø-1×-CÑ-Cñ,˜Õ(ô ,AØ#'§<¡<Ø#)Ø-1×-CÑ-Cñ,˜Ô(÷% *×)ð6 ×%Ñ%×:Ñ:¸7ÓC×CÐCò7 *á9÷ *×)×)Ð)ûô. ó 	Ø#'ˆDÔ ØˆIûð	úñ Dùs�   ‚AF-ÁF Á-E/Á.F Á1"E6ÂE2ÂB(E6Ä<F ÅE4ÅF ÅF-Å*F+Å+F-Å/F Å2E6Å4F Å6FÅ<E?Å=FÆ	F ÆF-ÆF Æ
F(Æ	F#Æ#F(Æ(F-c              ƒ  óð  #   • UR                   R                  S0 5      nUR                   R                  SS 5      nUR                  SS 5      nU R                  n[        [        S9n  U R
                  c¨  U R                  R                  R                  S5      U R                  R                  U R                  UU R                  S.n[        S[        X5       IS h  v•N nU R                  R                  " S0 UD6I S h  v•N n	X˜l        S S S 5      IS h  v•N   OnU R
                  UU R                  S.n[        S	[        X5       IS h  v•N nU R                  R"                  " S0 UD6I S h  v•N n	X˜l        S S S 5      IS h  v•N   U R                  R$                  S
;   aÊ  U R&                  c
  [)        5       OU R&                  n
U R*                  (       a  SS/OS/nU
R-                  U5        U
U=(       d%    U R                  R                  R                  S5      US.n[        S[        X5       IS h  v•N nW	R.                  " S0 UD6I S h  v•N n	X˜l        S S S 5      IS h  v•N   U	$ W	$  GN” GNs GN`! , IS h  v•N  (       d  f       GN= f GNI GN( GN! , IS h  v•N  (       d  f       GN+= f N€ Nh NT! , IS h  v•N  (       d  f       W	$ = f! [0        [2        4 a†    US::  a  e US-  n[5        U5      n[        S[        UW5       IS h  v•N  nU R                  R7                  U5      I S h  v•N    S S S 5      IS h  v•N     O! , IS h  v•N  (       d  f        O= ff = fGM  7f)NÚtimeoutÚsni_hostnameÚconnect)r   Úascii)ÚhostÚportr3   rL   r6   Úconnect_tcp)ÚpathrL   r6   Úconnect_unix_socket)ó   httpss   wsszhttp/1.1r<   )r.   Úserver_hostnamerL   Ú	start_tlsr   r   Úretry© )Ú
extensionsÚgetr$   r   ÚRETRIES_BACKOFF_FACTORr&   r   rP   ÚdecoderQ   r%   r+   r   Úloggerr'   rR   Úreturn_valuerT   Úschemer    r   r#   Úset_alpn_protocolsrW   r	   r
   ÚnextÚsleep)r,   rG   ÚtimeoutsrM   rL   Úretries_leftÚdelaysÚkwargsÚtracer>   r.   Úalpn_protocolsÚdelays                r   rB   ÚAsyncHTTPConnection._connecti   sø  é € Ø×%Ñ%×)Ñ)¨)°RÓ8ˆØ×)Ñ)×-Ñ-¨n¸dÓCˆØ—,‘,˜y¨$Ó/ˆà—}‘}ˆÜ$Ô,BÑCˆàð3=Ø—9‘9Ñ$à $§¡× 1Ñ 1× 8Ñ 8¸Ó AØ $§¡× 1Ñ 1Ø)-×)<Ñ)<Ø#*Ø*.×*>Ñ*>ñ�Fô  % ]´F¸G×LÔLÐPUØ'+×'<Ñ'<×'HÒ'HÑ'RÈ6Ñ'R×!R˜Ø-3Ô*÷  M×LÐLð
 !%§	¡	Ø#*Ø*.×*>Ñ*>ñ�Fô
  %Ø-¬v°w÷ ô  àØ'+×'<Ñ'<×'PÒ'Pñ (Ø$ñ(÷ "˜ð .4Ô*÷ ÷  ð —<‘<×&Ñ&Ð*<Ó<ð  ×,Ñ,Ñ4ô ,Ô-à!×.Ñ.ð  ð
 <@¿;¿; j°$Ñ%7ÈZÈL�NØ×2Ñ2°>ÔBð (3Ø+7÷ ,=ØŸ<™<×,Ñ,×3Ñ3°GÓ<Ø#*ñ	�Fô  % [´&¸'×JÔJÈeØ'-×'7Ò'7Ñ'A¸&Ñ'A×!A˜Ø-3Ô*÷  K×Jð ��v�òG  MÚ!R÷  M×L×LÒLúò ò"÷ ÷  ÷  ò  úñ.  KÙ!A÷  K×J×Jð �ûÜ ¤.Ð1ó =Ø 1Ó$ØØ Ñ!�Ü˜V›�Ü  ¬&°'¸6×BÕBÀeØ×/Ñ/×5Ñ5°eÓ<×<Ñ<÷ C×B×B×B×BÒBúð=úò] ùs”  ‚A%M6Á(A5K ÃI1ÃK Ã! I:ÄI4Ä
I:ÄK ÄI7Ä4K ÅJÅK Å JÅ0JÅ1
JÅ;K ÆJÆB1K È8J9È9K È<J?ÉJ;É
J?ÉK É(J=É)K É.M6É/K É0M6É1K É4I:É7K É:JÊ JÊJÊ	K ÊJÊK ÊJ6Ê$J'Ê%J6Ê1	K Ê;J?Ê=K Ê?KËKËKËK ËM6ËK Ë=M0ÌLÌM0ÌMÌ;L>Ì<MÍM0ÍMÍM0ÍM6ÍM,	ÍMÍM,	Í'M0Í*M6Í,M0Í0M6c                ó   • XR                   :H  $ ©N)r   )r,   r-   s     r   r?   Ú&AsyncHTTPConnection.can_handle_request§   s   € ØŸ™Ñ%Ð%r9   c              ƒ  ó  #   • U R                   bN  [        S[        S 0 5       IS h  v•N   U R                   R                  5       I S h  v•N   S S S 5      IS h  v•N   g g  N8 N N
! , IS h  v•N  (       d  f       g = f7f)NÚclose)r(   r   r^   Úaclose©r,   s    r   rq   ÚAsyncHTTPConnection.acloseª   s^   é € Ø×ÑÑ'Ü˜W¤f¨d°B×7Õ7Ø×&Ñ&×-Ñ-Ó/×/Ð/÷ 8×7Ð7ð (Ù7Ù/÷ 8×7×7Ð7üsV   ‚$A?¦A§A?ªA%ÁA!Á	A%ÁA?ÁA#ÁA?Á!A%Á#A?Á%A<Á+A.Á,A<Á8A?c                ó  • U R                   c\  U R                  =(       aI    U R                  R                  S:H  =(       d    U R                  (       + =(       a    U R
                  (       + $ U R                   R                  5       $ )NrU   )r(   r#   r   r`   r"   r)   Úis_availablerr   s    r   ru   Ú AsyncHTTPConnection.is_available¯   sf   € Ø×ÑÑ#ð
 —‘÷ -Ø—\‘\×(Ñ(¨HÑ4×G¸D¿K¹K¼÷-à×,Ñ,Ô,ðð
 ×Ñ×,Ñ,Ó.Ð.r9   c                óh   • U R                   c  U R                  $ U R                   R                  5       $ rm   )r(   r)   Úhas_expiredrr   s    r   rx   ÚAsyncHTTPConnection.has_expired»   s/   € Ø×ÑÑ#Ø×'Ñ'Ð'Ø×Ñ×+Ñ+Ó-Ð-r9   c                óh   • U R                   c  U R                  $ U R                   R                  5       $ rm   )r(   r)   Úis_idlerr   s    r   r{   ÚAsyncHTTPConnection.is_idleÀ   s/   € Ø×ÑÑ#Ø×'Ñ'Ð'Ø×Ñ×'Ñ'Ó)Ð)r9   c                óh   • U R                   c  U R                  $ U R                   R                  5       $ rm   )r(   r)   Ú	is_closedrr   s    r   r~   ÚAsyncHTTPConnection.is_closedÅ   s/   € Ø×ÑÑ#Ø×'Ñ'Ð'Ø×Ñ×)Ñ)Ó+Ð+r9   c                óz   • U R                   c  U R                  (       a  S$ S$ U R                   R                  5       $ )NzCONNECTION FAILEDÚ
CONNECTING)r(   r)   Úinforr   s    r   r‚   ÚAsyncHTTPConnection.infoÊ   s7   € Ø×ÑÑ#Ø*.×*>×*>Ð&ÐPÀLÐPØ×Ñ×$Ñ$Ó&Ð&r9   c                óX   • SU R                   R                   SU R                  5        S3$ )NÚ<z [z]>)Ú	__class__Ú__name__r‚   rr   s    r   Ú__repr__ÚAsyncHTTPConnection.__repr__Ï   s(   € Ø�4—>‘>×*Ñ*Ð+¨2¨d¯i©i«k¨]¸"Ð=Ð=r9   c              ƒ  ó   #   • U $ 7frm   rY   rr   s    r   Ú
__aenter__ÚAsyncHTTPConnection.__aenter__Õ   s
   é € Øˆùs   ‚c              ƒ  ó@   #   • U R                  5       I S h  v•N   g  N7frm   )rq   )r,   Úexc_typeÚ	exc_valueÚ	tracebacks       r   Ú	__aexit__ÚAsyncHTTPConnection.__aexit__Ø   s   é € ð �k‰k‹m×Óùs   ‚–—)r)   r(   r"   r#   r!   r%   r'   r   r*   r$   r+   r    r&   )	NNTFr   NNNN)r-   r   r.   zssl.SSLContext | Noner/   zfloat | Noner0   Úboolr1   r“   r2   Úintr3   ú
str | Noner4   r•   r5   zAsyncNetworkBackend | Noner6   z%typing.Iterable[SOCKET_OPTION] | NoneÚreturnÚNone)rG   r   r–   r   )rG   r   r–   r   )r-   r   r–   r“   )r–   r—   )r–   r“   )r–   Ústr)r–   r   )NNN)rŽ   ztype[BaseException] | Noner�   zBaseException | Noner�   ztypes.TracebackType | Noner–   r—   )r‡   Ú
__module__Ú__qualname__Ú__firstlineno__r7   rF   rB   r?   rq   ru   rx   r{   r~   r‚   rˆ   r‹   r‘   Ú__static_attributes__rY   r9   r   r   r   &   s  † ð .2Ø)-ØØØØ$(ØØ6:Ø@Dð.àð.ð +ð.ð 'ð	.ð
 ð.ð ð.ð ð.ð "ð.ð ð.ð 4ð.ð >ð.ð 
õ.ô<"DôH<=ô|&ô0ô

/ô.ô
*ô
,ô
'ô
>ôð
 04Ø*.Ø04ð	à,ðð (ðð .ð	ð
 
÷ð r9   r   )r   Úfloatr–   ztyping.Iterator[float])#Ú
__future__r   r   ÚloggingÚsslÚtypesÚtypingÚ_backends.autor   Ú_backends.baser   r   r   Ú_exceptionsr	   r
   Ú_modelsr   r   r   Ú_sslr   Ú_synchronizationr   Ú_tracer   Úhttp11r   Ú
interfacesr   r\   Ú	getLoggerr^   r   r   rY   r9   r   Ú<module>r­      se   ðÝ "ã Û Û 
Û Û å (ß SÑ Sß 6ß /Ñ /Ý &Ý (Ý Ý )Ý 0àÐ ð 
×	Ò	Ð0Ó	1€ô
ôxÐ2õ xr9   