Ë
    ìO´jq   ã                  óþ   — d dl m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 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 ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ dZ ej>                  d«      Z dd„Z! G d„ de«      Z"y)é    )ÚannotationsNé   )ÚAutoBackend)ÚSOCKET_OPTIONÚAsyncNetworkBackendÚAsyncNetworkStream)ÚConnectErrorÚConnectTimeout)ÚOriginÚRequestÚResponse)Údefault_ssl_context)Ú	AsyncLock)ÚTraceé   )ÚAsyncHTTP11Connection)ÚAsyncConnectionInterfaceg      à?zhttpcore2.connectionc              #  óZ   K  — d–— t        j                  «       D ]  }| d|z  z  –— Œ y­w)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     úr/var/www/origus_pro_usr/data/www/origus.pro/core/.venv/lib/python3.12/site-packages/httpcore2/_async/connection.pyÚexponential_backoffr      s1   è ø€ ð ‚GÜ�_‰_Óò ˆØ�q˜!‘t‰mÓñùs   ‚)+c                  óØ   — e Zd Z	 	 	 	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd	„Z
dd
„Zdd„Zdd„Zdd„Zdd„Zdd„Z	 	 	 d	 	 	 	 	 	 	 dd„Zy)ÚAsyncHTTPConnectionNc                óâ   — || _         || _        || _        || _        || _        || _        || _        || _        |	€
t        «       n|	| _	        d | _
        d| _        t        «       | _        |
| _        y )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__zAsyncHTTPConnection.__init__'   ss   € ð ˆŒØ'ˆÔØ!1ˆÔØˆŒØˆŒØˆŒØ+ˆÔØˆŒ	àFUÐF]´[´]ÐcrˆÔØ<@ˆÔØ%*ˆÔÜ&›[ˆÔØ-ˆÕó    c              ƒ  ó(  K  — | j                  |j                  j                  «      s/t        d|j                  j                  › d| j                  › �«      ‚	 | j
                  4 ƒd {  –—†  | j                  €¯| j                  |«      ƒ d {  –—† }|j                  d«      }|d uxr |j                  «       dk(  }|s| j                  r7| j                  s+ddlm}  || j                  || j                  ¬«      | _        n't        | j                  || j                  ¬«      | _        d d d «      ƒd {  –—†  | j                  j%                  |«      ƒ d {  –—† S 7 Œò7 ŒÏ7 Œ+# 1 ƒd {  –—†7  sw Y   Œ;xY w# t         $ r}d| _        |‚d }~ww xY w7 Œ9­w)	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!   r0   r;   r    r   ÚBaseExceptionr(   Úhandle_async_request)r+   Úrequestr<   r9   Úhttp2_negotiatedr;   Úexcs          r   rD   z(AsyncHTTPConnection.handle_async_requestC   sn  è ø€ Ø×&Ñ& w§{¡{×'9Ñ'9Ô:ÜÐ!>¸w¿{¹{×?QÑ?QÐ>RÐRdÐei×eqÑeqÐdrÐsÓtÐtð	Ø×)Ñ)÷ ñ Ø×#Ñ#Ð+Ø#'§=¡=°Ó#9×9�Fà!'×!6Ñ!6°|Ó!D�JØ'1¸Ð'=Ò'mÀ*×BcÑBcÓBeÐimÑBmÐ$Ù'¨D¯KªKÀÇÂÝ?á+?Ø#'§<¡<Ø#)Ø-1×-CÑ-Cô,˜Õ(ô ,AØ#'§<¡<Ø#)Ø-1×-CÑ-Cô,˜Ô(÷÷ ð0 ×%Ñ%×:Ñ:¸7ÓC×CÐCð1øà9øðø÷ ÷ ñ ûô( ò 	Ø#'ˆDÔ ØˆIûð	úð Dús‘   ‚AFÁE6 Á(EÁ)E6 Á,!E!ÂEÂBE!Ä(E6 Ä3EÄ4E6 Ä8FÅFÅFÅE6 ÅE!ÅE6 Å!E3Å'E*Å(E3Å/E6 Å6	FÅ?	FÆFÆFc              ƒ  óÖ  K  — |j                   j                  di «      }|j                   j                  dd «      }|j                  dd «      }| j                  }t        t        ¬«      }	 	 | j
                  €ª| j                  j                  j                  d«      | j                  j                  | j                  || j                  dœ}t        dt        ||«      4 ƒd {  –—† } | j                  j                  di |¤Žƒ d {  –—† }	|	|_        d d d «      ƒd {  –—†  np| j
                  || j                  dœ}t        d	t        ||«      4 ƒd {  –—† } | j                  j"                  di |¤Žƒ d {  –—† }	|	|_        d d d «      ƒd {  –—†  | j                  j$                  d
