+
    <j,/                        ^ 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
 ^ RIHt ^ RIHtHtHtHtHtHt ^ RIHtHtHtHtHtHt ^ RIHt ^ RIHt ^ R	IHt ^ R
I H!t! ^ RI"H#t#H$t$ ^ RI%H&t& ^ RI'H(t( ^ RI)H*t* ]PV                  ! 4       t,Rs-Rt.]$! R4      t/ ! R R]04      t1R R lt2] Pf                  R,R R ll4       t4R R lt5 ! R R]Pl                  4      t7] ! R R4      4       t8 ! R R]4      t9RR/R  R! llt: ! R" R#]4      t; ! R$ R%]Px                  Pz                  4      t> ! R& R']4      t? ! R( R)]4      t@R* R+ ltAR# )-    N)	dataclassTextIOWrapper)Filter)AnyClassVar	GeneratorListOptionalType)ConsoleConsoleOptionsConsoleRenderableRenderableTypeRenderResultRichCast)NullHighlighter)RichHandler)Segment)Style)VERBOSE	getLogger)WINDOWS)DEPRECATION_MSG_PREFIX)
ensure_dirzpip.subprocessorc                       ] tR t^%tRtRtR# )BrokenStdoutLoggingErrorzG
Raised if BrokenPipeError occurs for the stdout stream while logging.
 N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       P/opt/headortail/venv/lib/python3.14/site-packages/pip/_internal/utils/logging.pyr   r   %   s    r%   r   c                R    V ^8  d   QhR\         \        ,          R\        R\        /# )   	exc_classexcreturn)r   BaseExceptionbool)formats   "r&   __annotate__r/   +   s,     
Q 
QT-%8 
Q} 
QQU 
Qr%   c                     V \         J d   R # \        '       g   R# \        V\        4      ;'       d.    VP                  \        P
                  \        P                  39   # )TF)BrokenPipeErrorr   
isinstanceOSErrorerrnoEINVALEPIPE)r)   r*   s   &&r&   _is_broken_pipe_errorr7   +   sB    O#
 7c7#PP		ellEKK5P(PPr%   c                >    V ^8  d   QhR\         R\        R,          /# )r(   numr+   )NNN)intr	   )r.   s   "r&   r/   r/   9   s      & &C &	*: ; &r%   c              #     "   \        4       \        n        \        ;P                  V ,          un         Rx  \        ;P                  V ,          un        R#   \        ;P                  T ,          un        i ; i5i)zj
A context manager which will cause the log output to be indented for any
log messages emitted inside it.
N)get_indentation
_log_stateindentation)r9   s   &r&   
indent_logr?   8   sM      -.Jc!&#%
#%s   1A9A A9A66A9c                $    V ^8  d   QhR\         /# r(   r+   r:   )r.   s   "r&   r/   r/   G   s     1 1 1r%   c                  $    \        \        R ^ 4      # )r>   )getattrr=   r   r%   r&   r<   r<   G   s    :}a00r%   c                   t   a a ] tR t^Kt oRtRR/V3R lV 3R llltV3R lR ltV3R lV 3R	 lltR
tVt	V ;t
# )IndentingFormatterz%Y-%m-%dT%H:%M:%Sadd_timestampFc                0   < V ^8  d   QhRS[ RS[RS[ RR/# )r(   argsrG   kwargsr+   N)r   r-   )r.   __classdict__s   "r&   r/   IndentingFormatter.__annotate__N   s3     * ** * 	*
 
