Ë
    ž…Åj¼  ã                  óŒ  — d dl mZ d dlZd dlZd dl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mZmZmZmZ ddlmZmZmZ d	d
lmZ eeeef   eeeef      eeef   Zeeee ee   ee   f   Z!ee!ee   f   Z" e#«       Z$ e#«       Z%ddd„Z&ddd„Z'dd„Z(dd„Z)e G d„ d«      «       Z*e G d„ d«      «       Z+e G d„ d«      «       Z,y)é    )ÚannotationsN)ÚAsyncIterableÚIterableÚIterator)Úsuppress)ÚSEEK_ENDÚSEEK_SETÚBytesIO)ÚIOÚAnyÚUnionÚcastÚfinalé   )ÚCURL_READFUNC_PAUSEÚCURLPAUSE_SEND_CONTÚCurlé   )ÚUnrewindableBodyErrorc                óD   — 	 | j                   d   S # t        $ r |cY S w xY w©Nr   )ÚqueueÚ
IndexError©ÚqÚdefaults     úP/opt/euro-skaner/venv/lib/python3.12/site-packages/curl_cffi/requests/streams.pyÚ_peek_queuer      s)   € ðØ�w‰w�q‰zÐøÜò ØŠðúó   ‚ ‘žc                óD   — 	 | j                   d   S # t        $ r |cY S w xY wr   )Ú_queuer   r   s     r   Ú_peek_aio_queuer"   #   s)   € ðØ�x‰x˜‰{ÐøÜò ØŠðúr   c                ój  — |�|n| }t        |d«      sT|�*t        |t        «      r|j                  «       |urdS t        S |�%t        |t
        «      rt        |«      |urdS t        S y	 t        |d«      r|j                  «       st        ‚|j                  «       S # t        t        f$ r	 t        cY S w xY w)zLCapture enough state to safely replay a request body after a failed attempt.NÚreadÚseekable)ÚhasattrÚ
isinstancer   Ú	__aiter__Ú_BODY_NOT_REWINDABLEr   Úiterr%   ÚOSErrorÚtellÚAttributeError)ÚdataÚcontentÚbodys      r   Ú_capture_body_positionr1   *   s¬   € àÐ)‰7¨t€DÜ�4˜Ô ØÐ¤:¨d´MÔ#BØŸ>™>Ó+°4Ñ7�4ÐQÔ=QÐQØÐ¤:¨d´HÔ#=Ü ›:¨TÑ1�4ÐKÔ7KÐKØð$Ü�4˜Ô$¨T¯]©]¬_ÜˆMØ�y‰y‹{ÐøÜœGÐ$ò $Ü#Ò#ð$ús   Á(1B ÂB2Â1B2c                óš   — |€y |t         u rt        d«      ‚	 | j                  |«       y # t        t        f$ r}t        d«      |‚d }~ww xY w)Nz0Unable to rewind streamed request body for retry)r)   r   Úseekr-   r+   )r0   ÚpositionÚexcs      r   Ú_rewind_bodyr6   ;   sY   € ØÐØØÔ'Ñ'Ü#Ð$VÓWÐWðØ�	‰	�(ÕøÜœGÐ$ò Ü#Ø>ó
àð	ûðús   ˜* ªA
¹AÁA
c                  ó$   — e Zd ZdZdZdd„Zdd„Zy)Ú_IterableReaderz”Adapt a sync ``Iterable[bytes]`` to the ``read(size)`` interface that
    libcurl's read callback expects, buffering and slicing chunks to ``size``.)Ú_itÚ_bufc                óB   — t        |«      | _        t        «       | _        y ©N)r*   r9   Ú	bytearrayr:   )ÚselfÚiterables     r   Ú__init__z_IterableReader.__init__O   s   € Ü$(¨£NˆŒÜ(›{ˆ�	ó    c                óî   — | j                   }|sD	 t        | j                  «      }t	        |t
        t        t        f«      st        d«      ‚||z  }|sŒDt        |d | «      }|d |…= |S # t        $ r Y yw xY w)NrA   ú&request body iterator must yield bytes)	r:   Únextr9   ÚStopIterationr'   Úbytesr=   Ú
