+
    …WÝjö  ã                  ó  € R t ^ RIHt ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIHtHtHtHtHtHt ^PtRt0 Rmt0 Rmt]P,                  ! R4      tRt ! R R	]4      tRR
 R lltR R lt ! R R4      tRRRRRR/R R lltR# )aY  One output policy for long child processes: verbose in CI, contained elsewhere.

CI logs are the only record of a remote failure, so CI (``CI`` /
``GITHUB_ACTIONS``) or ``HERMES_VERBOSE=1`` streams child output unchanged.
Everywhere else a child collapses into one status line: on a terminal it is
rewritten in place with the child's latest line, off a terminal only the
start and finish are printed. A failure always prints the captured tail, so
containment never hides an error. ``HERMES_VERBOSE=0`` forces containment.

Stdlib-only: the bootstrap runner imports this from a pre-3.11 system Python.
)Úannotations)ÚdequeN)ÚIOÚCallableÚMappingÚOptionalÚProtocolÚSequencei   z\x1b\[[0-9;?]*[ -/]*[@-~]gš™™™™™©?c                  ó.   € ] tR t^"tR R ltR R ltRtR# )ÚTextSinkc               ó    € V ^8„  d   QhRRRR/# ©é   ÚtextÚstrÚreturnÚint© )Úformats   "Ú?C:\Users\johnn\AppData\Local\hermes\hermes-agent\pm\progress.pyÚ__annotate__ÚTextSink.__annotate__#   s   € ×-Ñ-˜#Ð- SÑ-ó    c               	ó   € R # ©Nr   ©Úselfr   s   ""r   ÚwriteÚTextSink.write#   s   € ©#r   c               ó   € V ^8„  d   QhRR/# ©r   r   ÚNoner   )r   s   "r   r   r   %   s   € × Ñ �tÑ r   c                	ó   € R # r   r   ©r   s   &r   ÚflushÚTextSink.flush%   s   € ™Sr   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r$   Ú__static_attributes__r   r   r   r   r   "   s   † Ý-ç Ñ r   r   c               ó    € V ^8„  d   QhRRRR/# )r   ÚenvzOptional[Mapping[str, str]]r   Úboolr   )r   s   "r   r   r   (   s   € ÷ mñ mÐ3ð m¸tñ mr   c                ó4  a€ V f   \         P                  MT oSP                  RR4      P                  4       P	                  4       pV\
        9   d   R# V\        9   d   R# \        ;QJ d    V3R lR 4       F  '       g   K   R# 	  R# ! V3R lR 4       4      # )zBWhether child output streams unchanged instead of being contained.ÚHERMES_VERBOSEÚ TFc              3  ó–   <"  € T F>  pSP                  VR 4      P                  4       P                  4       R .\        O59  x € K@  	  R# 5i)r0   N)ÚgetÚstripÚlowerÚ_FALSE)Ú.0ÚkeyÚsources   & €r   Ú	<genexpr>Ú!verbose_output.<locals>.<genexpr>0   s;   øé € ÐlÑSkÈCˆv�z‰z˜#˜rÓ"×(Ñ(Ó*×0Ñ0Ó2¸2¸-Ä¹-ÖGÓSkùs   ƒAA	)ÚCIÚGITHUB_ACTIONS)ÚosÚenvironr2   r3   r4   Ú_TRUEr5   Úany)r,   Úexplicitr8   s   & @r   Úverbose_outputrB   (   sv   ø€ àš;ŒR�ZŠZ¨C€FØ�z‰zÐ*¨BÓ/×5Ñ5Ó7×=Ñ=Ó?€HØ”5ÔÙØ”6ÔÙß‹3ÔlÑSkÓl�3Œ3ÐlŠ3Ðlˆ3ÔlÑSkÓlÓlÐlr   c               ó    € V ^8„  d   QhRRRR/# )r   ÚstreamzIO[str]r   r-   r   )r   s   "r   r   r   3   s   € ÷ ñ ˜ð  Tñ r   c                óT   €  V P                  4       #   \        \        3 d     R # i ; i)F)ÚisattyÚAttributeErrorÚ
ValueError)rD   s   &r   Ú_is_terminalrI   3   s*   € ðØ�}‰}‹ÐøÜœJÐ'ô Úðús   ‚ ’'¦'c                  óŠ   € ] tR t^:tRtRRRRR/R R llltR R	 ltR
 R ltR R ltR R lt	R R lt