*r%   c               4   < Wn         \        SV `  ! V/ VB  R# )z
A logging.Formatter that obeys the indent_log() context manager.

:param add_timestamp: A bool indicating output lines should be prefixed
    with their record's timestamp.
N)rG   super__init__)selfrG   rI   rJ   	__class__s   &$*,r&   rO   IndentingFormatter.__init__N   s     +$)&)r%   c                ,   < V ^8  d   QhRS[ RS[RS[ /# )r(   	formattedlevelnor+   )strr:   )r.   rK   s   "r&   r/   rL   ]   s"      3   r%   c                    V\         P                  8  d   R# VP                  \        4      '       d   R# V\         P                  8  d   R# R# )z^
Return the start of the formatted log message (not counting the
prefix to add to each line).
 z	WARNING: zERROR: )loggingWARNING
startswithr   ERROR)rP   rT   rU   s   &&&r&   get_message_start$IndentingFormatter.get_message_start]   s<    
 W__$ 677 W]]"r%   c                :   < V ^8  d   QhRS[ P                  RS[/# r(   recordr+   )rY   	LogRecordrV   )r.   rK   s   "r&   r/   rL   m   s!      W.. 3 r%   c                b  < \         SV `  V4      pV P                  W!P                  4      pW2,           pRpV P                  '       d   V P                  V4       R2pVR\        4       ,          ,          pRP                  VP                  R4       Uu. uF  qTV,           NK  	  up4      pV# u upi )zn
Calls the standard formatter, but will indent all of the log message
lines by our current indentation level.
rX    T)	rN   r.   r]   rU   rG   
formatTimer<   join
splitlines)rP   ra   rT   message_startprefixlinerQ   s   &&    r&   r.   IndentingFormatter.formatm   s    
 GN6*	..y..I!-	/02F#)))GGy7K7KD7QR7Qtd]]7QRS	 Ss   B,)rG   )r   r    r!   r"   default_time_formatrO   r]   r.   r$   __classdictcell____classcell__rQ   rK   s   @@r&   rF   rF   K   s8     -* $* *    r%   rF   c                   >   a  ] tR t^~t o V 3R lR ltV 3R ltRtV tR# )IndentedRenderablec                ,   < V ^8  d   QhRS[ RS[RS[/# )r(   consoleoptionsr+   )r   r   r   )r.   rK   s   "r&   r/   IndentedRenderable.__annotate__   s%         )7 	 r%   c              #     "   VP                  V P                  V4      p\        P                  ! V4      pV F8  p\        R V P                  ,          4      x  T Rj  xL
  \        R4      x  K:  	  R#  L5i)rd   N
)render
renderabler   split_linesindent)rP   rs   rt   segmentslinesrj   s   &&&   r&   __rich_console__#IndentedRenderable.__rich_console__   s]      >>$//7;##H-D#+,,OO$- s   AA7A5A7c                2   < V ^8  d   Qh/ S[ ;R&   S[;R&   # )r(   ry   r{   )r   r:   )r.   rK   s   "r&   r/   ru   ~   s       K r%   r   N)r   r    r!   r"   r~   __annotate_func__r$   rm   rK   s   @r&   rq   rq   ~   s     
     r%   rq   c                   2   a  ] tR t^t o V 3R lR ltRtV tR# )