memoryviewÚ	TypeError)r>   ÚsizeÚbufÚchunks       r   r$   z_IterableReader.readS   sƒ   € Ø�i‰iˆÙðÜ˜TŸX™X›�ô ˜e¤e¬Y¼
Ð%CÔDÜÐ HÓIÐIØ�5‰LˆCò ô �c˜%˜4�jÓ!ˆØ���ˆJØˆøô !ò Ùðús   �A( Á(	A4Á3A4N)r?   zIterable[bytes]ÚreturnÚNone©rI   ÚintrL   rF   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r@   r$   © rA   r   r8   r8   H   s   „ ñRð  €Ió+ôrA   r8   c                  óP   — e Zd ZdZdZd	d„Zed
d„«       Zedd„«       Zdd„Z	dd„Z
y)Ú_FileReaderzHKeep the starting offset of a file-like upload so libcurl can replay it.)Ú_fileÚ_lengthÚ_startc                ó˜  — || _         d | _        	 t        |d«      r|j                  «       st        ‚|j                  «       | _        | j                  �`	 |j                  dt        «       t        d|j                  «       | j                  z
  «      | _        	 |j                  | j                  «       y y # t        t        f$ r
 d | _        Y Œ…w xY w# t        t        f$ r Y ŒKw xY w# t        t        f$ r d | _        d | _        Y y w xY w# 	 |j                  | j                  «       w # t        t        f$ r d | _        d | _        Y w w xY wxY w)Nr%   r   )rX   rY   r&   r%   r+   r,   rZ   r-   r3   r   Úmax)r>   Úfiles     r   r@   z_FileReader.__init__h   s  € ØˆŒ
Ø#'ˆŒð	Ü�t˜ZÔ(°·±´Ü�Ø&*§i¡i£kˆDŒKð �;‰;Ð"ð
(Ø—	‘	˜!œXÔ&Ü" 1 d§i¡i£k°D·K±KÑ&?Ó@�”ð(Ø—I‘I˜dŸk™kÕ*ð #øô ¤Ð(ò 	ØˆDŽKð	ûô #¤GÐ,ò Ùðûô
 '¬Ð0ò (Ø"&�D”KØ#'�D–Lð(ûð(Ø—I‘I˜dŸk™kÕ*øÜ&¬Ð0ò (Ø"&�D”KØ#'�D–Lð(ýsl   �7B4 ÁAC ÂC% Â4CÃCÃC"ÃD Ã!C"Ã"D Ã%DÄDÄE	Ä
D&Ä%E	Ä&EÅE	ÅEÅE	c                ó   — | j                   S r<   )rY   ©r>   s    r   Úlengthz_FileReader.length~   s   € à�|‰|ÐrA   c                óN   — | j                   d uxr t        | j                  d«      S )Nr3   )rZ   r&   rX   r_   s    r   Ú
rewindablez_FileReader.rewindable‚   s!   € à�{‰{ $Ð&ÒF¬7°4·:±:¸vÓ+FÐFrA   c                ó8   — | j                   j                  |«      S r<   )rX   r$   )r>   rI   s     r   r$   z_FileReader.read†   s   € Ø�z‰z�‰˜tÓ$Ð$rA   c                ó´   — | j                   st        d«      ‚|t        k(  r|t        t        | j
                  «      z  }| j                  j                  ||«      S )Nzrequest body is not seekable)rb   r+   r	   r   rO   rZ   rX   r3   )r>   ÚoffsetÚorigins      r   r3   z_FileReader.seek‰   sG   € Ø�ŠÜÐ8Ó9Ð9Ø”XÒØ”dœ3 §¡Ó,Ñ,ˆFØ�z‰z�‰˜v vÓ.Ð.rA   N)r]   r   rL   rM   )rL   z
int | None)rL   ÚboolrN   )re   rO   rf   rO   rL   rO   )rP   rQ   rR   rS   rT   r@   Úpropertyr`   rb   r$   r3   rU   rA   r   rW   rW   b   sC   „ áRà.€Ió(ð, òó ðð òGó ðGó%ô/rA   rW   c                  ó@   — e Zd ZdZd	d„Zd
d„Zd
d„Zd
d„Zd
d„Zdd„Z	y)Ú_AsyncIterableReaderzEBridge an async byte iterable to libcurl's synchronous read callback.c                ó¬   — || _         || _        t        j                  d¬«      | _        t        «       | _        d| _        d| _        d | _	        d | _
        y )Nr   )ÚmaxsizeF)Ú	_iterableÚ_curlÚasyncioÚQueuer!   r=   Ú_bufferÚ_doneÚ_pausedÚ
