
    q"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JrJrJ	r	J
r
  S SKJr  S SKJr  S SKJrJr  S SKJr  \(       a   S SK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\5      rg)    )annotationsN)TYPE_CHECKINGAny
CollectionMapping)HTTPAdapter)	DictCache)PERMANENT_REDIRECT_STATUSESCacheController)CallbackFileWrapper)PreparedRequestResponse)HTTPResponse)	BaseCache)BaseHeuristic)
Serializerc                     ^  \ rS rSr1 Skr      S                 S	U 4S jjjr      S
               SU 4S jjjr  S         SU 4S jjjrSU 4S jjrSr	U =r
$ )CacheControlAdapter   >   PUTPATCHDELETEc                   > [         T
U ]  " U0 UD6  Uc
  [        5       OUU l        XPl        U=(       d    SU l        U=(       d    [        n	U	" U R                  X$S9U l        g )N)GET)cache_etags
serializer)super__init__r	   cache	heuristiccacheable_methodsr   
controller)selfr   r   controller_classr   r    r!   argskwcontroller_factory	__class__s             R/var/www/html/env/lib/python3.13/site-packages/pip/_vendor/cachecontrol/adapter.pyr   CacheControlAdapter.__init__   sX     	$%"%$)MY[u
"!2!>h-@,JJK
    c                z  > U=(       d    U R                   nUR                  U;   ag   U R                  R                  U5      n	U	(       a  U R                  XSS9$ UR                  R                  U R                  R                  U5      5        [        TU ]-  XX4XV5      n
U
$ ! [        R
                   a    Sn	 Nvf = f)z|
Send a request. Use the request information to see if it
exists in the cache and cache the response if we need to and can.
NT)
from_cache)r!   methodr"   cached_requestzliberrorbuild_responseheadersupdateconditional_headersr   send)r#   requeststreamtimeoutverifycertproxiesr!   	cacheablecached_responserespr(   s              r)   r6   CacheControlAdapter.send3   s     &?)?)?	>>Y&'"&//"@"@"I **7PT*UU OO""4??#F#Fw#OPw|GWdL :: '"&'s   B! !B:9B:c           
     l  >^
 U=(       d    U R                   nU(       Gd  UR                  U;   Gat  U R                  (       a  U R                  R                  U5      nUR                  S:X  aC  U R
                  R                  X5      nXbLa  SnUR                  SS9  UR                  5         UnO[        UR                  5      [        ;   a  U R
                  R                  X5        O[        UR                  [        R                  " U R
                  R                  U[         R"                  " U5      5      5      Ul        UR$                  (       aR  UR&                  R(                  m
    SU
4S jjn[        R                  " U[         R"                  " U5      5      Ul        [*        TU ]Y  X5      nUR                  U R.                  ;   a`  UR0                  (       aO  UR2                  c   eU R
                  R5                  UR2                  5      n	U R6                  R9                  U	5        X8l        U$ )z
Build a response by making a request or using the cache.

This will end up calling send and returning a potentially
cached response
i0  TF)decode_contentc                   > U " 5       nUc  g T" U5        UR                   S:X  a  UR                  R                  5         g g )Nr   )
chunk_left_fp_close)	weak_selfr#   super_update_chunk_lengths     r)   _update_chunk_length@CacheControlAdapter.build_response.<locals>._update_chunk_length   s;      ){<"1$7??a/ HHOO- 0r+   )rG   z#weakref.ReferenceType[HTTPResponse]returnNone)r!   r.   r    applystatusr"   update_cached_responsereadrelease_connintr
   cache_responser   rE   	functoolspartialweakrefrefchunkedr(   rI   r   r2   invalidating_methodsokurl	cache_urlr   deleter-   )r#   r7   responser-   r!   r=   r>   rI   r?   r\   rH   r(   s             @r)   r2   "CacheControlAdapter.build_responseQ   s    &?)?)?	gnn	9 ~~>>//9 #%
 #'//"H"H# #2!%J U3%%'* X__%)DD..wA  3LL%%66XAV  ##080B0B0W0W-	.#F	.	. 5>4E4E,gkk(.C5H1 /B >>T666477;;***11'++>IJJi( %r+   c                V   > U R                   R                  5         [        TU ]  5         g )N)r   closer   )r#   r(   s    r)   ra   CacheControlAdapter.close   s    

r+   )r   r!   r"   r    )NTNNNN)r   zBaseCache | Noner   boolr$   ztype[CacheController] | Noner   zSerializer | Noner    zBaseHeuristic | Noner!   Collection[str] | Noner%   r   r&   r   rK   rL   )FNTNNN)r7   r   r8   rc   r9   z7None | float | tuple[float, float] | tuple[float, None]r:   z
bool | strr;   z4None | bytes | str | tuple[bytes | str, bytes | str]r<   zMapping[str, str] | Noner!   rd   rK   r   )FN)
r7   r   r^   r   r-   rc   r!   rd   rK   r   )rK   rL   )__name__
__module____qualname____firstlineno__rY   r   r6   r2   ra   __static_attributes____classcell__)r(   s   @r)   r   r      sB   5 #' 9=(,*.48

 
 7	

 &
 (
 2
 
 
 

 
0 KO!GK,048   I	
  D * 2 
 D !48S S S 	S
 2S 
S Sj r+   r   )
__future__r   rT   typesrV   r0   typingr   r   r   r   pip._vendor.requests.adaptersr   pip._vendor.cachecontrol.cacher	   #pip._vendor.cachecontrol.controllerr
   r   $pip._vendor.cachecontrol.filewrapperr   pip._vendor.requestsr   r   pip._vendor.urllib3r   r   #pip._vendor.cachecontrol.heuristicsr   "pip._vendor.cachecontrol.serializer   r    r+   r)   <module>rw      sH    #     : : 5 4 \ D>08A=M+ Mr+   