+
    WGj                       ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
Ht ^ RIHtHtHtHt ^ RIt ^ RIHtHt ^ RIHtHt ^ RIHtHt ^ R	IHt ^ R
IHtH t  ]PB                  ! ]"4      t# ! R R4      t$ ! R R]$]PJ                  4      t& ! R R]PN                  4      t( ! R R]4      t)R#   ] d    ]! R4      Rhi ; i)    )annotationsN)Path)AnyIterableIteratorcast)SessionadapterszKrequests is required to use PyPISession, please install `unearth[requests]`)PreparedRequestResponse)DEFAULT_MAX_RETRIESDEFAULT_SECURE_ORIGINS)Link)build_url_from_netlocparse_netlocc                  4   a  ] tR t^tV 3R ltV 3R ltRtV ;t# )InsecureMixinc                	(   < \         SV `  WR VR7      # )F)verifycert)supercert_verify)selfconnurlr   r   	__class__s   &&&&&7lib/python3.14/site-packages/unearth/fetchers/legacy.pyr   InsecureMixin.cert_verify   s    w"4U"FF    c                	   < \         P                  ! 4       ;_uu_ 4        \        P                  ! \        P                  P
                  4       \        SV `  ! V.VO5/ VB uuR R R 4       #   + '       g   i     R # ; iN)warningscatch_warningsurllib3disable_warnings
exceptionsInsecureRequestWarningr   send)r   requestargskwargsr   s   &&*,r   r(   InsecureMixin.send"   sQ    $$&&$$W%7%7%N%NO7<9$9&9 '&&&s   AA,,A=	 )__name__
__module____qualname____firstlineno__r   r(   __static_attributes____classcell__r   s   @r   r   r      s    G: :r   r   c                      ] tR t^(tRtR# )InsecureHTTPAdapterr-   N)r.   r/   r0   r1   r2   r-   r   r   r6   r6   (   s    r   r6   c                  .    ] tR t^,tR R ltR R ltRtR# )LocalFSAdapterc               (    V ^8  d   QhRRRRRRRR/# )   r)   r   r*   r   r+   returnr   r-   )formats   "r   __annotate__LocalFSAdapter.__annotate__-   s(      O C 3 8 r   c                	F   \        \        \        VP                  4      4      pVP                  p\        4       p^Vn        \        \        VP                  4      Vn        Wn         \        P                  ! V4      p\        P                  P                  VP                  RR7      p\        P                  ! V4      ^ ,          ;'       g    Rp	VP                   P#                  RV	R\        VP$                  4      RV/4       \'        VR4      Vn        VP(                  P*                  Vn        V#   \,         de   p
RTn        \/        T
4      P0                  Tn        \4        P6                  ! TP2                   R	T
 2P9                  4       4      Tn         R
p
?
T# R
p
?
ii ; i)   T)usegmtz
text/plainzContent-TypezContent-LengthzLast-Modifiedrbi  z: N)r   r   strr   	file_pathr   status_coder)   osstatemailutils
formatdatest_mtime	mimetypes
guess_typeheadersupdatest_sizeopenrawcloseOSErrortyper.   reasonioBytesIOencode)r   r)   r*   r+   linkpathrespstatsmodifiedcontent_typeexcs   &&*,       r   r(   LocalFSAdapter.send-   sG   Dgkk*+~~zW[[)	(GGDME {{--ennT-JH$//5a8HHLLLL"L$c%--&8#X D$'DHDJ)  	D  #Ds),,DKzzT[[MC5"9"@"@"BCDHH )	Ds   'D1 1F <AFF c                   V ^8  d   QhRR/# )r:   r;   Noner-   )r<   s   "r   r=   r>   M   s      t r   c                	    R # r!   r-   )r   s   &r   rS   LocalFSAdapter.closeM   s    r   r-   N)r.   r/   r0   r1   r(   rS   r2   r-   r   r   r8   r8   ,   s    @ r   r8   c            
         a  ] tR t^QtRt]P                  t]t	RRR]
RRRRR^
/R V 3R	 llltR
 V 3R lltR R ltR R ltR R lt]P"                  RR/R R ll4       tRtV ;t# )PyPISessiona  
A session with caching enabled and specific hosts trusted.

Args:
    retries: The number of retries to attempt.
    trusted_hosts: The hosts to trust.
    ca_certificates: The path to a file where the certificates for
        CAs reside. These are used when verifying the host
        certificates of the index servers. When left unset, the
        default certificates of the requests library will be used.

index_urlsretriestrusted_hostsca_certificatesNtimeoutc               0    V ^8  d   QhRRRRRRRRRR	R
R/# )r:   rh   zIterable[str]ri   intrj   rk   zPath | Nonerl   z-float | tuple[float, float] | urllib3.Timeoutr;   rc   r-   )r<   s   "r   r=   PyPISession.__annotate__c   sH      6  6 " 6 	 6
 % 6 % 6 ? 6 
 6r   c               	  < \         S	V `  4        \        P                  ! V. RORR7      pV P	                  VR7      V n        V P                  VR7      pV P                  RV4       V P                  RV P
                  4       V P                  R\        4       4       WPn	        \        4       V n        V F  pV P                  V4       K  	  Ve   V P                  V4       R# R# )	  g      ?)totalstatus_forcelistbackoff_factor)max_retrieszhttps://zhttp://zfile://N)rq   i  i  i  )r   __init__r$   Retryinsecure_adapter_cls_insecure_adaptersecure_adapter_clsmountr8   rl   set_trusted_host_ports_add_trusted_hostset_ca_certificates)