_exceptionÚ_task)r>   r?   Úcurls      r   r@   z_AsyncIterableReader.__init__•   sE   € Ø!ˆŒØˆŒ
Ü,3¯M©MÀ!Ô,DˆŒÜ “{ˆŒØˆŒ
ØˆŒØ04ˆŒØ04ˆ�
rA   c                óT   — t        j                  | j                  «       «      | _        y r<   )ro   Úcreate_taskÚ_produceru   r_   s    r   Ústartz_AsyncIterableReader.startŸ   s   € Ü×(Ñ(¨¯©«Ó9ˆ�
rA   c              ƒ  óÞ   K  — | j                   }|€y |j                  «       s|j                  «        t        t        j
                  «      5  |ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wr<   )ru   ÚdoneÚcancelr   ro   ÚCancelledError)r>   Útasks     r   Úclosez_AsyncIterableReader.close¢   s[   è ø€ Ø�z‰zˆØˆ<ØØ�y‰yŒ{Ø�K‰KŒMÜ”g×,Ñ,Ó-ñ 	Ø�JˆJ÷	ð 	Øø÷	ð 	üs0   ‚A	A-ÁA!ÁAÁA!Á	A-ÁA!Á!A*Á&A-c              ƒ  ó  K  — | j                   j                  «       }	 	 	 |j                  «       ƒ d {  –—† }t	        |t
        t        t        f«      st        d«      ‚|sŒC| j                  j                  t        |«      «      ƒ d {  –—†  | j                  «        Œ7 Œj# t        $ r Y nw xY w7 Œ&n0# t        j                  $ r ‚ t        $ r}|| _        Y d }~nd }~ww xY wt!        |dd «      }	 |� |«       ƒ d {  –—†7   n<# t        j                  $ r ‚ t        $ r}| j                  €|| _        Y d }~nd }~ww xY wd| _        | j                  «        y # d| _        | j                  «        w xY w# t!        |dd «      }	 |� |«       ƒ d {  –—†7   n<# t        j                  $ r ‚ t        $ r}| j                  €|| _        Y d }~nd }~ww xY wd| _        | j                  «        w # d| _        | j                  «        w xY wxY w­w)NTrC   Úaclose)rm   r(   Ú	__anext__ÚStopAsyncIterationr'   rF   r=   rG   rH   r!   ÚputÚ_resumero   r~   ÚBaseExceptionrt   Úgetattrrr   )r>   ÚiteratorrK   r5   r‚   s        r   ry   z_AsyncIterableReader._produce«   sÈ  è ø€ Ø—>‘>×+Ñ+Ó-ˆð	ØðØ"*×"4Ñ"4Ó"6×6�Eô " %¬%´¼JÐ)GÔHÜ#Ð$LÓMÐMÙØØ—k‘k—o‘o¤e¨E£lÓ3×3Ð3Ø—‘”ð à6ùÜ)ò Ùðúð 4øð øô ×%Ñ%ò 	ØÜò 	"Ø!ˆD�O‰Oûð	"úô ˜X x°Ó6ˆFð
ØÐ%Ù ›(—N‘NùÜ×)Ñ)ò ØÜ ò *Ø—?‘?Ð*Ø&)�D”Oÿøð*úð "�”
Ø—‘•øð "�”
Ø—‘•ûô ˜X x°Ó6ˆFð
ØÐ%Ù ›(—N‘NùÜ×)Ñ)ò ØÜ ò *Ø—?‘?Ð*Ø&)�D”Oÿøð*úð "�”
Ø—‘•øð "�”
Ø—‘•ÿs  ‚HžB2  B  ³B´B  ¸AB2 ÂB/Â	B2 ÂB  Â 	B,Â)B2 Â+B,Â,B2 Â1E3 Â2CÃCÃE3 ÃCÃE3 Ã"HÃ0D Ã<C?Ã=D ÄE ÄD<ÄD7Ä2E Ä7D<Ä<E Ä?HÅE0Å0HÅ3HÆFÆFÆFÆG)ÆGÆ1G	ÇG)Ç	GÇG)ÇHÇ)HÈHÈHc                ój   — | j                   r'd| _         | j                  j                  t        «       y y )NF)rs   rn   Úpauser   r_   s    r   r†   z_AsyncIterableReader._resumeË   s(   € Ø�<Š<Ø ˆDŒLØ�J‰J×ÑÔ0Õ1ð rA   c                ó  — | j                   }|s	 || j                  j                  «       z  }t        |d | «      }|d |…= |S # t        j                  $ r7 | j
                  r| j                  �| j                  d ‚Y yd| _        t        cY S w xY w)NrA   T)