PipConsolec                   < V ^8  d   QhRR/# )r(   r+   Nr   )r.   rK   s   "r&   r/   PipConsole.__annotate__   s     * * *r%   c                    \        4       R hN)r1   )rP   s   &r&   on_broken_pipePipConsole.on_broken_pipe   s     T)r%   r   N)r   r    r!   r"   r   r$   rm   r   s   @r&   r   r      s     * *r%   r   stderrFc                0    V ^8  d   QhR\         R\        /# )r(   r   r+   )r-   r   )r.   s   "r&   r/   r/      s      4 G r%   c                 f    V '       d   \         f   Q R4       h\         # \        f   Q R4       h\        # )Nzstderr rich console is missing!zstdout rich console is missing!)_stderr_console_stdout_console)r   s   $r&   get_consoler      s5    *M,MM**M,MM*r%   c                   x   a a ] tR t^t o. tV3R lV 3R lltV3R lR ltV3R lV 3R lltV3R ltRt	Vt
V ;t# )	RichPipStreamHandlerc                $   < V ^8  d   QhRS[ RR/# )r(   rs   r+   N)r   )r.   rK   s   "r&   r/   !RichPipStreamHandler.__annotate__   s     
 
 
D 
r%   c                @   < \         SV `  VR R R \        4       R7       R# )F)rs   	show_time
show_level	show_pathhighlighterN)rN   rO   r   )rP   rs   rQ   s   &&r&   rO   RichPipStreamHandler.__init__   s'    ') 	 	
r%   c                8   < V ^8  d   QhRS[ P                  RR/# r(   ra   r+   NrY   rb   )r.   rK   s   "r&   r/   r      s!     % %7,, % %r%   c                   R p\        VRR4      '       dr   \        VP                  \        4      '       g   Q hVP                  w  p\        V\        \
        \        34      '       g   Q V R24       h\        V\        4       R7      pMV P                  V4      pV P                  W4      pVP                  eX   VP                  \        P                  8  d   \        RR7      pM+VP                  \        P                  8  d   \        RR7      p V P                   P#                  VRRVR	7       R #   \$         d    T P'                  T4        R # i ; i)
NrichFz is not rich-console-renderable)r{   red)coloryellowignore)overflowcropstyle)rD   r2   rI   tupler   r   rV   rq   r<   r.   render_messagerU   rY   r\   r   rZ   rs   print	ExceptionhandleError)rP   ra   r   rich_renderablery   messages   &&    r&   emitRichPipStreamHandler.emit   s"   !% 665))fkk51111!'_"3Xs!C  C!""ABC  *<(9*J kk&)G,,V=J~~)>>W]]2!.E^^w6!1E	%LLzH5PUV 	%V$	%s   D0 0EEc                8   < V ^8  d   QhRS[ P                  RR/# r   r   )r.   rK   s   "r&   r/   r      s!     + +'"3"3 + +r%   c                  < \         P                  ! 4       R,          w  r#V'       dL   V'       dD   V P                  P                  \         P                  J d   \        W#4      '       d   \        4       h\        SV `!  V4      # )z1Called when logging is unable to log some output.:Nr(   N)	sysexc_infors   filestdoutr7   r   rN   r   )rP   ra   r)   r*   rQ   s   &&  r&   r    RichPipStreamHandler.handleError   sY     +	 !!SZZ/%i55*,,w"6**r%   c                V   < V ^8  d   Qh/ S[ S[S[S[,          ,          ,          ;R&   # )r(   KEYWORDS)r   r   r
   rV   )r.   rK   s   "r&   r/   r      s     xS	*+0 r%   r   )r   r    r!   r"   r   rO   r   r   r   r$   rm   rn   ro   s   @@r&   r   r      s0     .0H
 
% %8+ +S  r%   r   c                   >   a a ] tR t^t oV3R lV 3R lltRtVtV ;t# )BetterRotatingFileHandlerc                    < V ^8  d   QhRS[ /# rA   r   )r.   rK   s   "r&   r/   &BetterRotatingFileHandler.__annotate__   s      } r%   c                   < \        \        P                  P                  V P                  4      4       \
        SV `  4       # r   )r   ospathdirnamebaseFilenamerN   _open)rP   rQ   s   &r&   r   BetterRotatingFileHandler._open   s*    277??4#4#456w}r%   r   )r   r    r!   r"   r   r$   rm   rn   ro   s   @@r&   r   r      s       r%   r   c                   D   a  ] tR t^t o V 3R lR ltV 3R lR ltRtV tR# )MaxLevelFilterc                $   < V ^8  d   QhRS[ RR/# )r(   levelr+   NrB   )r.   rK   s   "r&   r/   MaxLevelFilter.__annotate__   s      c d r%   c                    Wn         R # r   r   )rP   r   s   &&r&   rO   MaxLevelFilter.__init__   s    
r%   c                :   < V ^8  d   QhRS[ P                  RS[/# r`   rY   rb   r-   )r.   rK   s   "r&   r/   r      s!     + +W.. +4 +r%   c                4    VP                   V P                  8  # r   )rU   r   )rP   ra   s   &&r&   filterMaxLevelFilter.filter   s    ~~