r   rh   ri   rj   rk   rl   retrysecure_adapterhostr   s
   &$$$$$   r   rv   PyPISession.__init__c   s     	 2
 "&!:!:u!:!M00U0C

:~.

9d445

9n./@C !D""4( " &$$_5 'r   c               $    V ^8  d   QhRRRRRR/# )r:   r)   r   r+   r   r;   r   r-   )r<   s   "r   r=   ro      s!     / /O /s /x /r   c                	j   < VP                  R 4      f   V P                  VR &   \        SV `  ! V3/ VB # )rl   )getrl   r   r(   )r   r)   r+   r   s   &&,r   r(   PyPISession.send   s4    ::i ( $F9w|G.v..r   c                   V ^8  d   QhRR/# )r:   	cert_filer   r-   )r<   s   "r   r=   ro      s     % %T %r   c                &    \        V4      V n        R# )zL
Set one or multiple certificate authorities which sign the
server's certs.
N)rC   r   )r   r   s   &&r   r   PyPISession.set_ca_certificates   s    
 )nr   c                    V ^8  d   QhRRRR/# )r:   r   rC   r;   rc   r-   )r<   s   "r   r=   ro      s     	> 	>c 	>d 	>r   c                   \        V4      w  r#V P                  P                  W#34       R F[  p\        WR7      pV P	                  VR,           V P
                  4       Ve   K8  V P	                  VR,           V P
                  4       K]  	  R# )z:Trust the given host by not verifying the SSL certificate.)scheme/N:)httpshttp)r   r}   addr   r{   ry   )r   r   hostnameportr   r   s   &&    r   r~   PyPISession._add_trusted_host   sn    %d+  $$h%56'F'<CJJsSy$"8"89|

39d&<&<= (r   c                   V ^8  d   QhRR/# )r:   r;   zIterable[tuple[str, str, str]]r-   )r<   s   "r   r=   ro      s     B B%C Br   c              #  	   "   \          R j  xL
  V P                   F  w  rRYf   RM
\        V4      3x  K  	  R #  L05i)N*)r   r}   rC   )r   r   r   s   &  r   iter_secure_originsPyPISession.iter_secure_origins   s:     )))22JD\cs4yAA 3 	*s   
?=1?rN   c               $    V ^8  d   QhRRRRRR/# )r:   r   rC   rN   zdict[str, str] | Noner;   zIterator[Response]r-   )r<   s   "r   r=   ro      s$      $9	r   c             #     "   V P                  WRR7      ;_uu_ 4       pVP                  Vn        Vx  RRR4       R#   + '       g   i     R# ; i5i)z'Stream the response from the given URL.T)rN   streamN)r   iter_content
iter_bytes)r   r   rN   r\   s   &&$ r   
get_streamPyPISession.get_stream   s<     
 XXc4X88D"//DOJ 9888s   A>
AA			A)ry   r}   rl   r   r-   )r.   r/   r0   r1   __doc__r
   HTTPAdapterrz   r6   rx   r   rv   r(   r   r~   r   
contextlibcontextmanagerr   r2   r3   r4   s   @r   rg   rg   Q   s    
 "--. 6 %' 6 +	 6
 (* 6 (, 6 BD 6  6D/ /
%	>B
 <@ r   rg   )*
__future__r   r   email.utilsrH   rW   loggingrL   rF   r"   pathlibr   typingr   r   r   r   r$   requestsr	   r
   ModuleNotFoundErrorrequests.modelsr   r   unearth.fetchersr   r   unearth.linkr   unearth.utilsr   r   	getLoggerr.   loggerr   r   r6   BaseAdapterr8   rg   r-   r   r   <module>r      s    "   	   	   0 0 *
 6 H  =			8	$: :	-)=)= 	"X)) "JW' WA  
Us   B4 4C