§
    µBÄj�  ã                   óB  — 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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 erd d	lmZ d
ej        dz  ddfd„Zded
ej        dz  ddfd„Z G d„ de j        ¦  «        Z G d„ de	¦  «        Zdej        d
ej        dz  ddfd„ZdS )é    N)ÚTYPE_CHECKING)ÚHTTPAdapter)ÚPoolManager)Úwait_for_read)Úwait_for_writeé   )ÚDownloadCancelled)ÚBufferÚcancelÚreturnc                 óT   — | �#|                       ¦   «         rt          d¦  «        ‚d S d S )NzDownload cancelled)Úis_setr	   ©r   s    úDC:\Projects\Historical\venv\Lib\site-packages\gdown/_cancellation.pyÚ_check_cancelledr      s2   € ØÐ˜fŸmšm™oœoÐÝÐ 4Ñ5Ô5Ð5ð ÐÐÐó    Úsecondsc                 ó€   — |€t          j        | ¦  «         d S |                     | ¦  «         t          |¬¦  «         d S )Nr   )ÚtimeÚsleepÚwaitr   )r   r   s     r   Ú_wait_or_cancelr      sF   € Ø€~ÝŒ
�7ÑÔÐÐÐà�Š�GÑÔÐÝ Ð'Ñ'Ô'Ð'Ð'Ð'r   c                   ór   ‡ — e Zd Zdej        dej        dej        ddfd„Zde	fd„Z
dd	defd
„Zdˆ fd„Zˆ xZS )Ú_CancellableReaderÚrawÚsockr   r   Nc                ó0   — || _         || _        || _        d S ©N)Ú_rawÚ_sockÚ_cancel)Úselfr   r   r   s       r   Ú__init__z_CancellableReader.__init__"   s   € ð ˆŒ	ØˆŒ
ØˆŒˆˆr   c                 ó   — dS )NT© )r"   s    r   Úreadablez_CancellableReader.readable)   s   € Øˆtr   Úbufferr
   c                ó˜  — | j                              ¦   «         }|€d nt          j        ¦   «         |z   }| j                              d¦  «         	 	 t          | j        ¬¦  «         d}	 | j                             |¦  «        }|�|| j                              |¦  «         S n'# t          j
        $ r Y nt          j        $ r d}Y nw xY w|€d n|t          j        ¦   «         z
  }|�|dk    rt          d¦  «        ‚|rt          nt          } || j         |€dnt          d|¦  «        ¦  «         ŒÝ# | j                              |¦  «         w xY w)Nr   Tr   Fz	timed outgš™™™™™©?)r    Ú
gettimeoutr   Ú	monotonicÚ
settimeoutr   r!   r   ÚreadintoÚsslÚSSLWantReadErrorÚSSLWantWriteErrorÚTimeoutErrorr   r   Úmin)r"   r'   ÚtimeoutÚdeadlineÚwritingÚcountÚ	remainingr   s           r   r,   z_CancellableReader.readinto,   s  € Ø”*×'Ò'Ñ)Ô)ˆØ"˜?�4�4µ´Ñ0@Ô0@À7Ñ0Jˆð 	Œ
×Ò˜aÑ Ô Ð ð	+ðVÝ ¨¬Ð5Ñ5Ô5Ð5Ø�ð#Ø œI×.Ò.¨vÑ6Ô6�EØÐ(Ø$ð ŒJ×!Ò! 'Ñ*Ô*Ð*Ð*ð )øåÔ+ð ð ð Ø�DÝÔ,ð #ð #ð #Ø"�G�G�Gð#øøøà$,Ð$4˜D˜D¸(ÅTÄ^ÑEUÔEUÑ:U�	ØÐ(¨Y¸!ª^¨^Ý& {Ñ3Ô3Ð3à)0ÐC•~�~µm�Ø��T”Z¨Ð):  ÅÀDÈ)Ñ@TÔ@TÑUÔUÐUð!Vøð$ ŒJ×!Ò! 'Ñ*Ô*Ð*Ð*øøøs=   ÁD- Á(B! Â D- Â!CÂ0D- Â2CÃD- ÃCÃA(D- Ä-E	c                 óÆ   •— 	 | j                              ¦   «          t          ¦   «                              ¦   «          d S # t          ¦   «                              ¦   «          w xY wr   )r   ÚcloseÚsuper)r"   Ú	__class__s    €r   r8   z_CancellableReader.closeG   sE   ø€ ð	ØŒI�OŠOÑÔÐå‰GŒG�MŠM‰OŒOˆOˆOˆOø�E‰GŒG�MŠM‰OŒOˆOˆOøøøs	   ƒ> ¾"A )r   N)Ú__name__Ú
__module__Ú__qualname__ÚioÚ	RawIOBaseÚsocketÚ	threadingÚEventr#   Úboolr&   Úintr,   r8   Ú__classcell__©r:   s   @r   r   r   !   s´   ø€ € € € € ðØ”lðØ*0¬-ðØAJÄðà	ðð ð ð ð˜$ð ð ð ð ð+˜xð +¨sð +ð +ð +ð +ð6ð ð ð ð ð ð ð ð ð r   r   c                   óZ   ‡ — e Zd Zdej        ddfˆ fd„Zdeddfd„Zdede	defˆ fd	„Z
ˆ xZS )
Ú_CancellableAdapterr   r   Nc                óŒ   •— t          ¦   «                              ¦   «          || _        |                      | j        ¬¦  «         d S ©N)Úmanager)r9   r#   r!   Ú_configure_poolsÚpoolmanager)r"   r   r:   s     €r   r#   z_CancellableAdapter.__init__O   s@   ø€ Ý‰Œ×ÒÑÔÐØˆŒØ×Ò dÔ&6ÐÑ7Ô7Ð7Ð7Ð7r   rK   c                ó&  ‡‡‡— |j                              ¦   «         |_         | j        Š|j                              ¦   «         D ]N\  }} G ˆfd„d|j        j        ¦  «        Š G ˆfd„d|j        ¦  «        Š G ˆfd„d|¦  «        }||j         |<   ŒOd S )Nc                   ól   •‡ — e Zd ZU ej        ed<   	 	 	 d
dej        dededz  dedz  ddf
ˆ ˆfd	„Z	ˆ xZ
S )ú6_CancellableAdapter._configure_pools.<locals>.ResponseÚfpr   Nr   Ú
debuglevelÚmethodÚurlr   c                 óÒ   •— t          ¦   «                              ||||¬¦  «         t          j        t	          | j                             ¦   «         |‰¬¦  «        ¦  «        | _        d S )N)rR   rS   rT   )r   r   r   )r9   r#   r>   ÚBufferedReaderr   rQ   Údetach)r"   r   rR   rS   rT   r:   r   s        €€r   r#   z?_CancellableAdapter._configure_pools.<locals>.Response.__init__]   sn   ø€ õ ‘G”G×$Ò$Ø¨¸FÈð %ñ ô ð õ !Ô/Ý*Ø $¤§¢Ñ 0Ô 0°tÀFðñ ô ñô �D”G�G�Gr   )r   NN)r;   r<   r=   r>   rV   Ú__annotations__r@   rD   Ústrr#   rE   )r:   r   s   @€r   ÚResponserP   Z   sž   øø€ € € € € € ØÔ%Ð%Ð%Ñ%ð
 '(Ø)-Ø&*ðð à œ-ðð !$ðð   $™Jð	ð
 ˜t™ðð ðð ð ð ð ð ð ð ð ð ð r   rZ   c                   ó   •— e Zd Z” ZdS )ú8_CancellableAdapter._configure_pools.<locals>.ConnectionN)r;   r<   r=   Úresponse_class)rZ   s   €r   Ú