**r%   r   N)r   r    r!   r"   rO   r   r$   rm   r   s   @r&   r   r      s      + +r%   r   c                   B   a a ] tR t^t oRtV3R lV 3R lltRtVtV ;t# )ExcludeLoggerFilterzI
A logging Filter that excludes records from a logger (or its children).
c                :   < V ^8  d   QhRS[ P                  RS[/# r`   r   )r.   rK   s   "r&   r/    ExcludeLoggerFilter.__annotate__   s!     * *W.. *4 *r%   c                ,   < \         SV `  V4      '       * # r   )rN   r   )rP   ra   rQ   s   &&r&   r   ExcludeLoggerFilter.filter   s     7>&)))r%   r   )	r   r    r!   r"   r#   r   r$   rm   rn   ro   s   @@r&   r   r      s     * * *r%   r   c                ^    V ^8  d   QhR\         R\        R\        \        ,          R\         /# )r(   	verbosityno_coloruser_log_filer+   )r:   r-   r   rV   )r.   s   "r&   r/   r/      s3     v vS vD v# vSV vr%   c                   V ^8  d   \         P                  pMfV ^8X  d   \        pMXV R,8X  d   \         P                  pM@V R-8X  d   \         P                  pM(V R.8:  d   \         P
                  pM\         P                  p\         P                  ! V4      pVRJpV'       d   TpRpMRpTpVR/9   d   RMRpRRRR/p	. R0OV'       d   R.M. ,           p
\        \        P                  VRR7      s\        \        P                  VRR7      p\         P                  P                  R^RRRRRRR\         P                  /RRRR\        P                   /RRRR\        P                   //RRR\"        RR/R R\"        RRR!R//R"R	RVR#V	R,          R	\        RRR.R$R/R
RRR#V	R,          R	VRR.R$R/RRVR#V	R,          R	VRR.R$R/RRRR#V	R,          R%VR&R'R(RR$R //R)RVR"V
/R*R+RV///4       V# )1zfConfigures and sets up all of the logging

Returns the requested logging level, as its integer value.
NDEBUGz	/dev/nullrZ   streamz0pip._internal.utils.logging.RichPipStreamHandlerr   z5pip._internal.utils.logging.BetterRotatingFileHandlerrs   console_errorsconsole_subprocessuser_logT)r   r   	soft_wrapversiondisable_existing_loggersFfiltersexclude_warningsz()z*pip._internal.utils.logging.MaxLevelFilterr   restrict_to_subprocesszlogging.Filternameexclude_subprocessz/pip._internal.utils.logging.ExcludeLoggerFilter
formattersr{   r.   z%(message)sindent_with_timestamprG   handlersclass	formatterfilenameencodingzutf-8delayrootloggerszpip._vendor)INFOr\   )rs   r   r   )rY   r   r   rZ   r\   CRITICALr   getLevelNamer   r   r   r   r   config
dictConfigsubprocess_loggerr   rF   )r   r   r   level_numberr   include_user_logadditional_log_file
root_levelvendored_log_levelhandler_classesr   r   s   &&&         r&   setup_loggingr     s    A~}}	a	b	b}}	b''||  .E %D0+
)
 ',/@&@g 	DGO C(bH !cjj8tTO cjj8tTONNq&"FW__% )*-22+ %K-22' ,m (,m#T*
 U_X6 46HI !Y_X6 45# %U_X6 89' W_V4 3T!81 B H 1C'DECB	
DL r%   )r(   )B
contextlibr4   rY   logging.handlersr   r   	threadingdataclassesr   ior   r   typingr   r   r	   r
   r   r   pip._vendor.rich.consoler   r   r   r   r   r   pip._vendor.rich.highlighterr   pip._vendor.rich.loggingr   pip._vendor.rich.segmentr   pip._vendor.rich.styler   pip._internal.utils._logr   r   pip._internal.utils.compatr   pip._internal.utils.deprecationr   pip._internal.utils.miscr   localr=   r   r   r   r   r   r7   contextmanagerr?   r<   	FormatterrF   rq   r   r   r   r   RotatingFileHandlerr   r   r   r  r   r%   r&   <module>r     s'       	 
  !   A A  9 0 , ( 7 . B /__
01 y 
Q & &10** 0f      * *% 9+; 9+x 0 0 D D +V +*& *vr%   