v rÐ| j&                  €
t)        «       n| j&                  }
| j*                  r| j,                  rddgndgndg}|
j/                  |«       |
|xs% | j                  j                  j                  d«      |dœ}t        dt        ||«      4 ƒd {  –—† } 	j0                  di |¤Žƒ d {  –—† }	|	|_        d d d «      ƒd {  –—†  |	S 	S 7 �Œ›7 �Œz7 �Œf# 1 ƒd {  –—†7  sw Y   �ŒxY w7 �ŒI7 �Œ(7 �Œ# 1 ƒd {  –—†7  sw Y   �Œ%xY w7 Œw7 Œ_7 ŒJ# 1 ƒd {  –—†7  sw Y   	S xY w# t2        t4        f$ r€ |dk  r‚ |dz  }t7        |«      }t        dt        |«      4 ƒd {  –—†7  }| j                  j9                  |«      ƒ d {  –—†7   d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wY nw xY w�Œÿ­w)NÚtimeoutÚsni_hostnameÚconnect)r   Úascii)ÚhostÚportr2   rI   r5   Úconnect_tcp)ÚpathrI   r5   Úconnect_unix_socket)ó   httpss   wssr:   zhttp/1.1)r-   Úserver_hostnamerI   Ú	start_tlsr   r   Úretry© )Ú
extensionsÚgetr#   r   ÚRETRIES_BACKOFF_FACTORr%   r   rM   ÚdecoderN   r$   r*   r   Úloggerr&   rO   Úreturn_valuerQ   Úschemer   r   r"   r!   Úset_alpn_protocolsrT   r	   r
   ÚnextÚsleep)r+   rE   ÚtimeoutsrJ   rI   Úretries_leftÚdelaysÚkwargsÚtracer<   r-   Úalpn_protocolsÚdelays                r   r@   zAsyncHTTPConnection._connectb   s6  è ø€ Ø×%Ñ%×)Ñ)¨)°RÓ8ˆØ×)Ñ)×-Ñ-¨n¸dÓCˆØ—,‘,˜y¨$Ó/ˆà—}‘}ˆÜ$Ô,BÔCˆàð*=Ø—9‘9Ð$à $§¡× 1Ñ 1× 8Ñ 8¸Ó AØ $§¡× 1Ñ 1Ø)-×)<Ñ)<Ø#*Ø*.×*>Ñ*>ñ�Fô  % ]´F¸GÀVÓL÷ 4ð 4ÐPUØ'H t×'<Ñ'<×'HÑ'HÑ'RÈ6Ñ'R×!R˜Ø-3˜Ô*÷4÷ 4ð 4ð
 !%§	¡	Ø#*Ø*.×*>Ñ*>ñ�Fô
  %Ð%:¼FÀGÈVÓT÷ 4ð 4ÐX]Ø'P t×'<Ñ'<×'PÑ'PÑ'ZÐSYÑ'Z×!Z˜Ø-3˜Ô*÷4÷ 4ð —<‘<×&Ñ&Ð*<Ñ<Ø;?×;LÑ;LÐ;TÔ"5Ô"7ÐZ^×ZkÑZk�KØX\×XcÒXc¸D¿KºK t¨ZÑ&8ÈdÉVÐjtÐiu�NØ×2Ñ2°>ÔBð (3Ø+7Ò+\¸4¿<¹<×;LÑ;L×;SÑ;SÐT[Ó;\Ø#*ñ�Fô
  % [´&¸'À6ÓJ÷ 4ð 4ÈeØ'7 v×'7Ñ'7Ñ'A¸&Ñ'A×!A˜Ø-3˜Ô*÷4÷ 4ð ��v�ð54ùØ!Rùð4ù÷ 4÷ 4ò 4úð4ùØ!Zùð4ù÷ 4÷ 4ò 4úð4øØ!Aøð4ø÷ 4÷ 4ð 4ð �ûÜ ¤.Ð1ò =Ø 1Ò$ØØ Ñ!�Ü˜V›�Ü  ¬&°'¸6ÓB÷ =ñ =ÀeØ×/Ñ/×5Ñ5°eÓ<×<Ñ<÷=÷ =÷ =÷ =ó =üð=úñK ùsŽ  ‚A(M)Á+A5K Ã I;Ã!K Ã$ JÄI>ÄJÄK ÄJÄ5K ÅJÅK Å J#Å5JÅ6J#ÆK ÆJ ÆB4K ÉJ9ÉK ÉJ?ÉJ;ÉJ?É'K É2J=É3K É8M)É9K É:M)É;K É>JÊK ÊJÊ