Connectionr\   m   s   ø€ € € € € Ø!)���r   r^   c                   ó   •— e Zd Z” ZdS )ú2_CancellableAdapter._configure_pools.<locals>.PoolN)r;   r<   r=   ÚConnectionCls)r^   s   €r   ÚPoolr`   p   s   ø€ € € € € Ø *���r   rb   )Úpool_classes_by_schemeÚcopyr!   Úitemsra   r]   )r"   rK   ÚschemeÚpoolrb   r^   rZ   r   s        @@@r   rL   z$_CancellableAdapter._configure_poolsT   s  øøø€ à)0Ô)G×)LÒ)LÑ)NÔ)NˆÔ&Ø”ˆØ#Ô:×@Ò@ÑBÔBð 	:ð 	:‰LˆF�Dðð ð ð ð ð ð ˜4Ô-Ô<ñ ô ð ð&*ð *ð *ð *ð *ð *ð *˜TÔ/ñ *ô *ð *ð+ð +ð +ð +ð +ð +ð +�tñ +ô +ð +ð 6:ˆGÔ*¨6Ñ2Ð2ð9	:ð 	:r   ÚproxyÚproxy_kwargsc                 ó~   •— || j         v } t          ¦   «         j        |fi |¤Ž}|s|                      |¬¦  «         |S rJ   )Úproxy_managerr9   Úproxy_manager_forrL   )r"   rh   ri   ÚexistedrK   r:   s        €r   rl   z%_CancellableAdapter.proxy_manager_forv   sR   ø€ Ø˜4Ô-Ð-ˆØ+•%‘'”'Ô+¨EÐBÐB°\ÐBÐBˆØð 	3à×!Ò!¨'Ð!Ñ2Ô2Ð2Øˆr   )r;   r<   r=   rA   rB   r#   r   rL   rY   Úobjectrl   rE   rF   s   @r   rH   rH   N   s£   ø€ € € € € ð8 )¤/ð 8°dð 8ð 8ð 8ð 8ð 8ð 8ð
 :¨;ð  :¸4ð  :ð  :ð  :ð  :ðD sð ¸Fð À{ð ð ð ð ð ð ð ð ð ð r   rH   Úsessionc                 ó†   — |�>t          |¬¦  «        }|                      d|¦  «         |                      d|¦  «         d S d S )Nr   zhttp://zhttps://)rH   Úmount)ro   r   Úadapters      r   Ú_configure_cancellationrs      sP   € ð ÐÝ%¨VÐ4Ñ4Ô4ˆØ�Š�i Ñ)Ô)Ð)Ø�Š�j 'Ñ*Ô*Ð*Ð*Ð*ð Ðr   )r>   r@   r-   rA   r   Útypingr   ÚrequestsÚrequests.adaptersr   Úurllib3r   Úurllib3.utilr   r   Ú
exceptionsr	   Útyping_extensionsr
   rB   r   Úfloatr   r?   r   rH   ÚSessionrs   r%   r   r   ú<module>r}      sµ  ðØ 	€	€	€	Ø €€€Ø 
€
€
€
Ø Ð Ð Ð Ø €€€Ø  Ð  Ð  Ð  Ð  Ð  à €€€Ø )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à )Ð )Ð )Ð )Ð )Ð )àð )Ø(Ð(Ð(Ð(Ð(Ð(ð6 	¤°$Ñ 6ð 6¸4ð 6ð 6ð 6ð 6ð
( ð (¨y¬ÀÑ/Eð (È$ð (ð (ð (ð (ð*ð *ð *ð *ð *˜œñ *ô *ð *ðZ.ð .ð .ð .ð .˜+ñ .ô .ð .ðb+ØÔ ð+Ø*3¬/¸DÑ*@ð+à	ð+ð +ð +ð +ð +ð +r   