R R ltR R ltRtR# )ÚLiveTailz±A text sink that contains a child's output behind one status line.

``label=None`` runs silently and speaks only on failure, for steps too
quick to deserve a line of their own.
NÚhideÚindentr0   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r   ÚlabelzOptional[str]rD   úOptional[IO[str]]rL   úOptional[Callable[[str], bool]]rM   r   r   r!   r   )r   s   "r   r   ÚLiveTail.__annotate__A   s3   € ÷ 8ñ 8˜mð 8Ð5Fð 8Ø6ð8ØGJð8ØTXñ8r   c               	ó�  € Wn         Vf   \        P                  MTV n        W0n        W@n        VR J;'       d    \        V P                  4      V n        \        \        R7      V n
        RV n        ^ V n        RV n        VeE   V P                  '       d   V P                  V RV R24       R # V P                  V RV R24       R # R # )N)Úmaxlenr0   g        õ   â†’ u   â€¦õ   â€¦
)rO   ÚsysÚstdoutrD   rL   rM   rI   Úliver   Ú
TAIL_LINESÚtailÚ_partialÚ_drawnÚ
_last_drawÚ_drawÚ_emit)r   rO   rD   rL   rM   s   &&&$$r   Ú__init__ÚLiveTail.__init__A   s¦   € àŒ
Ø$*¢N”c—j’j¸ˆŒØŒ	ØŒØ Ð%×CÐC¬,°t·{±{Ó*CˆŒ	Ü %¬ZÔ 8ˆŒ	ØˆŒØˆŒØˆŒØÒØ�y�yˆyØ—
‘
˜f˜X T¨%¨°Ð4Ö5à—
‘
˜f˜X T¨%¨°Ð6Ö7ñ	 r   c               ó    € V ^8„  d   QhRRRR/# r   r   )r   s   "r   r   rR   R   s   € ÷ ñ ˜#ð  #ñ r   c                	ó
  € V P                   V,           P                  R R4      P                  RR4      P                  R4      pVP                  4       \        ) R V n         V F  pV P                  V4       K  	  \        V4      # )z
Ú
ÚN)r\   ÚreplaceÚsplitÚpopÚMAX_LINEÚ_lineÚlen)r   r   ÚlinesÚlines   &&  r   r   ÚLiveTail.writeR   sl   € à—‘ Õ%×.Ñ.¨v°tÓ<×DÑDÀTÈ4ÓP×VÑVÐW[Ó\ˆØŸ	™	›¤X I JÐ/ˆŒÛˆDØ�J‰J�tÖñ ä�4‹yÐr   c               ó   € V ^8„  d   QhRR/# r    r   )r   s   "r   r   rR   Z   s   € ÷ ñ �tñ r   c                	ó   € R # r   r   r#   s   &r   r$   ÚLiveTail.flushZ   s   € Ùr   c               ó   € V ^8„  d   QhRR/# r    r   )r   s   "r   r   rR   ]   s   € ÷ ñ ˜ñ r   c                óÚ   € V P                   '       d#   V P                  V P                   4       RV n         V P                  '       d%   V P                  R4       V P	                  R4       R# R# )z¹Clear the status line without a success or failure verdict.

Used when a bytecode-compile failure will be retried. Closing as a
failure here would report a recovered install as failed.
r0   rf   N)r\   rk   rY   r_   r`   r#   s   &r   ÚdiscardÚLiveTail.discard]   sI   € ð �=�=ˆ=Ø�J‰J�t—}‘}Ô%ØˆDŒMØ�9�9ˆ9Ø�J‰J�rŒNØ�J‰J�tÖñ r   c               ó    € V ^8„  d   QhRRRR/# )r   Úokr-   r   r!   r   )r   s   "r   r   rR   j   s   € ÷ Pñ P˜ð P ñ Pr   c           	     	óÊ  a € S P                   '       d#   S P                  S P                   4       R S n         S P                  '       d#   S P                  R 4       S P	                  R4       V'       d<   S P
                  e,   S P	                  S P                   RS P
                   R24       R# S P
                  ;'       g    RpS P                  '       g$   S P	                  S P                   RV R24       R# S P	                  S P                   RV R\        S P                  4       R	24       S P	                  R P                  V 3R
 lS P                   4       4      4       R# )r0   rf   Nu   âœ“ re   Úcommandu   âœ— z failed
z failed; last z lines of output:
c              3  óH   <"  € T F  pSP                    R V R2x € K  	  R# 5i)z    re   N)rM   )r6   rn   r   s   & €r   r9   Ú!LiveTail.close.<locals>.<genexpr>z   s"   øé € ÐNÁI¸D˜dŸk™k˜]¨$¨t¨f°BÕ7ÃIùs   ƒ")
r\   rk   rY   r_   r`   rO   rM   r[   rl   Újoin)r   rx   Únames   f& r   ÚcloseÚLiveTail.closej   sú   ø€ Ø�=�=ˆ=Ø�J‰J�t—}‘}Ô%ØˆDŒMØ�9�9ˆ9Ø�J‰J�rŒNØ�J‰J�tÔßØ�z‰zÒ%Ø—
‘
˜dŸk™k˜]¨$¨t¯z©z¨l¸"Ð=Ô>ÙØ�z‰z×&Ð&˜YˆØ�y�yˆyØ�J‰J˜$Ÿ+™+˜ d¨4¨&°	Ð:Ô;ÙØ�
‰
�d—k‘k�] $ t f¨N¼3¸t¿y¹y»>Ð:JÐJ]Ð^Ô_Ø�
‰
�2—7‘7ÔNÀDÇIÂIÓNÓNÖOr   c               ó    € V ^8„  d   QhRRRR/# )r   rn   r   r   r!   r   )r   s   "r   r   rR   |   s   € ÷ Gñ G˜#ð G $ñ Gr   c                	ó  € \         P                  R V\        ) R 4      P                  4       pVP	                  4       '       g   R# V P
                  P                  V4       V P                  '       d&   V P                  e   V P                  V4      '       d   R# \        P                  ! 4       pW P                  ,
          \        8  d   R# W n        V P                  V P                   RV P                   RVP	                  4        24       R# )r0   NrU   u   â€¦ )Ú_ANSIÚsubrj   Úrstripr3   r[   ÚappendrY   rL   ÚtimeÚ	monotonicr^   Ú_REDRAW_INTERVALr_   rM   rO   )r   rn   Únows   && r   rk   ÚLiveTail._line|   s´   € Ü�y‰y˜˜T¤8 ) *Ð-Ó.×5Ñ5Ó7ˆØ�z‰z�|Š|ÙØ�	‰	×Ñ˜ÔØ�y�yˆy˜TŸY™YÒ2°t·y±yÀ·²ÙÜ�nŠnÓˆØ—‘Õ Ô#3Ô3ÙØŒØ�
‰
�d—k‘k�] $ t§z¡z l°$°t·z±z³|°nÐEÖFr   c               ó    € V ^8„  d   QhRRRR/# ©r   r   r   r   r!   r   )r   s   "r   r   rR   ‰   s   € ÷  ñ  ˜#ð   $ñ  r   c                	ó$  € \        ^\        P                  ! 4       P                  ^,
          4      pVRV pV P	                  RV,           R\        ^ V P
                  \        V4      ,
          4      ,          ,           4       \        V4      V n        R# )é   Nrf   Ú )ÚmaxÚshutilÚget_terminal_sizeÚcolumnsr`   r]   rl   )r   r   Úwidths   && r   r_   ÚLiveTail._draw‰   sf   € ä�Bœ×0Ò0Ó2×:Ñ:¸QÕ>Ó?ˆØ�F�Uˆ|ˆØ�
‰
�4˜$•; ¤s¨1¨d¯k©k¼CÀ»IÕ.EÓ'FÕ!FÕFÔGÜ˜$“iˆŽr   c               ó    € V ^8„  d   QhRRRR/# r�   r   )r   s   "r   r   rR   �   s   € ÷ ñ ˜#ð  $ñ r   c                	óp   € V P                   P                  V4       V P                   P                  4        R # r   )rD   r   r$   r   s   &&r   r`   ÚLiveTail._emit�   s$   € Ø�‰×Ñ˜$ÔØ�‰×ÑÖr   )	r]   r^   r\   rL   rM   rO   rY   rD   r[   r   )r&   r'   r(   r)   Ú__doc__ra   r   r$   ru   r   rk   r_   r`   r*   r   r   r   rK   rK   :   sK   † ññ8Ø9=ð8ØMO÷8ð 8õ"õõõPõ$Gõ ÷ñ r   rK   rD   rL   rM   r0   c               ó0   € V ^8„  d   QhRRRRRRRRR	RR
R/# )r   rz   zSequence[str]rO   r   rD   rP   rL   rQ   rM   r   zsubprocess.CompletedProcessr   )r   s   "r   r   r   •   sB   € ÷ %Jñ %J˜=ð %J°ð %JÐARð %JØ7ð%JØHKð%Jà:ñ%Jr   c               óÜ  € \        4       '       dW   Vf   \        P                  MTpVP                  V RV R24       VP	                  4        \
        P                  ! V 3RR/VB # \        WW4R7      p\        \
        P                  \
        P                  RRRR	7      pVP                  '       g0    \
        P                  ! V 3RR/VBVB p	TP                  R4       T	#  \
        P                   ! V 3/ VBVB ;_uu_ 4       pVP                  f   Q hVP                   F  pVP                  V4       K  	  VP#                  4       pRRR4       TP                  X^ 8H  4       RP%                  TP&                  4      pT'       d#   \
        P                  ! T\)        T 4      TR7      h\
        P*                  ! \)        T 4      YÞR4      #   \
        P                   d=   p
TP                  T
P                  ;'       g    R
4       TP                  R4       h Rp
?
i\         d    TP                  R4       h i ; i  + '       g   i     Lú; i  \         d    TP                  R4       h i ; i)z7``subprocess.run(check=True)`` under the output policy.NrU   rV   ÚcheckT)rL   rM   zutf-8rg   )rX   Ústderrr   ÚencodingÚerrorsr0   Fre   )Úoutput)rB   rW   rX   r   r$   Ú
subprocessÚrunrK   ÚdictÚPIPEÚSTDOUTrY   ÚCalledProcessErrorr¡   r   ÚBaseExceptionÚPopenÚwaitr}   r[   ÚlistÚCompletedProcess)rz   rO   rD   rL   rM   ÚkwargsÚoutr[   ÚcapturedÚresultÚexcÚprocrn   Úcoder¡   s   &&$$$,         r   Úrun_containedr´   •   só  € ô ×ÒØ"šNŒc�jŠj°ˆØ�	‰	�V�H˜D   uÐ-Ô.Ø�	‰	ŒÜ�~Š~˜gÑ<¨TÐ<°VÑ<Ð<Ü�E¨Ô<€DÜœ:Ÿ?™?´:×3DÑ3DÈ4Ø$¨Yô8€Hà�9�9ˆ9ð	Ü—^’^ GÑN°4ÐN¸8ÐNÀvÑNˆFð 	�
‰
�4ÔØˆðÜ×Ò˜gÑ<¨Ð<°V×<Ò<ÀØ—;‘;Ò*Ð*Ð*ØŸœ�Ø—
‘
˜4Ö ñ $à—9‘9“;ˆD÷	 =ð 	‡J�Jˆt�q‰yÔØ�Y‰Y�t—y‘yÓ!€FßÜ×+Ò+¨D´$°w³-ÈÔOÐOÜ×&Ò&¤t¨G£}°dÀDÓIÐIøô- ×,Ñ,ô 	Ø�J‰J�s—z‘z×'Ð' RÔ(Ø�J‰J�uÔØûÜô 	Ø�J‰J�uÔØð	ú÷ =×<ûô
 ô Ø�
‰
�5ÔØðúsI   Â3G
 Ã"!I ÄAH:ÅI Ç
H7Ç7HÈH7È#H7È:I
	ÉI É
I ÉI+>   Ú1ÚonÚyesÚtrue>   Ú0ÚnoÚoffÚfalser   )rš   Ú
__future__r   Úcollectionsr   r=   Úrer’   r¢   rW   r‡   Útypingr   r   r   r   r   r	   rZ   rj   r?   r5   Úcompilerƒ   r‰   r   rB   rI   rK   r´   r   r   r   Ú<module>rÂ      s    ðñ
õ #å Û 	Û 	Û Û Û 
Û ß F× Fà€
ð €Ú"€Ú	$€Ø
�
Š
Ð/Ó0€àÐ ô!ˆxô !÷mõ÷Xñ Xðv%JÐUYð %JØ:>ð%JØNP÷%Jñ %Jr   