JÊJÊ	K ÊJ#Ê K Ê#J6Ê)J,Ê*J6Ê1	K Ê;J?Ê=K Ê?KËKËKËK ËM)ËK Ë;M$ÌLÌM$ÌMÌ4L7Ì5MÌ:M$ÍMÍM$ÍM	ÍMÍM	ÍM$Í!M)Í#M$Í$M)c                ó    — || j                   k(  S ©N)r   )r+   r,   s     r   r=   z&AsyncHTTPConnection.can_handle_request—   s   € Ø˜Ÿ™Ñ%Ð%r7   c              ƒ  óö   K  — | j                   �Nt        dt        d i «      4 ƒd {  –—†  | j                   j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  y y 7 Œ87 Œ7 Œ
# 1 ƒd {  –—†7  sw Y   y xY w­w)NÚclose)r'   r   r[   Úaclose©r+   s    r   rl   zAsyncHTTPConnection.acloseš   su   è ø€ Ø×ÑÐ'Ü˜W¤f¨d°BÓ7÷ 0ñ 0Ø×&Ñ&×-Ñ-Ó/×/Ð/÷0÷ 0ð 0ð (ð0øØ/øð0ø÷ 0÷ 0ñ 0üsV   ‚#A9¥A¦A9©A$ÁA ÁA$ÁA9ÁA"ÁA9Á A$Á"A9Á$A6Á*A-Á+A6Á2A9c                óV   — | j                   d uxr | j                   j                  «       S ri   )r'   Úis_connectedrm   s    r   ro   z AsyncHTTPConnection.is_connectedŸ   s'   € Ø×Ñ tÐ+ÒO°×0@Ñ0@×0MÑ0MÓ0OÐOr7   c                óØ   — | j                   €E| j                  xr7 | j                  j                  dk(  xs | j                   xr | j
                   S | j                   j                  «       S )NrR   )r'   r"   r   r]   r!   r(   Úis_availablerm   s    r   rq   z AsyncHTTPConnection.is_available¢   s]   € Ø×ÑÐ#ð —;‘;Òt D§L¡L×$7Ñ$7¸8Ñ$CÒ$VÈ4Ï;É;ÀÒtÐ`d×`tÑ`tÐ\tÐtØ×Ñ×,Ñ,Ó.Ð.r7   c                óf   — | j                   €| j                  S | j                   j                  «       S ri   )r'   r(   Úhas_expiredrm   s    r   rs   zAsyncHTTPConnection.has_expiredª   s/   € Ø×ÑÐ#Ø×'Ñ'Ð'Ø×Ñ×+Ñ+Ó-Ð-r7   c                óf   — | j                   €| j                  S | j                   j                  «       S ri   )r'   r(   Úis_idlerm   s    r   ru   zAsyncHTTPConnection.is_idle¯   s/   € Ø×ÑÐ#Ø×'Ñ'Ð'Ø×Ñ×'Ñ'Ó)Ð)r7   c                óV   — | j                   d uxr | j                   j                  «       S ri   )r'   Úcan_multiplexrm   s    r   rw   z!AsyncHTTPConnection.can_multiplex´   s'   € Ø×Ñ tÐ+ÒP°×0@Ñ0@×0NÑ0NÓ0PÐPr7   c                óf   — | j                   €| j                  S | j                   j                  «       S ri   )r'   r(   Ú	is_closedrm   s    r   ry   zAsyncHTTPConnection.is_closed·   s/   € Ø×ÑÐ#Ø×'Ñ'Ð'Ø×Ñ×)Ñ)Ó+Ð+r7   c                ón   — | j                   €| j                  rdS dS | j                   j                  «       S )NzCONNECTION FAILEDÚ
CONNECTING)r'   r(   Úinform   s    r   r|   zAsyncHTTPConnection.info¼   s7   € Ø×ÑÐ#Ø*.×*>Ò*>Ð&ÐPÀLÐPØ×Ñ×$Ñ$Ó&Ð&r7   c                óX   — d| j                   j                  › d| j                  «       › d�S )Nú<z [z]>)Ú	__class__Ú__name__r|   rm   s    r   Ú__repr__zAsyncHTTPConnection.__repr__Á   s(   € Ø�4—>‘>×*Ñ*Ð+¨2¨d¯i©i«k¨]¸"Ð=Ð=r7   c              ƒ  ó   K  — | S ­wri   rV   rm   s    r   Ú
__aenter__zAsyncHTTPConnection.__aenter__Ç   s   è ø€ Øˆùs   ‚c              ƒ  ó@   K  — | j                  «       ƒ d {  –—†  y 7 Œ­wri   )rl   )r+   Úexc_typeÚ	exc_valueÚ	tracebacks       r   Ú	__aexit__zAsyncHTTPConnection.__aexit__Ê   s   è ø€ ð �k‰k‹m×Òús   ‚–—)	NNTFr   NNNN)r,   r   r-   zssl.SSLContext | Noner.   zfloat | Noner/   Úboolr0   r‰   r1   Úintr2   ú
str | Noner3   r‹   r4   zAsyncNetworkBackend | Noner5   z%typing.Iterable[SOCKET_OPTION] | NoneÚreturnÚNone)rE   r   rŒ   r   )rE   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__r6   rD   r@   r=   rl   ro   rq   rs   ru   rw   ry   r|   r�   rƒ   rˆ   rV   r7   r   r   r   &   s  „ ð .2Ø)-ØØØØ$(ØØ6:Ø@Dð.àð.ð +ð.ð 'ð	.ð
 ð.ð ð.ð ð.ð "ð.ð ð.ð 4ð.ð >ð.ð 
ó.ó8Dó>3=ój&ó0ó
Pó/ó.ó
*ó
Qó,ó
'ó
>óð
 04Ø*.Ø04ð	à,ðð (ðð .ð	ð
 
ôr7   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   rY   Ú	getLoggerr[   r   r   rV   r7   r   ú<module>r¡      sg   ðÝ "ã Û Û 
Û Û å (ß SÑ Sß 6ß /Ñ /Ý &Ý (Ý Ý )Ý 0àÐ ð 
ˆ×	Ñ	Ð1Ó	2€ó
ôjÐ2õ jr7   