rq   r!   Ú
get_nowaitro   Ú
QueueEmptyrr   rt   rs   r   rF   )r>   rI   ÚbufferrK   s       r   r$   z_AsyncIterableReader.readÐ   s�   € Ø—‘ˆÙð+Ø˜$Ÿ+™+×0Ñ0Ó2Ñ2�ô �f˜U˜d�mÓ$ˆØ�5�D�5ˆMØˆøô ×%Ñ%ò +Ø—:’:Ø—‘Ð2Ø"Ÿo™o°4Ð7ÙØ#�”Ü*Ò*ð+ús   �A Á8BÁ<BÂBN)r?   zAsyncIterable[bytes]rv   r   rL   rM   )rL   rM   )rI   rO   rL   zbytes | int)
rP   rQ   rR   rS   r@   rz   r€   ry   r†   r$   rU   rA   r   rj   rj   ‘   s$   „ áOó5ó:óóó@2ô
rA   rj   r<   )r   zqueue.Queue)r   zasyncio.Queue)r.   úobject | Noner/   r�   )r0   r�   r4   ÚobjectrL   rM   )-Ú
__future__r   ro   r   Úcollections.abcr   r   r   Ú
contextlibr   Úior   r	   r
   Útypingr   r   r   r   r   rv   r   r   r   Ú
exceptionsr   ÚdictÚstrÚlistÚtuplerF   ÚRequestDatar=   ÚSyncRequestContentÚRequestContentr‘   Ú
STREAM_ENDr)   r   r"   r1   r6   r8   rW   rj   rU   rA   r   ú<module>r       s  ðÝ "ã Û ß =Ñ =Ý ß *Ñ *ß .Õ .ç AÑ AÝ -ð Øˆˆcˆ�NØˆˆs�Cˆx‰ÑØØØ	ð	ñ€ð ˜3  y°"°U±)¸XÀe¹_ÐLÑMÐ ØÐ)¨=¸Ñ+?Ð?Ñ@€á‹X€
Ù“xÐ ôôó$ó"
ð ÷ð ó ðð2 ÷+/ð +/ó ð+/ð\ ÷Lð Ló ñLrA   