+
    NV-jéë  ã                  ó^  € ^ RI Ht ^ RIt^ RIt^ RIt^ RIHtHt ^ RIH	t	 ^ RI
HtHt ^ RIHt ^ RIHtHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHtHt ^ RIHtHtHt ^ RIHt ^ RIHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1 ]'       d   ^ RI2H3t3 ^RI4H5t5H6t6 ^RI7H8t8H9t9H:t:H;t; ^RI<H=t= ^RI>H?t? ^RI@HAtA ^RIBHCtC ^RIDHEtE ^RIFHGtG ^RIHHItIHJtJ ^RIKHLtLHMtM ]+! R]N4      tO]0! R4      tP]". ]Q3,          tR]P`                  ! R]-]!4      tS ! R R]4      tTRƒR% R& lltU ! R' R(]]!4      tV ! R) R*]#]S,          ]&]S,          4      tWR+R,R-RR.RR/R R0RR1^
R2R!R3R"R4R#R5R$R6R /R7 R8 lltX]P²                  R„R9RR+R,R-RR.RR/R R0RR1^
R2R!R3R"R4R#R5R$R6R /R: R; lll4       tZ]P²                  R„R9RR+R,R-RR.RR/R R0RR1^
R2R!R3R"R4R#R5R$R6R /R< R= lll4       tZR…R9RR+R,R-RR.RR/R R0RR1^
R2R!R3R"R4R#R5R$R6R /R> R? llltZ ! R@ RA]4      t[ ! RB RC][4      t\ ! RD RE][4      t] ! RF RG][4      t^ ! RH RI][4      t_ ! RJ RK][4      t` ! RL RM]^4      ta ! RN RO][4      tb ! RP RQ][4      tc ! RR RS][4      td ! RT RU][4      te ! RV RW][4      tf ! RX RY][4      tg ! RZ R[]*4      th] ! R\ R]4      4       ti ! R^ R_]?4      tj]kR`8X  Edr   ^ RIltl^ RImtm^RaInHoto ^RbIpHqtq ^RcIrHsts ^RdIHHJtJ ]s! ReRfRRg7      tr]J! RhRiRj4      tH]HPé                  RkRlRm4       Rn]o! Ro4      Rp]HRqRrRsRtRu/Rv]r]q! Rw4      .	tu^ RxIvHwtw ]w! ]u4      tx]8! RRy7      t7]j! ]]! 4       .]jPó                  4       O]`! 4       N5R.]7R/R / ;_uu_ 4       tz]zP÷                  RzR{R|7      t|]zP÷                  R}R{R|7      t}]zP÷                  R~RR|7      t~]zPþ                  '       gq   ]zEP                  ]|RR€7       ]zEP                  ]}R�R€7       ]mEP                  ! R‚4       ]lEP                  ! ^ ^d4      ^8  g   Kh  ]zEP                  ]„! ]x4      4       K‚   RRR4       R# R#   + '       g   i     R# ; i)†é    )ÚannotationsN)ÚABCÚabstractmethod©Údeque)Ú	dataclassÚfield)Ú	timedelta)Ú	RawIOBaseÚUnsupportedOperation)Úceil)Úmmap)Úlength_hint)ÚPathLikeÚstat)ÚEventÚRLockÚThread)ÚTracebackType)ÚTYPE_CHECKINGÚAnyÚBinaryIOÚCallableÚContextManagerÚDequeÚDictÚGenericÚIterableÚListÚLiteralÚ
NamedTupleÚNewTypeÚOptionalÚTextIOÚTupleÚTypeÚTypeVarÚUnion)ÚSelf)ÚfilesizeÚget_console)ÚConsoleÚGroupÚJustifyMethodÚRenderableType)ÚHighlighter)ÚJupyterMixin)ÚLive)ÚProgressBar)ÚSpinner)Ú	StyleType)ÚColumnÚTable)ÚTextÚTextTypeÚTaskIDÚProgressTypeÚ_Ic                  óV   a € ] tR t^@tRtR V 3R lltR R ltR R ltR R	 ltR
t	V ;t
# )Ú_TrackThreadz)A thread to periodically update progress.c               ó$   € V ^8„  d   QhRRRRRR/# )é   Úprogressú
'Progress'Útask_idz'TaskID'Úupdate_periodÚfloat© )Úformats   "Ú^/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/rich/progress.pyÚ__annotate__Ú_TrackThread.__annotate__C   s!   € ÷ &ñ & ð &°hð &Èuñ &ó    c                	óx   <€ Wn         W n        W0n        \        4       V n        ^ V n        \        SV `  RR7       R# )r   T)ÚdaemonN)rA   rC   rD   r   ÚdoneÚ	completedÚsuperÚ__init__)ÚselfrA   rC   rD   Ú	__class__s   &&&&€rH   rQ   Ú_TrackThread.__init__C   s3   ø€ Ø ŒØŒØ*ÔÜ“GˆŒ	àˆŒÜ‰Ñ ÐÖ%rK   c               ó   € V ^8„  d   QhRR/# ©r@   ÚreturnÚNonerF   )rG   s   "rH   rI   rJ   L   s   € ÷ Sñ S�Tñ SrK   c                	ó¬  € V P                   pV P                  P                  pV P                  p^ pV P                  P
                  pV! V4      '       gN   V P                  P                  P                  '       d(   V P                  pWF8w  g   KH  V! WV,
          4       TpK[  V P                  P                  V P                   V P                  RR7       R# )r   T)rO   ÚrefreshN)
rC   rA   ÚadvancerD   rN   ÚwaitÚliveÚ
is_startedrO   Úupdate)rR   rC   r[   rD   Úlast_completedr\   rO   s   &      rH   ÚrunÚ_TrackThread.runL   s™   € Ø—,‘,ˆØ—-‘-×'Ñ'ˆØ×*Ñ*ˆØˆØ�y‰y�~‰~ˆÙ�}×%Ò%¨$¯-©-×*<Ñ*<×*G×*GÐ*GØŸ™ˆIØÖ*Ù˜¨^Õ!;Ô<Ø!*’à�‰×Ñ˜TŸ\™\°T·^±^ÈTÐÖRrK   c               ó   € V ^8„  d   QhRR/# )r@   rW   z'_TrackThread'rF   )rG   s   "rH   rI   rJ   Z   s   € ÷ ñ ˜>ñ rK   c                	ó&   € V P                  4        V # ©N©Ústart©rR   s   &rH   Ú	__enter__Ú_TrackThread.__enter__Z   ó   € Ø�
‰
ŒØˆrK   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©	r@   Úexc_typezOptional[Type[BaseException]]Úexc_valzOptional[BaseException]Úexc_tbzOptional[TracebackType]rW   rX   rF   )rG   s   "rH   rI   rJ   ^   s2   € ÷ ñ à/ðð )ðð (ð	ð
 
ñrK   c                	óZ   € V P                   P                  4        V P                  4        R # re   )rN   ÚsetÚjoin©rR   rn   ro   rp   s   &&&&rH   Ú__exit__Ú_TrackThread.__exit__^   s   € ð 	�	‰	�‰ŒØ�	‰	ŽrK   )rO   rN   rA   rC   rD   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rQ   ra   ri   ru   Ú__static_attributes__Ú__classcell__©rS   s   @rH   r>   r>   @   s%   ø† Ù3÷&ð &õSõ÷ó rK   r>   TFúbar.backúbar.completeúbar.finishedú	bar.pulsec          "     ó\   € V ^8„  d   QhRRRRRRRRR	R
RRRR
RRRRRRRRRRRRRRRR
RR
RR/# )r@   ÚsequenceúIterable[ProgressType]ÚdescriptionÚstrÚtotalúOptional[float]rO   ÚintÚauto_refreshÚboolÚconsoleúOptional[Console]Ú	transientÚget_timeúOptional[Callable[[], float]]Úrefresh_per_secondrE   Ústyler5   Úcomplete_styleÚfinished_styleÚpulse_stylerD   ÚdisableÚ
show_speedrW   rF   )rG   s   "rH   rI   rI   h   sÅ   € ÷ K
ñ K
Ø$ðK
àðK
ð ðK
ð ð	K
ð
 ðK
ð ðK
ð ðK
ð ,ðK
ð ðK
ð ðK
ð ðK
ð ðK
ð ðK
ð ðK
ð ðK
ð  ð!K
ð" ñ#K
rK   c              #  óp  "  € V'       d   \        R4      .M. pVP                  \        V	V
VVR7      \        VR7      \	        RR7      34       \        TRTRTRTR	TR
T;'       g    ^
RV/ pT;_uu_ 4        VP                  V VVVVR7       Rj  x€L
  RRR4       R#  L  + '       g   i     R# ; i5i)aU  Track progress by iterating over a sequence.

You can also track progress of an iterable, which might require that you additionally specify ``total``.

Args:
    sequence (Iterable[ProgressType]): Values you wish to iterate over and track progress.
    description (str, optional): Description of task show next to progress bar. Defaults to "Working".
    total: (float, optional): Total number of steps. Default is len(sequence).
    completed (int, optional): Number of steps completed so far. Defaults to 0.
    auto_refresh (bool, optional): Automatic refresh, disable to force a refresh after each iteration. Default is True.
    transient: (bool, optional): Clear the progress on exit. Defaults to False.
    console (Console, optional): Console to write to. Default creates internal Console instance.
    refresh_per_second (float): Number of times per second to refresh the progress information. Defaults to 10.
    style (StyleType, optional): Style for the bar background. Defaults to "bar.back".
    complete_style (StyleType, optional): Style for the completed bar. Defaults to "bar.complete".
    finished_style (StyleType, optional): Style for a finished bar. Defaults to "bar.finished".
    pulse_style (StyleType, optional): Style for pulsing bars. Defaults to "bar.pulse".
    update_period (float, optional): Minimum time (in seconds) between calls to update(). Defaults to 0.1.
    disable (bool, optional): Disable display of progress.
    show_speed (bool, optional): Show speed if total isn't known. Defaults to True.
Returns:
    Iterable[ProgressType]: An iterable of the values in the sequence.

ú([progress.description]{task.description}©r“   r”   r•   r–   )r˜   T)Úelapsed_when_finishedr‹   r�   r�   r�   r’   r—   )rˆ   rO   r†   rD   N)Ú
TextColumnÚextendÚ	BarColumnÚTaskProgressColumnÚTimeRemainingColumnÚProgressÚtrack)r„   r†   rˆ   rO   r‹   r�   r�   r�   r’   r“   r”   r•   r–   rD   r—   r˜   ÚcolumnsrA   s   &&&&&&&&&&&&&&&&  rH   r£   r£   h   sð   é € ÷X EPŒÐ>Ó	?Ñ@ÐUWð ð ‡N�NäØØ-Ø-Ø'ô	ô ¨*Ô5Ü°dÔ;ð		
ôô Ø	ðà!ðð ðð ð	ð
 ðð .×3Ð3°ðð ñ€H÷ 
ŠØ—>‘>ØØØØ#Ø'ð "ó 
÷ 	
ð 	
÷ 
‰ñ	
÷ 
�ˆüs0   ‚A5B6Á7B"ÂB ÂB"Â
B6Â B"Â"B3	Â-	B6c                  óT  € ] tR t^¶tRtR0R R lltR R ltR R ltR R	 ltR
 R lt	]
R R l4       tR R ltR R lt]
R R l4       t]
R R l4       tR R ltR R ltR R ltR1R R lltR R ltR1R  R! lltR1R" R# lltR$ R% ltR2R& R' lltR( R) ltR* R+ ltR, R- ltR.tR/# )3Ú_Readerz9A reader that tracks progress while it's being read from.c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r@   Úhandler   rA   rB   Útaskr:   Úclose_handlerŒ   rW   rX   rF   )rG   s   "rH   rI   Ú_Reader.__annotate__¹   s<   € ÷ ñ àðð ðð ð	ð
 ðð 
ñrK   c                	óD   € Wn         W n        W0n        W@n        R V n        R# ©FN)r¨   rA   r©   rª   Ú_closed)rR   r¨   rA   r©   rª   s   &&&&&rH   rQ   Ú_Reader.__init__¹   s    € ð ŒØ ŒØŒ	Ø(ÔØˆŽrK   c               ó   € V ^8„  d   QhRR/# )r@   rW   z	'_Reader'rF   )rG   s   "rH   rI   r«   Æ   s   € ÷ ñ ˜9ñ rK   c                	ó:   € V P                   P                  4        V # re   )r¨   ri   rh   s   &rH   ri   Ú_Reader.__enter__Æ   s   € Ø�‰×ÑÔØˆrK   c               ó(   € V ^8„  d   QhRRRRRRRR/# rm   rF   )rG   s   "rH   rI   r«   Ê   s2   € ÷ ñ à/ðð )ðð (ð	ð
 
ñrK   c                	ó&   € V P                  4        R # re   )Úclosert   s   &&&&rH   ru   Ú_Reader.__exit__Ê   s   € ð 	�
‰
ŽrK   c               ó   € V ^8„  d   QhRR/# )r@   rW   r   rF   )rG   s   "rH   rI   r«   Ò   s   € ÷ ñ ˜(ñ rK   c                	ó   € V # re   rF   rh   s   &rH   Ú__iter__Ú_Reader.__iter__Ò   s   € ØˆrK   c               ó   € V ^8„  d   QhRR/# )r@   rW   ÚbytesrF   )rG   s   "rH   rI   r«   Õ   s   € ÷ ñ ˜%ñ rK   c                	ó�   € \        V P                  4      pV P                  P                  V P                  \        V4      R 7       V# ©©r[   )Únextr¨   rA   r[   r©   Úlen)rR   Úlines   & rH   Ú__next__Ú_Reader.__next__Õ   s4   € Ü�D—K‘KÓ ˆØ�‰×Ñ˜dŸi™i´°T³ÐÔ;ØˆrK   c               ó   € V ^8„  d   QhRR/# ©r@   rW   rŒ   rF   )rG   s   "rH   rI   r«   Û   s   € ÷ ñ ˜ñ rK   c                	ó   € V P                   # re   )r®   rh   s   &rH   ÚclosedÚ_Reader.closedÚ   s   € à�|‰|ÐrK   c               ó   € V ^8„  d   QhRR/# ©r@   rW   rŠ   rF   )rG   s   "rH   rI   r«   Þ   s   € ÷ $ñ $˜ñ $rK   c                	ó6   € V P                   P                  4       # re   )r¨   Úfilenorh   s   &rH   rÍ   Ú_Reader.filenoÞ   ó   € Ø�{‰{×!Ñ!Ó#Ð#rK   c               ó   € V ^8„  d   QhRR/# rÆ   rF   )rG   s   "rH   rI   r«   á   s   € ÷ $ñ $˜ñ $rK   c                	ó6   € V P                   P                  4       # re   )r¨   Úisattyrh   s   &rH   rÒ   Ú_Reader.isattyá   rÏ   rK   c               ó   € V ^8„  d   QhRR/# ©r@   rW   r‡   rF   )rG   s   "rH   rI   r«   å   ó   € ÷  ñ  �cñ  rK   c                	ó.   € V P                   P                  # re   )r¨   Úmoderh   s   &rH   rØ   Ú_Reader.modeä   ó   € à�{‰{×ÑÐrK   c               ó   € V ^8„  d   QhRR/# rÕ   rF   )rG   s   "rH   rI   r«   é   rÖ   rK   c                	ó.   € V P                   P                  # re   )r¨   Únamerh   s   &rH   rÝ   Ú_Reader.nameè   rÚ   rK   c               ó   € V ^8„  d   QhRR/# rÆ   rF   )rG   s   "rH   rI   r«   ì   ó   € ÷ &ñ &˜$ñ &rK   c                	ó6   € V P                   P                  4       # re   )r¨   Úreadablerh   s   &rH   râ   Ú_Reader.readableì   ó   € Ø�{‰{×#Ñ#Ó%Ð%rK   c               ó   € V ^8„  d   QhRR/# rÆ   rF   )rG   s   "rH   rI   r«   ï   rà   rK   c                	ó6   € V P                   P                  4       # re   )r¨   Úseekablerh   s   &rH   rç   Ú_Reader.seekableï   rä   rK   c               ó   € V ^8„  d   QhRR/# rÆ   rF   )rG   s   "rH   rI   r«   ò   s   € ÷ ñ ˜$ñ rK   c                	ó   € R # )FrF   rh   s   &rH   ÚwritableÚ_Reader.writableò   s   € ÙrK   c               ó    € V ^8„  d   QhRRRR/# ©r@   ÚsizerŠ   rW   r¼   rF   )rG   s   "rH   rI   r«   õ   s   € ÷ ñ ˜ð  eñ rK   c                	óœ   € V P                   P                  V4      pV P                  P                  V P                  \        V4      R 7       V# r¾   )r¨   ÚreadrA   r[   r©   rÁ   )rR   rï   Úblocks   && rH   rñ   Ú_Reader.readõ   s:   € Ø—‘× Ñ  Ó&ˆØ�‰×Ñ˜dŸi™i´°U³ÐÔ<ØˆrK   c               ó   € V ^8„  d   QhRR/# )r@   Úbz"Union[bytearray, memoryview, mmap]rF   )rG   s   "rH   rI   r«   ú   s   € ÷ ñ Ð<ñ rK   c                	óŠ   € V P                   P                  V4      pV P                  P                  V P                  VR 7       V# r¾   )r¨   ÚreadintorA   r[   r©   )rR   rõ   Úns   && rH   r÷   Ú_Reader.readintoú   s6   € Ø�K‰K× Ñ  Ó#ˆØ�‰×Ñ˜dŸi™i°ÐÔ3ØˆrK   c               ó    € V ^8„  d   QhRRRR/# rî   rF   )rG   s   "rH   rI   r«   ÿ   s   € ÷ ñ ˜Sð ¨%ñ rK   c                	óœ   € V P                   P                  V4      pV P                  P                  V P                  \        V4      R 7       V# r¾   )r¨   ÚreadlinerA   r[   r©   rÁ   )rR   rï   rÂ   s   && rH   rü   Ú_Reader.readlineÿ   s:   € Ø�{‰{×#Ñ# DÓ)ˆØ�‰×Ñ˜dŸi™i´°T³ÐÔ;ØˆrK   c               ó    € V ^8„  d   QhRRRR/# )r@   ÚhintrŠ   rW   zList[bytes]rF   )rG   s   "rH   rI   r«     s   € ÷ ñ ˜cð ¨;ñ rK   c           	     	ó¸   € V P                   P                  V4      pV P                  P                  V P                  \        \        \        V4      4      R 7       V# r¾   )r¨   Ú	readlinesrA   r[   r©   ÚsumÚmaprÁ   )rR   rÿ   Úliness   && rH   r  Ú_Reader.readlines  sA   € Ø—‘×%Ñ% dÓ+ˆØ�‰×Ñ˜dŸi™i´´S¼¸e³_Ó1EÐÔFØˆrK   c               ó   € V ^8„  d   QhRR/# rV   rF   )rG   s   "rH   rI   r«   	  s   € ÷ ñ �tñ rK   c                	ól   € V P                   '       d   V P                  P                  4        R V n        R# )TN)rª   r¨   rµ   r®   rh   s   &rH   rµ   Ú_Reader.close	  s%   € Ø××ÐØ�K‰K×ÑÔØˆŽrK   c               ó$   € V ^8„  d   QhRRRRRR/# )r@   ÚoffsetrŠ   ÚwhencerW   rF   )rG   s   "rH   rI   r«     s!   € ÷ ñ ˜3ð ¨ð °Cñ rK   c                	óŠ   € V P                   P                  W4      pV P                  P                  V P                  VR 7       V# )©rO   )r¨   ÚseekrA   r_   r©   )rR   r
  r  Úposs   &&& rH   r  Ú_Reader.seek  s6   € Ø�k‰k×Ñ˜vÓ.ˆØ�‰×Ñ˜TŸY™Y°#ÐÔ6Øˆ
rK   c               ó   € V ^8„  d   QhRR/# rË   rF   )rG   s   "rH   rI   r«     s   € ÷ "ñ "�cñ "rK   c                	ó6   € V P                   P                  4       # re   )r¨   Útellrh   s   &rH   r  Ú_Reader.tell  s   € Ø�{‰{×ÑÓ!Ð!rK   c               ó    € V ^8„  d   QhRRRR/# )r@   Úsr   rW   rŠ   rF   )rG   s   "rH   rI   r«     s   € ÷ ,ñ ,�sð ,˜sñ ,rK   c                	ó   € \        R 4      h)Úwrite©r   )rR   r  s   &&rH   r  Ú_Reader.write  s   € Ü" 7Ó+Ð+rK   c               ó    € V ^8„  d   QhRRRR/# )r@   r  zIterable[Any]rW   rX   rF   )rG   s   "rH   rI   r«     s   € ÷ 1ñ 1 ð 1°$ñ 1rK   c                	ó   € \        R 4      h)Ú
writelinesr  )rR   r  s   &&rH   r  Ú_Reader.writelines  s   € Ü" <Ó0Ð0rK   )r®   rª   r¨   rA   r©   N)T)éÿÿÿÿ)r   )rw   rx   ry   rz   r{   rQ   ri   ru   r¹   rÃ   ÚpropertyrÈ   rÍ   rÒ   rØ   rÝ   râ   rç   rë   rñ   r÷   rü   r  rµ   r  r  r  r  r|   rF   rK   rH   r¦   r¦   ¶   s¥   † ÙC÷õõõõð
 ôó ðõ$õ$ð ô ó ð ð ô ó ð õ&õ&õ÷õ
÷
÷
õ
÷
õ
"õ,÷1ñ 1rK   r¦   c                  ó>   € ] tR tRtRtR R ltR R ltR R ltR	tR
# )Ú_ReadContexti  zEA utility class to handle a context for both a reader and a progress.c               ó$   € V ^8„  d   QhRRRRRR/# )r@   rA   rB   Úreaderr<   rW   rX   rF   )rG   s   "rH   rI   Ú_ReadContext.__annotate__   s!   € ÷ !ñ ! ð !°Rð !¸Dñ !rK   c                	ó   € Wn         W n        R # re   ©rA   r$  )rR   rA   r$  s   &&&rH   rQ   Ú_ReadContext.__init__   s   € Ø ŒØ ŽrK   c               ó   € V ^8„  d   QhRR/# )r@   rW   r<   rF   )rG   s   "rH   rI   r%  $  s   € ÷ 'ñ '˜2ñ 'rK   c                	ój   € V P                   P                  4        V P                  P                  4       # re   )rA   rg   r$  ri   rh   s   &rH   ri   Ú_ReadContext.__enter__$  s%   € Ø�‰×ÑÔØ�{‰{×$Ñ$Ó&Ð&rK   c               ó(   € V ^8„  d   QhRRRRRRRR/# rm   rF   )rG   s   "rH   rI   r%  (  s2   € ÷ 8ñ 8à/ð8ð )ð8ð (ð	8ð
 
ñ8rK   c                	ór   € V P                   P                  4        V P                  P                  WV4       R # re   )rA   Ústopr$  ru   rt   s   &&&&rH   ru   Ú_ReadContext.__exit__(  s(   € ð 	�‰×ÑÔØ�‰×Ñ˜X°Ö7rK   r'  N)	rw   rx   ry   rz   r{   rQ   ri   ru   r|   rF   rK   rH   r"  r"    s   † ÙOõ!õ'÷8ñ 8rK   r"  r†   ú
Reading...r‹   r�   r�   r�   r’   r“   r”   r•   r–   r—   c               óP   € V ^8„  d   QhRRRRRRRRR	R
RRRRRRRRRRRRRRRRRR/# )r@   Úfiler   rˆ   rŠ   r†   r‡   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   rE   r“   r5   r”   r•   r–   r—   rW   úContextManager[BinaryIO]rF   )rG   s   "rH   rI   rI   2  s”   € ÷ >*ñ >*Ø
ð>*àð>*ð ð	>*ð
 ð>*ð ð>*ð ð>*ð ,ð>*ð ð>*ð ð>*ð ð>*ð ð>*ð ð>*ð ð>*ð ñ>*rK   c               ó
  € V'       d   \        R4      .M. pVP                  \        VV	V
VR7      \        4       \	        4       34       \        TRTRTRTRTRT;'       g    ^
RV/ pVP                  WVR	7      p\        Wï4      # )
aÞ  Read bytes from a file while tracking progress.

Args:
    file (Union[str, PathLike[str], BinaryIO]): The path to the file to read, or a file-like object in binary mode.
    total (int): Total number of bytes to read.
    description (str, optional): Description of task show next to progress bar. Defaults to "Reading".
    auto_refresh (bool, optional): Automatic refresh, disable to force a refresh after each iteration. Default is True.
    transient: (bool, optional): Clear the progress on exit. Defaults to False.
    console (Console, optional): Console to write to. Default creates internal Console instance.
    refresh_per_second (float): Number of times per second to refresh the progress information. Defaults to 10.
    style (StyleType, optional): Style for the bar background. Defaults to "bar.back".
    complete_style (StyleType, optional): Style for the completed bar. Defaults to "bar.complete".
    finished_style (StyleType, optional): Style for a finished bar. Defaults to "bar.finished".
    pulse_style (StyleType, optional): Style for pulsing bars. Defaults to "bar.pulse".
    disable (bool, optional): Disable display of progress.
Returns:
    ContextManager[BinaryIO]: A context manager yielding a progress reader.

rš   r›   r‹   r�   r�   r�   r’   r—   )rˆ   r†   )r�   rž   rŸ   ÚDownloadColumnr¡   r¢   Ú	wrap_filer"  )r2  rˆ   r†   r‹   r�   r�   r�   r’   r“   r”   r•   r–   r—   r¤   rA   r$  s   &&$$$$$$$$$$$   rH   r6  r6  2  sÅ   € ÷J EPŒÐ>Ó	?Ñ@ÐUWð ð ‡N�NäØØ-Ø-Ø'ô	ô ÓÜÓ!ð		
ôô Ø	ðà!ðð ðð ð	ð
 ðð .×3Ð3°ðð ñ€Hð ×Ñ ¸{ÐÓK€FÜ˜Ó)Ð)rK   rˆ   c          &     ód   € V ^8„  d   QhRRRRRRRRR	RR
RRRRRRRRRRRRRRRRRRRRRRRRRRR/# ) r@   r2  ú"Union[str, 'PathLike[str]', bytes]rØ   z"Union[Literal['rt'], Literal['r']]Ú	bufferingrŠ   ÚencodingúOptional[str]ÚerrorsÚnewlinerˆ   úOptional[int]r†   r‡   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   rE   r“   r5   r”   r•   r–   r—   rW   zContextManager[TextIO]rF   )rG   s   "rH   rI   rI   t  sÆ   € ÷ 	ñ 	Ø
,ð	à
,ð	ð ð	ð ð		ð
 ð	ð ð	ð ð	ð ð	ð ð	ð ð	ð ð	ð ,ð	ð ð	ð ð	ð  ð!	ð" ð#	ð$ ð%	ð& ð'	ð( ñ)	rK   c               ó   € R # re   rF   ©r2  rØ   r9  r:  r<  r=  rˆ   r†   r‹   r�   r�   r�   r’   r“   r”   r•   r–   r—   s   &&&&&&$$$$$$$$$$$$rH   ÚopenrA  s  ó   € ñ, 	rK   c          &     ód   € V ^8„  d   QhRRRRRRRRR	RR
RRRRRRRRRRRRRRRRRRRRRRRRRRR/# ) r@   r2  r8  rØ   úLiteral['rb']r9  rŠ   r:  r;  r<  r=  rˆ   r>  r†   r‡   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   rE   r“   r5   r”   r•   r–   r—   rW   r3  rF   )rG   s   "rH   rI   rI   �  sÆ   € ÷ 	ñ 	Ø
,ð	à
ð	ð ð	ð ð		ð
 ð	ð ð	ð ð	ð ð	ð ð	ð ð	ð ð	ð ,ð	ð ð	ð ð	ð  ð!	ð" ð#	ð$ ð%	ð& ð'	ð( ñ)	rK   c               ó   € R # re   rF   r@  s   &&&&&&$$$$$$$$$$$$rH   rA  rA  Œ  rB  rK   c          &     ód   € V ^8„  d   QhRRRRRRRRR	RR
RRRRRRRRRRRRRRRRRRRRRRRRRRR/# ) r@   r2  r8  rØ   ú1Union[Literal['rb'], Literal['rt'], Literal['r']]r9  rŠ   r:  r;  r<  r=  rˆ   r>  r†   r‡   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   rE   r“   r5   r”   r•   r–   r—   rW   z7Union[ContextManager[BinaryIO], ContextManager[TextIO]]rF   )rG   s   "rH   rI   rI   ¥  sÛ   € ÷ S*ñ S*Ø
,ðS*à
;ðS*ð ðS*ð ð	S*ð
 ðS*ð ðS*ð ðS*ð ðS*ð ðS*ð ðS*ð ðS*ð ,ðS*ð ðS*ð ðS*ð  ð!S*ð" ð#S*ð$ ð%S*ð& ð'S*ð( =ñ)S*rK   c               ó  € V'       d   \        R4      .M. pVP                  \        VVVVR7      \        4       \	        4       34       \        TRTRT	RT
RTRT;'       g    ^
RV/ pVP                  V VVVVVVVR	7      p\        VV4      # )
aV  Read bytes from a file while tracking progress.

Args:
    path (Union[str, PathLike[str], BinaryIO]): The path to the file to read, or a file-like object in binary mode.
    mode (str): The mode to use to open the file. Only supports "r", "rb" or "rt".
    buffering (int): The buffering strategy to use, see :func:`io.open`.
    encoding (str, optional): The encoding to use when reading in text mode, see :func:`io.open`.
    errors (str, optional): The error handling strategy for decoding errors, see :func:`io.open`.
    newline (str, optional): The strategy for handling newlines in text mode, see :func:`io.open`
    total: (int, optional): Total number of bytes to read. Must be provided if reading from a file handle. Default for a path is os.stat(file).st_size.
    description (str, optional): Description of task show next to progress bar. Defaults to "Reading".
    auto_refresh (bool, optional): Automatic refresh, disable to force a refresh after each iteration. Default is True.
    transient: (bool, optional): Clear the progress on exit. Defaults to False.
    console (Console, optional): Console to write to. Default creates internal Console instance.
    refresh_per_second (float): Number of times per second to refresh the progress information. Defaults to 10.
    style (StyleType, optional): Style for the bar background. Defaults to "bar.back".
    complete_style (StyleType, optional): Style for the completed bar. Defaults to "bar.complete".
    finished_style (StyleType, optional): Style for a finished bar. Defaults to "bar.finished".
    pulse_style (StyleType, optional): Style for pulsing bars. Defaults to "bar.pulse".
    disable (bool, optional): Disable display of progress.
    encoding (str, optional): The encoding to use when reading in text mode.

Returns:
    ContextManager[BinaryIO]: A context manager yielding a progress reader.

rš   r›   r‹   r�   r�   r�   r’   r—   )rØ   r9  r:  r<  r=  rˆ   r†   )r�   rž   rŸ   r5  r¡   r¢   rA  r"  )r2  rØ   r9  r:  r<  r=  rˆ   r†   r‹   r�   r�   r�   r’   r“   r”   r•   r–   r—   r¤   rA   r$  s   &&&&&&$$$$$$$$$$$$   rH   rA  rA  ¥  sß   € ÷b EPŒÐ>Ó	?Ñ@ÐUWð ð ‡N�NäØØ-Ø-Ø'ô	ô ÓÜÓ!ð		
ôô Ø	ðà!ðð ðð ð	ð
 ðð .×3Ð3°ðð ñ€Hð �]‰]ØØØØØØØØð ó 	€Fô ˜ &Ó)Ð)rK   c                  óh   € ] tR tRt$ RtRtR]R&   RR R lltR R	 ltR
 R lt	]
R R l4       tRtR# )ÚProgressColumniû  z3Base class for a widget to use in progress display.Nr‰   Úmax_refreshc               ó    € V ^8„  d   QhRRRR/# )r@   Útable_columnúOptional[Column]rW   rX   rF   )rG   s   "rH   rI   ÚProgressColumn.__annotate__   s   € ÷ 2ñ 2Ð%5ð 2Àñ 2rK   c                	ó.   € Wn         / V n        R V n        R # re   )Ú_table_columnÚ_renderable_cacheÚ_update_time)rR   rM  s   &&rH   rQ   ÚProgressColumn.__init__   s   € Ø)ÔØMOˆÔØ-1ˆÖrK   c               ó   € V ^8„  d   QhRR/# )r@   rW   r6   rF   )rG   s   "rH   rI   rO    s   € ÷ .ñ . &ñ .rK   c                ó>   € V P                   ;'       g    \        4       # )z.Get a table column, used to build tasks table.)rQ  r6   rh   s   &rH   Úget_table_columnÚProgressColumn.get_table_column  s   € à×!Ñ!×-Ð-¤V£XÐ-rK   c               ó    € V ^8„  d   QhRRRR/# ©r@   r©   ú'Task'rW   r/   rF   )rG   s   "rH   rI   rO  	  s   € ÷ ñ ˜Vð ¨ñ rK   c                óR  € VP                  4       pV P                  eM   VP                  '       g;    V P                  VP                  ,          w  r4W0P                  ,           V8”  d   V#  V P                  V4      pW$3V P                  VP                  &   V#   \
         d     L:i ; i)zÙCalled by the Progress object to return a renderable for the given task.

Args:
    task (Task): An object containing information regarding the task.

Returns:
    RenderableType: Anything renderable (including str).
)r�   rK  rO   rR  ÚidÚKeyErrorÚrender)rR   r©   Úcurrent_timeÚ	timestampÚ
renderables   &&   rH   Ú__call__ÚProgressColumn.__call__	  sž   € ð —}‘}“ˆØ×ÑÒ'°··°ð&Ø(,×(>Ñ(>¸t¿w¹wÕ(GÑ%�	ð ×/Ñ/Õ/°,Ô>Ø%Ð%ð ?ð —[‘[ Ó&ˆ
Ø+7Ð*Dˆ×Ñ˜tŸw™wÑ'ØÐøô ô Ùðús   ²B ÂB&Â%B&c               ó    € V ^8„  d   QhRRRR/# rZ  rF   )rG   s   "rH   rI   rO  !  s   € ÷ 1ñ 1˜6ð 1 nñ 1rK   c                ó   € R# )z"Should return a renderable object.NrF   ©rR   r©   s   &&rH   r_  ÚProgressColumn.render   s   ‚ rK   )rR  rQ  rS  re   )rw   rx   ry   rz   r{   rK  Ú__annotations__rQ   rW  rc  r   r_  r|   rF   rK   rH   rJ  rJ  û  s2   ‡ Ù=à#'€K�Ó'÷2õ
.õð. ô1ó ô1rK   rJ  c                  óJ   a € ] tR tRtRtR
RR/R V 3R lllltR R ltR	tV ;t# )ÚRenderableColumni%  z„A column to insert an arbitrary column.

Args:
    renderable (RenderableType, optional): Any renderable. Defaults to empty string.
rM  Nc               ó    € V ^8„  d   QhRRRR/# )r@   rb  r/   rM  rN  rF   )rG   s   "rH   rI   ÚRenderableColumn.__annotate__,  s   € ÷ 4ñ 4Ø(ð4Ø@Pñ4rK   c               	ó4   <€ Wn         \        SV `	  VR 7       R# ©©rM  N)rb  rP   rQ   )rR   rb  rM  rS   s   &&$€rH   rQ   ÚRenderableColumn.__init__,  s   ø€ ð %ŒÜ‰Ñ lÐÖ3rK   c               ó    € V ^8„  d   QhRRRR/# rZ  rF   )rG   s   "rH   rI   rm  2  s   € ÷ ñ ˜6ð  nñ rK   c                	ó   € V P                   # re   ©rb  rg  s   &&rH   r_  ÚRenderableColumn.render2  s   € Ø�‰ÐrK   rt  )Ú ©	rw   rx   ry   rz   r{   rQ   r_  r|   r}   r~   s   @rH   rk  rk  %  s$   ø† ññ4ØSW÷4ó 4÷ó rK   rk  c                  óR   a € ] tR tRtRtR
R V 3R llltRR R lltR R ltR	tV ;t	# )ÚSpinnerColumni6  aq  A column with a 'spinner' animation.

Args:
    spinner_name (str, optional): Name of spinner animation. Defaults to "dots".
    style (StyleType, optional): Style of spinner. Defaults to "progress.spinner".
    speed (float, optional): Speed factor of spinner. Defaults to 1.0.
    finished_text (TextType, optional): Text used when task is finished. Defaults to " ".
c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r@   Úspinner_namer‡   r“   úOptional[StyleType]ÚspeedrE   Úfinished_textr9   rM  rN  rF   )rG   s   "rH   rI   ÚSpinnerColumn.__annotate__@  s<   € ÷ 4ñ 4àð4ð #ð4ð ð	4ð
  ð4ð 'ñ4rK   c                	ó²   <€ \        WVR 7      V n        \        V\        4      '       d   \        P
                  ! V4      MTV n        \        SV `!  VR7       R# )©r“   r}  rp  N)	r4   ÚspinnerÚ
isinstancer‡   r8   Úfrom_markupr~  rP   rQ   )rR   r{  r“   r}  r~  rM  rS   s   &&&&&&€rH   rQ   ÚSpinnerColumn.__init__@  sO   ø€ ô ˜|ÀÔFˆŒô ˜-¬×-Ò-ô ×Ò˜]Ô+àð 	Ôô
 	‰Ñ lÐÖ3rK   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r@   r{  r‡   Úspinner_styler|  r}  rE   rW   rX   rF   )rG   s   "rH   rI   r  P  s8   € ÷ Oñ OàðOð +ðOð ð	Oð
 
ñOrK   c                ó*   € \        WVR7      V n        R# )a  Set a new spinner.

Args:
    spinner_name (str): Spinner name, see python -m rich.spinner.
    spinner_style (Optional[StyleType], optional): Spinner style. Defaults to "progress.spinner".
    speed (float, optional): Speed factor of spinner. Defaults to 1.0.
r�  N)r4   r‚  )rR   r{  r‡  r}  s   &&&&rH   Úset_spinnerÚSpinnerColumn.set_spinnerP  s   € ô ˜|ÈÔNˆŽrK   c               ó    € V ^8„  d   QhRRRR/# rZ  rF   )rG   s   "rH   rI   r  _  s   € ÷ ñ ˜6ð  nñ rK   c                	ó˜   € VP                   '       d   V P                  pV# V P                  P                  VP	                  4       4      pV# re   )Úfinishedr~  r‚  r_  r�   )rR   r©   Útexts   && rH   r_  ÚSpinnerColumn.render_  sJ   € ð �}�}ˆ}ð ×Ñð 	ð
 ˆð —‘×$Ñ$ T§]¡]£_Ó5ð 	ð
 ˆrK   )r~  r‚  )Údotsúprogress.spinnerç      ð?Ú N)r‘  r’  )
rw   rx   ry   rz   r{   rQ   r‰  r_  r|   r}   r~   s   @rH   ry  ry  6  s"   ø† ñ÷4ò 4÷ O÷ó rK   ry  c                  óB   a € ] tR tRtRtRR V 3R llltR R ltRtV ;t# )	r�   ih  zA column containing text.c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r@   Útext_formatr‡   r“   r5   Újustifyr.   ÚmarkuprŒ   ÚhighlighterúOptional[Highlighter]rM  rN  rW   rX   rF   )rG   s   "rH   rI   ÚTextColumn.__annotate__k  sY   € ÷ Lñ LàðLð ðLð ð	Lð
 ðLð +ðLð 'ðLð 
ñLrK   c                	óŒ   <€ Wn         W0n        W n        W@n        WPn        \
        ST `  T;'       g    \        R R7      R7       R# )T©Úno_wraprp  N)r–  r—  r“   r˜  r™  rP   rQ   r6   )rR   r–  r“   r—  r˜  r™  rM  rS   s   &&&&&&&€rH   rQ   ÚTextColumn.__init__k  s=   ø€ ð 'ÔØ&-ŒØŒ
ØŒØ&ÔÜ‰Ñ l×&JÐ&J´fÀTÔ6JÐÖKrK   c               ó    € V ^8„  d   QhRRRR/# ©r@   r©   r[  rW   r8   rF   )rG   s   "rH   rI   r›  {  s   € ÷ ñ ˜6ð  dñ rK   c                	óX  € V P                   P                  VR 7      pV P                  '       d.   \        P                  ! W P
                  V P                  R7      pM!\        W P
                  V P                  R7      pV P                  '       d   V P                  P                  V4       V# )©r©   ©r“   r—  )	r–  rG   r˜  r8   r„  r“   r—  r™  Ú	highlight)rR   r©   Ú_textrŽ  s   &&  rH   r_  ÚTextColumn.render{  sw   € Ø× Ñ ×'Ñ'¨TÐ'Ó2ˆØ�;�;ˆ;Ü×#Ò# E·±ÀTÇ\Á\ÔR‰Dä˜§Z¡Z¸¿¹ÔFˆDØ××ÐØ×Ñ×&Ñ& tÔ,ØˆrK   )r™  r—  r˜  r“   r–  )ÚnoneÚleftTNNrw  r~   s   @rH   r�   r�   h  s   ø† Ù#÷Lò L÷ ó rK   r�   c                  óB   a € ] tR tRtRtRR V 3R llltR R ltRtV ;t# )	rŸ   i†  aö  Renders a visual progress bar.

Args:
    bar_width (Optional[int], optional): Width of bar or None for full width. Defaults to 40.
    style (StyleType, optional): Style for the bar background. Defaults to "bar.back".
    complete_style (StyleType, optional): Style for the completed bar. Defaults to "bar.complete".
    finished_style (StyleType, optional): Style for a finished bar. Defaults to "bar.finished".
    pulse_style (StyleType, optional): Style for pulsing bars. Defaults to "bar.pulse".
c               ó4   € V ^8„  d   QhRRRRRRRRRRRR	R
R/# )r@   Ú	bar_widthr>  r“   r5   r”   r•   r–   rM  rN  rW   rX   rF   )rG   s   "rH   rI   ÚBarColumn.__annotate__‘  sP   € ÷ 4ñ 4à ð4ð ð4ð "ð	4ð
 "ð4ð ð4ð 'ð4ð 
ñ4rK   c                	ód   <€ Wn         W n        W0n        W@n        WPn        \
        SV `  VR 7       R# ro  )r¬  r“   r”   r•   r–   rP   rQ   )rR   r¬  r“   r”   r•   r–   rM  rS   s   &&&&&&&€rH   rQ   ÚBarColumn.__init__‘  s1   ø€ ð #ŒØŒ
Ø,ÔØ,ÔØ&ÔÜ‰Ñ lÐÖ3rK   c               ó    € V ^8„  d   QhRRRR/# )r@   r©   r[  rW   r3   rF   )rG   s   "rH   rI   r­  ¡  s   € ÷ 
ñ 
˜6ð 
 kñ 
rK   c                ól  € \        VP                  e   \        ^ VP                  4      MR\        ^ VP                  4      V P                  f   RM\        ^V P                  4      VP
                  '       * VP                  4       V P                  V P                  V P                  V P                  R7	      # )z&Gets a progress bar widget for a task.N)	rˆ   rO   ÚwidthÚpulseÚanimation_timer“   r”   r•   r–   )r3   rˆ   ÚmaxrO   r¬  Ústartedr�   r“   r”   r•   r–   rg  s   &&rH   r_  ÚBarColumn.render¡  s„   € äØ(,¯
©
Ò(>”#�a˜Ÿ™Ô$ÀDÜ˜!˜TŸ^™^Ó,ØŸ.™.Ò0‘$´c¸!¸T¿^¹^Ó6LØ—l‘lÔ"ØŸ=™=›?Ø—*‘*Ø×.Ñ.Ø×.Ñ.Ø×(Ñ(ô

ð 
	
rK   )r¬  r”   r•   r–   r“   )é(   r   r€   r�   r‚   Nrw  r~   s   @rH   rŸ   rŸ   †  s   ø† ñ÷4ò 4÷ 
ó 
rK   rŸ   c                  ó&   € ] tR tRtRtR R ltRtR# )ÚTimeElapsedColumni°  zRenders time elapsed.c               ó    € V ^8„  d   QhRRRR/# r¡  rF   )rG   s   "rH   rI   ÚTimeElapsedColumn.__annotate__³  s   € ÷ :ñ :˜6ð : dñ :rK   c                óâ   € VP                   '       d   VP                  MVP                  pVf   \        RRR7      # \	        \        ^ \        V4      4      R7      p\        \        V4      RR7      # )zShow time elapsed.ú-:--:--úprogress.elapsed©r“   )Úseconds)r�  Úfinished_timeÚelapsedr8   r
   rµ  rŠ   r‡   )rR   r©   rÃ  Údeltas   &&  rH   r_  ÚTimeElapsedColumn.render³  sU   € à(,¯¯¨�$×$Ò$¸4¿<¹<ˆØŠ?Ü˜	Ð);Ô<Ð<Ü¤# a¬¨W«Ó"6Ô7ˆÜ”C˜“JÐ&8Ô9Ð9rK   rF   N©rw   rx   ry   rz   r{   r_  r|   rF   rK   rH   rº  rº  °  s   † Ù÷:ñ :rK   rº  c                  óX   a € ] tR tRtRtR
R V 3R lllt]R R l4       tR R ltR	t	V ;t
# )r    i¼  aê  Show task progress as a percentage.

Args:
    text_format (str, optional): Format for percentage display. Defaults to "[progress.percentage]{task.percentage:>3.0f}%".
    text_format_no_percentage (str, optional): Format if percentage is unknown. Defaults to "".
    style (StyleType, optional): Style of output. Defaults to "none".
    justify (JustifyMethod, optional): Text justification. Defaults to "left".
    markup (bool, optional): Enable markup. Defaults to True.
    highlighter (Optional[Highlighter], optional): Highlighter to apply to output. Defaults to None.
    table_column (Optional[Column], optional): Table Column to use. Defaults to None.
    show_speed (bool, optional): Show speed if total is unknown. Defaults to False.
c               ó<   € V ^8„  d   QhRRRRRRRRRR	R
RRRRR	RR/	# )r@   r–  r‡   Útext_format_no_percentager“   r5   r—  r.   r˜  rŒ   r™  rš  rM  rN  r˜   rW   rX   rF   )rG   s   "rH   rI   ÚTaskProgressColumn.__annotate__Ê  sd   € ÷ 
ñ 
àð
ð $'ð
ð ð	
ð
 ð
ð ð
ð +ð
ð 'ð
ð ð
ð 
ñ
rK   c	           	     	óJ   <€ W n         W€n        \        S	V `  VVVVVVR 7       R# ))r–  r“   r—  r˜  r™  rM  N)rÉ  r˜   rP   rQ   )
rR   r–  rÉ  r“   r—  r˜  r™  rM  r˜   rS   s
   &&&&&&&&&€rH   rQ   ÚTaskProgressColumn.__init__Ê  s5   ø€ ð *CÔ&Ø$ŒÜ‰ÑØ#ØØØØ#Ø%ð 	ö 	
rK   c               ó    € V ^8„  d   QhRRRR/# )r@   r}  r‰   rW   r8   rF   )rG   s   "rH   rI   rÊ  á  s   € ÷ Sñ S ð S°Tñ SrK   c                ó¤   € Vf   \        RRR7      # \        P                  ! \        V4      . ROR4      w  r#W,          p\        VR V R2RR7      # )z�Render the speed in iterations per second.

Args:
    task (Task): A Task object.

Returns:
    Text: Text object containing the task speed.
rv  zprogress.percentagerÀ  éè  z.1fz it/s)rv  u   Ã—10Â³u   Ã—10â�¶u   Ã—10â�¹u   Ã—10Â¹Â²)r8   r*   Úpick_unit_and_suffixrŠ   )Úclsr}  ÚunitÚsuffixÚ
data_speeds   &&   rH   Úrender_speedÚTaskProgressColumn.render_speedà  s[   € ð Š=Ü˜Ð"7Ô8Ð8Ü×4Ò4Ü�‹JÚ<Øó
‰ˆð
 •\ˆ
Ü�z #Ð& v h¨eÐ4Ð<QÔRÐRrK   c               ó    € V ^8„  d   QhRRRR/# r¡  rF   )rG   s   "rH   rI   rÊ  ô  s   € ÷ ñ ˜6ð  dñ rK   c                	ó.  € VP                   fB   V P                  '       d0   T P                  VP                  ;'       g    VP                  4      # VP                   f   V P
                  MV P                  pVP                  VR7      pV P                  '       d.   \        P                  ! W0P                  V P                  R7      pM!\        W0P                  V P                  R7      pV P                  '       d   V P                  P                  V4       V# )Nr£  r¤  )rˆ   r˜   rÕ  Úfinished_speedr}  rÉ  r–  rG   r˜  r8   r„  r“   r—  r™  r¥  )rR   r©   r–  r¦  rŽ  s   &&   rH   r_  ÚTaskProgressColumn.renderô  sÇ   € Ø�:‰:Ò $§/§/ /Ø×$Ñ$ T×%8Ñ%8×%FÐ%F¸D¿J¹JÓGÐGà.2¯j©jÒ.@ˆD×*Ò*Àd×FVÑFVð 	ð ×"Ñ"¨Ð"Ó-ˆØ�;�;ˆ;Ü×#Ò# E·±ÀTÇ\Á\ÔR‰Dä˜§Z¡Z¸¿¹ÔFˆDØ××ÐØ×Ñ×&Ñ& tÔ,ØˆrK   )r˜   rÉ  )z-[progress.percentage]{task.percentage:>3.0f}%rv  r¨  r©  TNNF)rw   rx   ry   rz   r{   rQ   ÚclassmethodrÕ  r_  r|   r}   r~   s   @rH   r    r    ¼  s2   ø† ñ÷
ò 
ð, ôSó ðS÷&ó rK   r    c                  óF   a € ] tR tRtRtRtR	R V 3R llltR R ltRtV ;t	# )
r¡   i  zÿRenders estimated time remaining.

Args:
    compact (bool, optional): Render MM:SS when time remaining is less than an hour. Defaults to False.
    elapsed_when_finished (bool, optional): Render time elapsed when the task is finished. Defaults to False.
ç      à?c               ó$   € V ^8„  d   QhRRRRRR/# )r@   ÚcompactrŒ   rœ   rM  rN  rF   )rG   s   "rH   rI   Ú TimeRemainingColumn.__annotate__  s(   € ÷ 4ñ 4àð4ð  $ð4ð 'ñ	4rK   c                	ó@   <€ Wn         W n        \        SV `  VR 7       R# ro  )rß  rœ   rP   rQ   )rR   rß  rœ   rM  rS   s   &&&&€rH   rQ   ÚTimeRemainingColumn.__init__  s    ø€ ð ŒØ%:Ô"Ü‰Ñ lÐÖ3rK   c               ó    € V ^8„  d   QhRRRR/# r¡  rF   )rG   s   "rH   rI   rà    s   € ÷ ,ñ ,˜6ð , dñ ,rK   c                óÔ  € V P                   '       d"   VP                  '       d   VP                  pRpMVP                  pRpVP                  f   \        RVR7      # Vf(   \        V P                  '       d	   RVR7      # RVR7      # \        \        V4      ^<4      w  rE\        V^<4      w  rdV P                  '       d   V'       g   VR RVR 2pMVR	 RVR RVR 2p\        WsR7      # )
zShow time remaining.r¿  zprogress.remainingrv  rÀ  z--:--r¾  Ú02dÚ:Úd)	rœ   r�  rÂ  Útime_remainingrˆ   r8   rß  ÚdivmodrŠ   )rR   r©   Ú	task_timer“   ÚminutesrÁ  ÚhoursÚ	formatteds   &&      rH   r_  ÚTimeRemainingColumn.render  sÛ   € à×%×%Ð%¨$¯-¯-¨-Ø×*Ñ*ˆIØ&‰Eà×+Ñ+ˆIØ(ˆEà�:‰:ÒÜ˜ %Ô(Ð(àÒÜ 4§<§< <˜ÀeÔLÐL°YÀeÔLÐLô "¤# i£.°"Ó5ÑˆÜ ¨Ó,‰ˆà�<�<ˆ<§Ø" 3˜- q¨°¨Ð6‰Ià  ˜) 1 W¨S M°°7¸3°-Ð@ˆIä�IÔ+Ð+rK   )rß  rœ   )FFN)
rw   rx   ry   rz   r{   rK  rQ   r_  r|   r}   r~   s   @rH   r¡   r¡     s#   ø† ñð €K÷4ò 4÷,ó ,rK   r¡   c                  ó&   € ] tR tRtRtR R ltRtR# )ÚFileSizeColumni4  zRenders completed filesize.c               ó    € V ^8„  d   QhRRRR/# r¡  rF   )rG   s   "rH   rI   ÚFileSizeColumn.__annotate__7  s   € ÷ :ñ :˜6ð : dñ :rK   c                ón   € \         P                  ! \        VP                  4      4      p\	        VRR7      # )úShow data completed.zprogress.filesizerÀ  )r*   ÚdecimalrŠ   rO   r8   ©rR   r©   Ú	data_sizes   && rH   r_  ÚFileSizeColumn.render7  s)   € ä×$Ò$¤S¨¯©Ó%8Ó9ˆ	Ü�IÐ%8Ô9Ð9rK   rF   NrÆ  rF   rK   rH   rð  rð  4  s   † Ù%÷:ñ :rK   rð  c                  ó&   € ] tR tRtRtR R ltRtR# )ÚTotalFileSizeColumni=  zRenders total filesize.c               ó    € V ^8„  d   QhRRRR/# r¡  rF   )rG   s   "rH   rI   Ú TotalFileSizeColumn.__annotate__@  s   € ÷ @ñ @˜6ð @ dñ @rK   c                óŽ   € VP                   e*   \        P                  ! \        VP                   4      4      MRp\	        VRR7      # )rô  rv  zprogress.filesize.totalrÀ  )rˆ   r*   rõ  rŠ   r8   rö  s   && rH   r_  ÚTotalFileSizeColumn.render@  s4   € à9=¿¹Ò9O”H×$Ò$¤S¨¯©£_Ô5ÐUWˆ	Ü�IÐ%>Ô?Ð?rK   rF   NrÆ  rF   rK   rH   rú  rú  =  s   † Ù!÷@ñ @rK   rú  c                  óB   a € ] tR tRtRtRR V 3R llltR R ltRtV ;t# )	ÚMofNCompleteColumniF  a0  Renders completed count/total, e.g. '  10/1000'.

Best for bounded tasks with int quantities.

Space pads the completed count so that progress length does not change as task progresses
past powers of 10.

Args:
    separator (str, optional): Text to separate completed and total values. Defaults to "/".
c               ó    € V ^8„  d   QhRRRR/# )r@   Ú	separatorr‡   rM  rN  rF   )rG   s   "rH   rI   ÚMofNCompleteColumn.__annotate__R  s   € ÷ 4ñ 4 #ð 4Ð;Kñ 4rK   c                	ó4   <€ Wn         \        SV `	  VR 7       R# ro  )r  rP   rQ   )rR   r  rM  rS   s   &&&€rH   rQ   ÚMofNCompleteColumn.__init__R  s   ø€ Ø"ŒÜ‰Ñ lÐÖ3rK   c               ó    € V ^8„  d   QhRRRR/# r¡  rF   )rG   s   "rH   rI   r  V  s   € ÷ 
ñ 
˜6ð 
 dñ 
rK   c                óÞ   € \        VP                  4      pVP                  e   \        VP                  4      MRp\        \	        V4      4      p\        W$ R2 V P                   V 2RR7      # )zShow completed/total.Ú?rç  úprogress.downloadrÀ  )rŠ   rO   rˆ   rÁ   r‡   r8   r  )rR   r©   rO   rˆ   Útotal_widths   &&   rH   r_  ÚMofNCompleteColumn.renderV  sa   € ä˜Ÿ™Ó'ˆ	Ø#'§:¡:Ò#9”�D—J‘J”¸sˆÜœ#˜e›*“oˆÜØ˜ a˜Ð(¨¯©Ð(8¸¸Ð@Ø%ô
ð 	
rK   )r  )Ú/Nrw  r~   s   @rH   r   r   F  s   ø† ñ	÷4ò 4÷
ó 
rK   r   c                  óB   a € ] tR tRtRtRR V 3R llltR R ltRtV ;t# )	r5  ia  z˜Renders file size downloaded and total, e.g. '0.5/2.3 GB'.

Args:
    binary_units (bool, optional): Use binary units, KiB, MiB etc. Defaults to False.
c               ó$   € V ^8„  d   QhRRRRRR/# )r@   Úbinary_unitsrŒ   rM  rN  rW   rX   rF   )rG   s   "rH   rI   ÚDownloadColumn.__annotate__h  s$   € ÷ 4ñ 4Ø ð4Ø8Hð4à	ñ4rK   c                	ó4   <€ Wn         \        SV `	  VR 7       R# ro  )r  rP   rQ   )rR   r  rM  rS   s   &&&€rH   rQ   ÚDownloadColumn.__init__h  s   ø€ ð )ÔÜ‰Ñ lÐÖ3rK   c               ó    € V ^8„  d   QhRRRR/# r¡  rF   )rG   s   "rH   rI   r  n  s   € ÷ !ñ !˜6ð ! dñ !rK   c                óà  € \        VP                  4      pVP                  e   \        VP                  4      MTpV P                  '       d   \        P
                  ! V. R
OR4      w  rEM\        P
                  ! V. ROR4      w  rEV^8X  d   ^ M^pW$,          pVRV R2 pVP                  e'   \        VP                  4      p	W”,          p
V
RV R2 pMRpV RV RV 2p\        VRR	7      pV# )z.Calculate common unit for completed and total.i   rÏ  z,.Úfr  r  r“  r	  rÀ  )	r¼   ÚKiBÚMiBÚGiBÚTiBÚPiBÚEiBÚZiBÚYiB)	r¼   ÚkBÚMBÚGBÚTBÚPBÚEBÚZBÚYB)rŠ   rO   rˆ   r  r*   rÐ  r8   )rR   r©   rO   Ú unit_and_suffix_calculation_baserÒ  rÓ  Ú	precisionÚcompleted_ratioÚcompleted_strrˆ   Útotal_ratioÚ	total_strÚdownload_statusÚdownload_texts   &&            rH   r_  ÚDownloadColumn.rendern  sü   € ä˜Ÿ™Ó'ˆ	ð  $Ÿz™zÒ5ŒC�—
‘
ŒO¸9ð 	)ð ××ÐÜ#×8Ò8Ø0ÚQØó‰LˆD�&ô $×8Ò8Ø0ÚIØó‰LˆDð
  œ‘A¨ˆ	à#Õ*ˆØ*¨2¨i¨[¸¨/Ð:ˆà�:‰:Ò!Ü˜Ÿ
™
“OˆEØ�,ˆKØ& r¨)¨°A oÐ6‰IàˆIà*˜O¨1¨Y¨K°q¸¸ÐAˆÜ˜_Ð4GÔHˆØÐrK   )r  r­   rw  r~   s   @rH   r5  r5  a  s   ø† ñ÷4ò 4÷!ó !rK   r5  c                  ó&   € ] tR tRtRtR R ltRtR# )ÚTransferSpeedColumni’  z&Renders human readable transfer speed.c               ó    € V ^8„  d   QhRRRR/# r¡  rF   )rG   s   "rH   rI   Ú TransferSpeedColumn.__annotate__•  s   € ÷ Dñ D˜6ð D dñ DrK   c                óÂ   € VP                   ;'       g    VP                  pVf   \        RRR7      # \        P                  ! \        V4      4      p\        V R2RR7      # )zShow data transfer speed.r  zprogress.data.speedrÀ  z/s)rÙ  r}  r8   r*   rõ  rŠ   )rR   r©   r}  rÔ  s   &&  rH   r_  ÚTransferSpeedColumn.render•  sU   € à×#Ñ#×1Ð1 t§z¡zˆØŠ=Ü˜Ð#8Ô9Ð9Ü×%Ò%¤c¨%£jÓ1ˆ
Ü�z�l "Ð%Ð-BÔCÐCrK   rF   NrÆ  rF   rK   rH   r0  r0  ’  s   † Ù0÷Dñ DrK   r0  c                  ó2   € ] tR tRt$ RtR]R&    R]R&   RtR# )ÚProgressSampleiž  z$Sample of progress for a given time.rE   ra  rO   rF   N)rw   rx   ry   rz   r{   ri  r|   rF   rK   rH   r6  r6  ž  s   ‡ Ù.àÓØØÓÛ$rK   r6  c                  óÞ  € ] tR tRt$ RtR]R&    R]R&    R]R&    R	]R
&    R]R&    RtR]R&    RtR]R&    ]! ]	R7      t
R]R&    ]! RRRR7      tR]R&    ]! RRRR7      tR]R&    RtR]R&    ]! R RRR7      tR]R&   ]! R]R7      tR]R &    R! R" lt]R# R$ l4       t]R% R& l4       t]R' R( l4       t]R) R* l4       t]R+ R, l4       t]R- R. l4       t]R/ R0 l4       tR1 R2 ltR3tR# )4ÚTaski§  z}Information regarding a progress task.

This object should be considered read-only outside of the :class:`~Progress` class.

r:   r]  r‡   r†   r‰   rˆ   rE   rO   ÚGetTimeCallableÚ	_get_timeNrÂ  TrŒ   Úvisible)Údefault_factoryzDict[str, Any]ÚfieldsF)ÚdefaultÚinitÚreprÚ
start_timeÚ	stop_timerÙ  c                 	ó   € \        R R7      # )rÏ  )Úmaxlenr   rF   rK   rH   Ú<lambda>ÚTask.<lambda>Ñ  s	   € ¤¨TÕ 2rK   )r<  r?  r@  zDeque[ProgressSample]Ú	_progress)r@  r<  r   Ú_lockc               ó   € V ^8„  d   QhRR/# ©r@   rW   rE   rF   )rG   s   "rH   rI   ÚTask.__annotate__×  s   € ÷  ñ  ˜%ñ  rK   c                ó"   € V P                  4       # )z(float: Get the current time, in seconds.)r:  rh   s   &rH   r�   ÚTask.get_time×  s   € à�~‰~ÓÐrK   c               ó   € V ^8„  d   QhRR/# rÆ   rF   )rG   s   "rH   rI   rK  Ü  s   € ÷ +ñ +˜ñ +rK   c                ó   € V P                   RJ# )z#bool: Check if the task as started.N)rA  rh   s   &rH   r¶  ÚTask.startedÛ  s   € ð �‰ dÐ*Ð*rK   c               ó   € V ^8„  d   QhRR/# ©r@   rW   r‰   rF   )rG   s   "rH   rI   rK  á  s   € ÷ +ñ +˜?ñ +rK   c                ó\   € V P                   f   R# V P                   V P                  ,
          # )zPOptional[float]: Get the number of steps remaining, if a non-None total was set.N©rˆ   rO   rh   s   &rH   Ú	remainingÚTask.remainingà  s$   € ð �:‰:ÒÙØ�z‰z˜DŸN™NÕ*Ð*rK   c               ó   € V ^8„  d   QhRR/# rR  rF   )rG   s   "rH   rI   rK  è  s   € ÷ 1ñ 1˜ñ 1rK   c                óº   € V P                   f   R# V P                  e   V P                  V P                   ,
          # V P                  4       V P                   ,
          # )z]Optional[float]: Time elapsed since task was started, or ``None`` if the task hasn't started.N)rA  rB  r�   rh   s   &rH   rÃ  ÚTask.elapsedç  sC   € ð �?‰?Ò"ÙØ�>‰>Ò%Ø—>‘> D§O¡OÕ3Ð3Ø�}‰}‹ §¡Õ0Ð0rK   c               ó   € V ^8„  d   QhRR/# rÆ   rF   )rG   s   "rH   rI   rK  ñ  s   € ÷ .ñ .˜$ñ .rK   c                ó   € V P                   RJ# )zCheck if the task has finished.N)rÂ  rh   s   &rH   r�  ÚTask.finishedð  s   € ð ×!Ñ!¨Ð-Ð-rK   c               ó   € V ^8„  d   QhRR/# rJ  rF   )rG   s   "rH   rI   rK  ö  s   € ÷ ñ ˜Eñ rK   c                ó¢   € V P                   '       g   R# V P                  V P                   ,          R,          p\        R\        RV4      4      pV# )zOfloat: Get progress of task as a percentage. If a None total was set, returns 0ç        ç      Y@)rˆ   rO   Úminrµ  )rR   rO   s   & rH   Ú
percentageÚTask.percentageõ  s@   € ð �z�zˆzÙØ—^‘^ d§j¡jÕ0°EÕ9ˆ	Ü˜œs 3¨	Ó2Ó3ˆ	ØÐrK   c               ó   € V ^8„  d   QhRR/# rR  rF   )rG   s   "rH   rI   rK  ÿ  s   € ÷ ñ �ñ rK   c                ó¤  € V P                   f   R# V P                  ;_uu_ 4        V P                  pV'       g    RRR4       R# VR,          P                  V^ ,          P                  ,
          pV^ 8X  d    RRR4       R# \	        V4      p\        V4       \        R V 4       4      pWB,          pVuuRRR4       #   + '       g   i     R# ; i)z=Optional[float]: Get the estimated speed in steps per second.Nc              3  ó8   "  € T F  qP                   x € K  	  R # 5ire   r  )Ú.0Úsamples   & rH   Ú	<genexpr>ÚTask.speed.<locals>.<genexpr>  s   é € Ð!OÁ°v×"2Ö"2Ãùó   ‚r  )rA  rH  rG  ra  ÚiterrÀ   r  )rR   rA   Ú
total_timeÚiter_progressÚtotal_completedr}  s   &     rH   r}  Ú
Task.speedþ  s›   € ð �?‰?Ò"ÙØ�Z�Z‹ZØ—~‘~ˆHßØ÷ ‰Zð " "�×/Ñ/°(¸1µ+×2GÑ2GÕGˆJØ˜QŒØ÷ ‰Zô ! ›NˆMÜ�ÔÜ!Ñ!OÁÓ!OÓOˆOØ#Õ0ˆEØ÷ �Z�Z‹Zús   ¥B>Á3B>Â1B>Â>C	c               ó   € V ^8„  d   QhRR/# rR  rF   )rG   s   "rH   rI   rK    s   € ÷ ñ  ñ rK   c                ó    € V P                   '       d   R# V P                  pV'       g   R# V P                  pVf   R# \        W!,          4      pV# )zJOptional[float]: Get estimated time to completion, or ``None`` if no data.r_  N)r�  r}  rU  r   )rR   r}  rU  Úestimates   &   rH   rè  ÚTask.time_remaining  sC   € ð �=�=ˆ=ÙØ—
‘
ˆßÙØ—N‘Nˆ	ØÒÙÜ˜	Õ)Ó*ˆØˆrK   c               ó   € V ^8„  d   QhRR/# rV   rF   )rG   s   "rH   rI   rK    s   € ÷ #ñ #˜ñ #rK   c                óV   € V P                   P                  4        RV n        RV n        R# )zReset progress.N)rG  ÚclearrÂ  rÙ  rh   s   &rH   Ú_resetÚTask._reset  s"   € à�‰×ÑÔØ!ˆÔØ"ˆÖrK   )rÙ  rÂ  )rw   rx   ry   rz   r{   ri  rÂ  r;  r	   Údictr=  rA  rB  rÙ  rG  r   rH  r�   r   r¶  rU  rÃ  r�  rb  r}  rè  rx  r|   rF   rK   rH   r8  r8  §  sd  ‡ ñð 	ƒJØGàÓØ'àÓØ>àÓØ*àÓØ+à%)€M�?Ó)Ø(à€GˆTÓØJá"°4Ô8€FˆNÓ8Ø?á"'°¸5ÀuÔ"M€J�ÓMØNá!&¨t¸%ÀeÔ!L€IˆÓLØNà&*€N�OÓ*Ø>á',Ù2¸ÀUô(€IÐ$ó ñ ˜e°UÔ;€Eˆ5Ó;Øõ ð ô+ó ð+ð ô+ó ð+ð ô1ó ð1ð ô.ó ð.ð ôó ðð ôó ðð" ôó ð÷#ñ #rK   r8  c                  ó„  € ] tR tRtRtRRRRR^
RR	R
RRRRRRRRRRR/
R R llt]R R l4       t]R R l4       t	]R R l4       t
]R R l4       t]R R l4       tR R ltR R  ltR! R" ltR# R$ ltRQR% R& lltRRR'RR(R)/R* R+ lllt]P(                  RSR,RR'RR(R)/R- R. lll4       t]P(                  RSR,RR'RR(R)/R/ R0 lll4       tRTR,RR'RR(R)/R1 R2 llltR3 R4 ltR5 R6 ltR,RR7RR8RR(RR9RR:R/R; R< lltR=RR,RR7^ R9RR(R/R> R? lltRUR@ RA lltRB RC ltRD RE ltRF RG ltRH RI ltRJ RK ltRVRL RM llt RN RO lt!RPt"R# )Wr¢   i%  a4  Renders an auto-updating progress bar(s).

Args:
    console (Console, optional): Optional Console instance. Defaults to an internal Console instance writing to stdout.
    auto_refresh (bool, optional): Enable auto refresh. If disabled, you will need to call `refresh()`.
    refresh_per_second (float, optional): Number of times per second to refresh the progress information. Defaults to 10.
    speed_estimate_period: (float, optional): Period (in seconds) used to calculate the speed estimate. Defaults to 30.
    transient: (bool, optional): Clear the progress on exit. Defaults to False.
    redirect_stdout: (bool, optional): Enable redirection of stdout, so ``print`` may be used. Defaults to True.
    redirect_stderr: (bool, optional): Enable redirection of stderr. Defaults to True.
    get_time: (Callable, optional): A callable that gets the current time, or None to use Console.get_time. Defaults to None.
    disable (bool, optional): Disable progress display. Defaults to False
    expand (bool, optional): Expand tasks table to fit width. Defaults to False.
r�   Nr‹   Tr’   Úspeed_estimate_periodg      >@r�   FÚredirect_stdoutÚredirect_stderrr�   r—   Úexpandc               óH   € V ^8„  d   QhRRRRRRRRR	RR
RRRRRRRRRRRRR/# )r@   r¤   zUnion[str, ProgressColumn]r�   rŽ   r‹   rŒ   r’   rE   r|  r�   r}  r~  r�   zOptional[GetTimeCallable]r—   r  rW   rX   rF   )rG   s   "rH   rI   ÚProgress.__annotate__5  s‚   € ÷ "$ñ "$à,ð"$ð #ð"$ð ð	"$ð
 "ð"$ð  %ð"$ð ð"$ð ð"$ð ð"$ð ,ð"$ð ð"$ð ð"$ð 
ñ"$rK   c       
   
     	óì  € V^ 8”  g   Q R4       h\        4       V n        T;'       g    V P                  4       V n        W@n        W�n        W n        / V n        \        ^ 4      V n	        \        T;'       g    \        4       VVVVVV P                  R7      V n        T;'       g    V P                  P                  V n        V P                  P                   V n        V P                  P"                  V n        R# )r   zrefresh_per_second must be > 0)r�   r‹   r’   r�   r}  r~  Úget_renderableN)r   rH  Úget_default_columnsr¤   r|  r—   r  Ú_tasksr:   Ú_task_indexr2   r+   rƒ  r]   r�   r�   ÚprintÚlog)rR   r�   r‹   r’   r|  r�   r}  r~  r�   r—   r  r¤   s   &$$$$$$$$$$*rH   rQ   ÚProgress.__init__5  sÊ   € ð " AÔ%ÐGÐ'GÓGÐ%Ü“WˆŒ
Ø×<Ð< $×":Ñ":Ó"<ˆŒØ%:Ô"àŒØŒØ*,ˆŒÜ#)¨!£9ˆÔÜØ×,Ð,œ{›}Ø%Ø1ØØ+Ø+Ø×.Ñ.ô
ˆŒ	ð !×9Ð9 D§L¡L×$9Ñ$9ˆŒØ—\‘\×'Ñ'ˆŒ
Ø—<‘<×#Ñ#ˆŽrK   c               ó   € V ^8„  d   QhRR/# )r@   rW   zTuple[ProgressColumn, ...]rF   )rG   s   "rH   rI   r�  Z  s   € ÷ 
ñ 
Ð$>ñ 
rK   c                óP   € \        R4      \        4       \        4       \        4       3# )a  Get the default columns used for a new Progress instance:
   - a text column for the description (TextColumn)
   - the bar itself (BarColumn)
   - a text column showing completion percentage (TextColumn)
   - an estimated-time-remaining column (TimeRemainingColumn)
If the Progress instance is created without passing a columns argument,
the default columns defined here will be used.

You can also create a Progress instance using custom columns before
and/or after the defaults, as in this example:

    progress = Progress(
        SpinnerColumn(),
        *Progress.get_default_columns(),
        "Elapsed:",
        TimeElapsedColumn(),
    )

This code shows the creation of a Progress display, containing
a spinner to the left, the default columns, and a labeled elapsed
time column.
rš   )r�   rŸ   r    r¡   )rÑ  s   &rH   r„  ÚProgress.get_default_columnsY  s(   € ô2 ÐAÓBÜ‹KÜÓ ÜÓ!ð	
ð 	
rK   c               ó   € V ^8„  d   QhRR/# )r@   rW   r,   rF   )rG   s   "rH   rI   r�  y  s   € ÷ !ñ !˜ñ !rK   c                	ó.   € V P                   P                  # re   )r]   r�   rh   s   &rH   r�   ÚProgress.consolex  s   € à�y‰y× Ñ Ð rK   c               ó   € V ^8„  d   QhRR/# )r@   rW   z
List[Task]rF   )rG   s   "rH   rI   r�  }  s   € ÷ .ñ .�zñ .rK   c                ó®   € V P                   ;_uu_ 4        \        V P                  P                  4       4      uuRRR4       #   + '       g   i     R# ; i)zGet a list of Task instances.N)rH  Úlistr…  Úvaluesrh   s   &rH   ÚtasksÚProgress.tasks|  s.   € ð �Z�Z‹ZÜ˜Ÿ™×*Ñ*Ó,Ó-÷ �Z�Z‹Zúó   •#AÁA	c               ó   € V ^8„  d   QhRR/# )r@   rW   zList[TaskID]rF   )rG   s   "rH   rI   r�  ƒ  s   € ÷ ,ñ ,˜,ñ ,rK   c                ó®   € V P                   ;_uu_ 4        \        V P                  P                  4       4      uuRRR4       #   + '       g   i     R# ; i)zA list of task IDs.N)rH  r’  r…  Úkeysrh   s   &rH   Útask_idsÚProgress.task_ids‚  s.   € ð �Z�Z‹ZÜ˜Ÿ™×(Ñ(Ó*Ó+÷ �Z�Z‹Zúr–  c               ó   € V ^8„  d   QhRR/# rÆ   rF   )rG   s   "rH   rI   r�  ‰  s   € ÷ Gñ G˜$ñ GrK   c                ój  € V P                   ;_uu_ 4        V P                  '       g    RRR4       R# \        ;QJ d4    R V P                  P                  4        4       F  '       d   K   RM)	  RM%! R V P                  P                  4        4       4      uuRRR4       #   + '       g   i     R# ; i)z'Check if all tasks have been completed.NTc              3  ó8   "  € T F  qP                   x € K  	  R # 5ire   )r�  )rg  r©   s   & rH   ri  Ú$Progress.finished.<locals>.<genexpr>Ž  s   é € ÐFÑ1E¨—}–}Ó1Eùrk  F)rH  r…  Úallr“  rh   s   &rH   r�  ÚProgress.finishedˆ  sf   € ð �Z�Z‹ZØ—;—;�;Ø÷ ‰Z÷ “3ÑF°·±×1CÑ1CÔ1EÓF—3—3’3ÑF°·±×1CÑ1CÔ1EÓFÓF÷ �Z�Z‹Zús   •B!³
B!¾)B!Á*,B!Â!B2	c               ó   € V ^8„  d   QhRR/# rV   rF   )rG   s   "rH   rI   r�  �  s   € ÷ *ñ *�tñ *rK   c                óf   € V P                   '       g   V P                  P                  RR7       R# R# )zStart the progress display.T)rZ   N)r—   r]   rg   rh   s   &rH   rg   ÚProgress.start�  s"   € à�|�|ˆ|Ø�I‰I�O‰O DˆOÖ)ñ rK   c               ó   € V ^8„  d   QhRR/# rV   rF   )rG   s   "rH   rI   r�  •  s   € ÷ %ñ %�dñ %rK   c                ó  € V P                   '       gs   V P                  P                  4        V P                  P                  '       g;   V P                  P
                  '       g   V P                  P                  4        R# R# R# R# )zStop the progress display.N)r—   r]   r.  r�   Úis_interactiveÚ
is_jupyterr‡  rh   s   &rH   r.  ÚProgress.stop•  sV   € à�|�|ˆ|Ø�I‰I�N‰NÔØ—<‘<×.×.Ð.°t·|±|×7N×7NÐ7NØ—‘×"Ñ"Ö$ñ 8OÑ.ñ rK   c               ó   € V ^8„  d   QhRR/# )r@   rW   r)   rF   )rG   s   "rH   rI   r�  œ  s   € ÷ ñ ˜4ñ rK   c                	ó&   € V P                  4        V # re   rf   rh   s   &rH   ri   ÚProgress.__enter__œ  rk   rK   c               ó(   € V ^8„  d   QhRRRRRRRR/# rm   rF   )rG   s   "rH   rI   r�     s2   € ÷ ñ à/ðð )ðð (ð	ð
 
ñrK   c                	ó&   € V P                  4        R # re   )r.  rt   s   &&&&rH   ru   ÚProgress.__exit__   s   € ð 	�	‰	ŽrK   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r@   r„   r…   rˆ   r‰   rO   rŠ   rC   úOptional[TaskID]r†   r‡   rD   rE   rW   rF   )rG   s   "rH   rI   r�  ¨  sP   € ÷ +ñ +à(ð+ð ð+ð ð	+ð
 "ð+ð ð+ð ð+ð 
 ñ+rK   c              #  óü  "  € Vf   \        \        V4      4      ;'       g    RpVf   V P                  WRVR7      pMV P                  WBVR7       V P                  P
                  '       dF   \        WV4      ;_uu_ 4       pV F   pVx € V;P                  ^,          un        K"  	  RRR4       R# V P                  p	V P                  p
V F  pVx € V	! V^4       V
! 4        K  	  R#   + '       g   i     R# ; i5i)aë  Track progress by iterating over a sequence.

You can also track progress of an iterable, which might require that you additionally specify ``total``.

Args:
    sequence (Iterable[ProgressType]): Values you want to iterate over and track progress.
    total: (float, optional): Total number of steps. Default is len(sequence).
    completed (int, optional): Number of steps completed so far. Defaults to 0.
    task_id: (TaskID): Task to track. Default is new task.
    description: (str, optional): Description of task, if new task is created.
    update_period (float, optional): Minimum time (in seconds) between calls to update(). Defaults to 0.1.

Returns:
    Iterable[ProgressType]: An iterable of values taken from the provided sequence.
NrT  )
rE   r   Úadd_taskr_   r]   r‹   r>   rO   r[   rZ   )rR   r„   rˆ   rO   rC   r†   rD   Útrack_threadÚvaluer[   rZ   s   &&&&&&&    rH   r£   ÚProgress.track¨  sÎ   é € ð0 Š=Üœ+ hÓ/Ó0×8Ð8°DˆEàŠ?Ø—m‘m KÈ	�mÓR‰Gà�K‰K˜¸	ˆKÔBà�9‰9×!×!Ð!Ü˜d¨]×;Ô;¸|Û%�EØ’KØ ×*Ò*¨aÕ/×*ñ &÷ <Ñ;ð
 —l‘lˆGØ—l‘lˆGÛ!�Ø’Ù˜ Ô#Ù–	ó "÷ <×;Ð;üs*   ‚C<¢A	C<Á,C<Â 'C(Â'AC<Ã(C9	Ã3	C<rC   r†   r0  c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# )
r@   r2  r   rˆ   r>  rC   r±  r†   r‡   rW   rF   )rG   s   "rH   rI   r�  Õ  sC   € ÷ (@ñ (@àð(@ð ð(@ð
 "ð(@ð ð(@ð 
ñ(@rK   c               óB  € RpVe   TpM>Ve;   V P                   ;_uu_ 4        V P                  V,          P                  pRRR4       Vf   \        R4      hVf   V P	                  WER7      pMV P                  W5R7       \        WVRR7      #   + '       g   i     LV; i)a  Track progress file reading from a binary file.

Args:
    file (BinaryIO): A file-like object opened in binary mode.
    total (int, optional): Total number of bytes to read. This must be provided unless a task with a total is also given.
    task_id (TaskID): Task to track. Default is new task.
    description (str, optional): Description of task, if new task is created.

Returns:
    BinaryIO: A readable file-like object in binary mode.

Raises:
    ValueError: When no total value can be extracted from the arguments or the task.
Nz?unable to get the total number of bytes, please specify 'total'©rˆ   F©rª   )rH  r…  rˆ   Ú
ValueErrorr³  r_   r¦   )rR   r2  rˆ   rC   r†   Útotal_bytess   &&&$$ rH   r6  ÚProgress.wrap_fileÕ  sŽ   € ð. (,ˆØÒØ‰KØÒ Ø——“Ø"Ÿk™k¨'Õ2×8Ñ8�÷ àÒÜØQóð ð
 Š?Ø—m‘m K�mÓC‰Gà�K‰K˜ˆKÔ3ä�t 7¸Ô?Ð?÷ —ús   ¢BÂB	rˆ   c               ó@   € V ^8„  d   QhRRRRRRRRR	RR
RRRRRRRRR/
# )r@   r2  r8  rØ   rD  r9  rŠ   r:  r;  r<  r=  rˆ   r>  rC   r±  r†   r‡   rW   r   rF   )rG   s   "rH   rI   r�     sn   € ÷ ñ à0ðð ðð ð	ð
  ðð ðð ðð ðð "ðð ðð 
ñrK   c               	ó   € R # re   rF   ©
rR   r2  rØ   r9  r:  r<  r=  rˆ   rC   r†   s
   &&&&&&&$$$rH   rA  ÚProgress.openÿ  ó   € ñ 	rK   c               ó@   € V ^8„  d   QhRRRRRRRRR	RR
RRRRRRRRR/
# )r@   r2  r8  rØ   z"Union[Literal['r'], Literal['rt']]r9  rŠ   r:  r;  r<  r=  rˆ   r>  rC   r±  r†   r‡   rW   r$   rF   )rG   s   "rH   rI   r�    sn   € ÷ ñ à0ðð 1ðð ð	ð
  ðð ðð ðð ðð "ðð ðð 
ñrK   c               	ó   € R # re   rF   rÀ  s
   &&&&&&&$$$rH   rA  rÁ    rÂ  rK   c               ó@   € V ^8„  d   QhRRRRRRRRR	RR
RRRRRRRRR/
# )r@   r2  r8  rØ   rG  r9  rŠ   r:  r;  r<  r=  rˆ   r>  rC   r±  r†   r‡   rW   zUnion[BinaryIO, TextIO]rF   )rG   s   "rH   rI   r�    s{   € ÷ Kñ Kà0ðKð @ðKð ð	Kð
  ðKð ðKð ðKð ðKð "ðKð ðKð 
!ñKrK   c               ó&  € RP                  \        VRR7      4      p
V
R9  d   \        RV: 24      hV^8H  pV
R8X  d&   V^8X  d   \        P                  ! R\
        4       RpM"V
R9   d   V^ 8X  d   \        R4      hV^8X  d   RpVf   \        V4      P                  pVf   V P                  W—R7      pMV P                  W‡R7       \        P                  ! VR	VR
7      p\        WÀVRR7      pVR9   d   \        P                  ! VVVVVR7      # V# )a«  Track progress while reading from a binary file.

Args:
    path (Union[str, PathLike[str]]): The path to the file to read.
    mode (str): The mode to use to open the file. Only supports "r", "rb" or "rt".
    buffering (int): The buffering strategy to use, see :func:`io.open`.
    encoding (str, optional): The encoding to use when reading in text mode, see :func:`io.open`.
    errors (str, optional): The error handling strategy for decoding errors, see :func:`io.open`.
    newline (str, optional): The strategy for handling newlines in text mode, see :func:`io.open`.
    total (int, optional): Total number of bytes to read. If none given, os.stat(path).st_size is used.
    task_id (TaskID): Task to track. Default is new task.
    description (str, optional): Description of task, if new task is created.

Returns:
    BinaryIO: A readable file-like object in binary mode.

Raises:
    ValueError: When an invalid mode is given.
rv  F)ÚreverseÚbrzinvalid mode zaline buffering (buffering=1) isn't supported in binary mode, the default buffer size will be usedzcan't have unbuffered text I/Or¹  Úrb)r9  Trº  )r:  r<  r=  Úline_buffering)rÈ  ÚrtÚrr  )rË  rÌ  )rÌ  rË  )rs   Úsortedr»  ÚwarningsÚwarnÚRuntimeWarningr   Úst_sizer³  r_   ÚiorA  r¦   ÚTextIOWrapper)rR   r2  rØ   r9  r:  r<  r=  rˆ   rC   r†   Ú_moderÊ  r¨   r$  s   &&&&&&&$$$    rH   rA  rÁ    s  € ðB —‘œ˜t¨UÔ3Ó4ˆØÐ)Ô)Ü˜}¨T©HÐ5Ó6Ð6ð # a™ˆØ�DŒ=˜Y¨!œ^Ü�MŠMØsÜôð ‰IØ�kÔ!Ø˜AŒ~Ü Ð!AÓBÐBØ˜a”Ø�	ð Š=Ü˜“J×&Ñ&ˆEð Š?Ø—m‘m K�mÓ=‰Gà�K‰K˜ˆKÔ-ô —’˜˜t¨yÔ9ˆÜ˜ w¸TÔBˆð �;ÔÜ×#Ò#ØØ!ØØØ-ôð ð ˆrK   c               ó    € V ^8„  d   QhRRRR/# ©r@   rC   r:   rW   rX   rF   )rG   s   "rH   rI   r�  l  s   € ÷ 2ñ 2 &ð 2¨Tñ 2rK   c                óÔ   € V P                   ;_uu_ 4        V P                  V,          pVP                  f   V P                  4       Vn        RRR4       R#   + '       g   i     R# ; i)zÁStart a task.

Starts a task (used when calculating elapsed time). You may need to call this manually,
if you called ``add_task`` with ``start=False``.

Args:
    task_id (TaskID): ID of task.
N)rH  r…  rA  r�   )rR   rC   r©   s   && rH   Ú
start_taskÚProgress.start_taskl  s>   € ð �Z�Z‹ZØ—;‘;˜wÕ'ˆDØ�‰Ò&Ø"&§-¡-£/�”÷ �Z�ZŠZús   •7AÁA'	c               ó    € V ^8„  d   QhRRRR/# rÖ  rF   )rG   s   "rH   rI   r�  z  s   € ÷ *ñ * ð *¨Dñ *rK   c                óâ   € V P                   ;_uu_ 4        V P                  V,          pV P                  4       pVP                  f   W2n        W2n        RRR4       R#   + '       g   i     R# ; i)zfStop a task.

This will freeze the elapsed time on the task.

Args:
    task_id (TaskID): ID of task.
N)rH  r…  r�   rA  rB  )rR   rC   r©   r`  s   &&  rH   Ú	stop_taskÚProgress.stop_taskz  sF   € ð �Z�Z‹ZØ—;‘;˜wÕ'ˆDØŸ=™=›?ˆLØ�‰Ò&Ø".”Ø)ŒN÷ �Z�ZŠZús   •>AÁA.	rO   r[   r;  rZ   c               ó<   € V ^8„  d   QhRRRRRRRRRRR	R
RRRRRR/	# )r@   rC   r:   rˆ   r‰   rO   r[   r†   r;  r;  úOptional[bool]rZ   rŒ   r=  r   rW   rX   rF   )rG   s   "rH   rI   r�  ‰  sd   € ÷ ;ñ ;àð;ð ð	;ð
 #ð;ð !ð;ð #ð;ð  ð;ð ð;ð ð;ð 
ñ;rK   c               ó–  € V P                   ;_uu_ 4        V P                  V,          p	V	P                  p
Ve'   W)P                  8w  d   W)n        V	P	                  4        Ve   V	;P                  V,          un        Ve   W9n        Ve   WYn        Ve   Win        V	P                  P                  V4       V	P                  V
,
          pV P                  4       pWÀP                  ,
          pV	P                  pVP                  pV'       d"   V^ ,          P                  V8  d
   V! 4        K)  V^ 8”  d   VP                  \        WË4      4       V	P                  e;   V	P                  V	P                  8¼  d    V	P                   f   V	P"                  V	n        RRR4       V'       d   V P%                  4        R# R#   + '       g   i     L,; i)aH  Update information associated with a task.

Args:
    task_id (TaskID): Task id (returned by add_task).
    total (float, optional): Updates task.total if not None.
    completed (float, optional): Updates task.completed if not None.
    advance (float, optional): Add a value to task.completed if not None.
    description (str, optional): Change task description if not None.
    visible (bool, optional): Set visible flag if not None.
    refresh (bool): Force a refresh of progress information. Default is False.
    **fields (Any): Additional data fields required for rendering.
N)rH  r…  rO   rˆ   rx  r†   r;  r=  r_   r�   r|  rG  Úpopleftra  Úappendr6  rÂ  rÃ  rZ   )rR   rC   rˆ   rO   r[   r†   r;  rZ   r=  r©   Úcompleted_startÚupdate_completedr`  Úold_sample_timerG  rá  s   &&$$$$$$,       rH   r_   ÚProgress.update‰  sN  € ð0 �Z�Z‹ZØ—;‘;˜wÕ'ˆDØ"Ÿn™nˆOàÒ  U¯j©jÔ%8Ø"”
Ø—‘”ØÒ"Ø—’ 'Õ)•ØÒ$Ø!*”ØÒ&Ø#.Ô ØÒ"Ø&”Ø�K‰K×Ñ˜vÔ&Ø#Ÿ~™~°Õ?ÐàŸ=™=›?ˆLØ*×-GÑ-GÕGˆOØŸ™ˆIà×'Ñ'ˆGß 	¨!¥× 6Ñ 6¸Ô HÙ–	Ø !Ô#Ø× Ñ ¤°Ó!OÔPà—
‘
Ò&Ø—N‘N d§j¡jÔ0Ø×&Ñ&Ò.à%)§\¡\�Ô"÷A ÷D Ø�L‰LŽNñ ÷E �Zús   •C4F8Ä
B
F8Æ8G	rg   c               ó8   € V ^8„  d   QhRRRRRRRRR	R
RRRRRR/# )r@   rC   r:   rg   rŒ   rˆ   r‰   rO   rŠ   r;  rß  r†   r;  r=  r   rW   rX   rF   )rG   s   "rH   rI   r�  Æ  sZ   € ÷ %ñ %àð%ð ð	%ð
 ð%ð ð%ð  ð%ð #ð%ð ð%ð 
ñ%rK   c               ó€  € V P                  4       pV P                  ;_uu_ 4        V P                  V,          p	V	P                  4        V'       d   TMRV	n        Ve   W9n        WIn        Ve   WYn        V'       d   Wyn        Ve   Win	        RV	n
        RRR4       V P                  4        R#   + '       g   i     L"; i)a0  Reset a task so completed is 0 and the clock is reset.

Args:
    task_id (TaskID): ID of task.
    start (bool, optional): Start the task after reset. Defaults to True.
    total (float, optional): New total steps in task, or None to use current total. Defaults to None.
    completed (int, optional): Number of steps completed. Defaults to 0.
    visible (bool, optional): Set visible flag if not None.
    description (str, optional): Change task description if not None. Defaults to None.
    **fields (str): Additional data fields required for rendering.
N)r�   rH  r…  rx  rA  rˆ   rO   r;  r=  r†   rÂ  rZ   )
rR   rC   rg   rˆ   rO   r;  r†   r=  r`  r©   s
   &&$$$$$,  rH   ÚresetÚProgress.resetÆ  s‰   € ð, —}‘}“ˆØ�Z�Z‹ZØ—;‘;˜wÕ'ˆDØ�K‰KŒMß.3™l¸ˆDŒOØÒ Ø"”
Ø&ŒNØÒ"Ø&”ßØ$”ØÒ&Ø#.Ô Ø!%ˆDÔ÷ ð 	�‰Ž÷ �Zús   ¥AB-Á<B-Â-B=	c               ó$   € V ^8„  d   QhRRRRRR/# )r@   rC   r:   r[   rE   rW   rX   rF   )rG   s   "rH   rI   r�  í  s!   € ÷ 1ñ 1˜vð 1°ð 1¸dñ 1rK   c                óÜ  € V P                  4       pV P                  ;_uu_ 4        V P                  V,          pVP                  pV;P                  V,          un        VP                  V,
          pW0P                  ,
          pVP
                  pVP                  p	V'       d"   V^ ,          P                  V8  d
   V	! 4        K)  \        V4      R8”  d
   V	! 4        K  VP                  \        W64      4       VP                  eL   VP                  VP                  8¼  d1   VP                  f#   VP                  Vn        VP                  Vn        RRR4       R#   + '       g   i     R# ; i)z‹Advance task by a number of steps.

Args:
    task_id (TaskID): ID of task.
    advance (float): Number of steps to advance. Default is 1.
rÏ  N)r�   rH  r…  rO   r|  rG  rá  ra  rÁ   râ  r6  rˆ   rÂ  rÃ  r}  rÙ  )
rR   rC   r[   r`  r©   rã  rä  rå  rG  rá  s
   &&&       rH   r[   ÚProgress.advanceí  sõ   € ð —}‘}“ˆØ�Z�Z‹ZØ—;‘;˜wÕ'ˆDØ"Ÿn™nˆOØ�NŠN˜gÕ%�NØ#Ÿ~™~°Õ?ÐØ*×-GÑ-GÕGˆOØŸ™ˆIà×'Ñ'ˆGß 	¨!¥× 6Ñ 6¸Ô HÙ–	Ü�i“. 4Ô'Ù–	Ø×Ñœ^¨LÓKÔLà—
‘
Ò&Ø—N‘N d§j¡jÔ0Ø×&Ñ&Ò.à%)§\¡\�Ô"Ø&*§j¡j�Ô#÷) �Z�ZŠZús   ¥A=EÂ#B-EÅE+	c               ó   € V ^8„  d   QhRR/# rV   rF   )rG   s   "rH   rI   r�    s   € ÷  ñ  ˜ñ  rK   c                óž   € V P                   '       g;   V P                  P                  '       d   V P                  P                  4        R# R# R# )z*Refresh (render) the progress information.N)r—   r]   r^   rZ   rh   s   &rH   rZ   ÚProgress.refresh  s1   € à�|�|ˆ| §	¡	× 4× 4Ð 4Ø�I‰I×ÑÖñ !5‰|rK   c               ó   € V ^8„  d   QhRR/# ©r@   rW   r/   rF   )rG   s   "rH   rI   r�    s   € ÷ ñ  ñ rK   c                ó4   € \        V P                  4       !  pV# )z*Get a renderable for the progress display.)r-   Úget_renderables)rR   rb  s   & rH   rƒ  ÚProgress.get_renderable  s   € ä˜D×0Ñ0Ó2Ñ3ˆ
ØÐrK   c               ó   € V ^8„  d   QhRR/# )r@   rW   zIterable[RenderableType]rF   )rG   s   "rH   rI   r�    s   € ÷ ñ Ð!9ñ rK   c              #  óL   "  € V P                  V P                  4      pVx € R# 5i)z5Get a number of renderables for the progress display.N)Úmake_tasks_tabler”  )rR   Útables   & rH   rô  ÚProgress.get_renderables  s   é € à×%Ñ% d§j¡jÓ1ˆØŒùs   ‚"$c               ó    € V ^8„  d   QhRRRR/# )r@   r”  zIterable[Task]rW   r7   rF   )rG   s   "rH   rI   r�    s   € ÷ ñ  nð ¸ñ rK   c                óô   a€ R V P                    4       p\        P                  ! VRRRV P                  / pV F;  oSP                  '       g   K  VP
                  ! V3R lV P                    4       !   K=  	  V# )z¯Get a table to render the Progress display.

Args:
    tasks (Iterable[Task]): An iterable of Task instances, one per row of the table.

Returns:
    Table: A table instance.
c              3  ó¢   "  € T FE  p\        V\        4      '       d   \        R R7      MVP                  4       P	                  4       x € KG  	  R# 5i)Tr�  N)rƒ  r‡   r6   rW  Úcopy)rg  Ú_columns   & rH   ri  Ú,Progress.make_tasks_table.<locals>.<genexpr>#  sI   é € ð 
ñ (�ô ˜g¤s×+Ò+ô ˜tÕ$à×-Ñ-Ó/×4Ñ4Ó6ô7ó (ùs   ‚AAÚpaddingr  c              3  ó„   <"  € T F5  p\        V\        4      '       d   VP                  SR 7      MV! S4      x € K7  	  R# 5i)r£  N)rƒ  r‡   rG   )rg  Úcolumnr©   s   & €rH   ri  r   0  sB   øé € ð ñ '3˜Fô  *¨&´#×6Ò6ð #ŸM™M¨t˜MÔ4á!'¨£ô.ó '3ùs   ƒ=A )r   é   )r¤   r7   Úgridr  r;  Úadd_row)rR   r”  Útable_columnsrù  r©   s   &&  @rH   rø  ÚProgress.make_tasks_table  so   ø€ ñ
ð  Ÿ<š<ó
ˆô —
’
˜MÐN°6ÐNÀ$Ç+Á+ÑNˆãˆDØ�|�|Š|Ø—’ôð '+§l¢lóô	ñ ð ˆrK   c               ó   € V ^8„  d   QhRR/# rò  rF   )rG   s   "rH   rI   r�  ;  s   € ÷ )ñ )˜.ñ )rK   c                óˆ   € V P                   ;_uu_ 4        V P                  4       uuRRR4       #   + '       g   i     R# ; i)z+Makes the Progress class itself renderable.N)rH  rƒ  rh   s   &rH   Ú__rich__ÚProgress.__rich__;  s#   € à�Z�Z‹ZØ×&Ñ&Ó(÷ �Z�Z‹Zús	   •0°A	c               ó4   € V ^8„  d   QhRRRRRRRRR	RR
RRR/# )r@   r†   r‡   rg   rŒ   rˆ   r‰   rO   rŠ   r;  r=  r   rW   r:   rF   )rG   s   "rH   rI   r�  @  sP   € ÷ )ñ )àð)ð ð)ð ð	)ð
 ð)ð ð)ð ð)ð 
ñ)rK   c                óÊ  € V P                   ;_uu_ 4        \        V P                  VVVVVV P                  V P                   R7      pWpP                  V P                  &   V'       d   V P                  V P                  4       V P                  p\        \        V P                  4      ^,           4      V n        RRR4       V P                  4        X#   + '       g   i     L"; i)a¹  Add a new 'task' to the Progress display.

Args:
    description (str): A description of the task.
    start (bool, optional): Start the task immediately (to calculate elapsed time). If set to False,
        you will need to call `start` manually. Defaults to True.
    total (float, optional): Number of total steps in the progress if known.
        Set to None to render a pulsing animation. Defaults to 100.
    completed (int, optional): Number of steps completed so far. Defaults to 0.
    visible (bool, optional): Enable display of the task. Defaults to True.
    **fields (str): Additional data fields required for rendering.

Returns:
    TaskID: An ID you can use when calling `update`.
)r;  r=  r:  rH  N)	rH  r8  r†  r�   r…  rØ  r:   rŠ   rZ   )	rR   r†   rg   rˆ   rO   r;  r=  r©   Únew_task_indexs	   &&&&&&,  rH   r³  ÚProgress.add_task@  s¬   € ð0 �Z�Z‹ZÜØ× Ñ ØØØØØØŸ-™-Ø—j‘jô	ˆDð -1�K‰K˜×(Ñ(Ñ)ßØ—‘ × 0Ñ 0Ô1Ø!×-Ñ-ˆNÜ%¤c¨$×*:Ñ*:Ó&;¸aÕ&?Ó@ˆDÔ÷ ð  	�‰ŒØÐ÷# �Zús   •B#CÃC"	c               ó    € V ^8„  d   QhRRRR/# rÖ  rF   )rG   s   "rH   rI   r�  k  s   € ÷ %ñ % 6ð %¨dñ %rK   c                ó‚   € V P                   ;_uu_ 4        V P                  V RRR4       R#   + '       g   i     R# ; i)zEDelete a task if it exists.

Args:
    task_id (TaskID): A task ID.

N)rH  r…  )rR   rC   s   &&rH   Úremove_taskÚProgress.remove_taskk  s%   € ð �Z�Z‹ZØ—‘˜GÐ$÷ �Z�ZŠZús   •-­>	)rH  r†  r…  r¤   r—   r  r�   r]   rˆ  r‡  r|  )Nr   Nú
Working...çš™™™™™¹?re   ©r  NNN©rÌ  r  NNN)r  )Tr`  r   T)#rw   rx   ry   rz   r{   rQ   rÛ  r„  r   r�   r”  rš  r�  rg   r.  ri   ru   r£   r6  ÚtypingÚoverloadrA  rØ  rÜ  r_   ré  r[   rZ   rƒ  rô  rø  r  r³  r  r|   rF   rK   rH   r¢   r¢   %  sa  † ñð"$ð &*ð"$ð "ð	"$ð
 %'ð"$ð (,ð"$ð  ð"$ð !%ð"$ð !%ð"$ð /3ð"$ð ð"$ð ÷"$ðH ô
ó ð
ð< ô!ó ð!ð ô.ó ð.ð
 ô,ó ð,ð
 ôGó ðGõ*õ
%õõ÷+ñZ(@ð
 %)ð(@ð (÷(@ð (@ðT ‡_�_ñð  $ðð %)ðð (÷ó ðð ‡_�_ñð  $ðð %)ðð (÷ó ðñKð  $ðKð %)ðKð (÷Kð KõZ2õ*ð;ð "&ð	;ð
 &*ð;ð $(ð;ð &*ð;ð #'ð;ð ÷;ðz%ð ð	%ð
 "&ð%ð ð%ð #'ð%ð &*÷%÷N1õ< õ
õ
õ
õB)÷
)÷V%ñ %rK   r¢   Ú__main__)ÚPanel)ÚRule)ÚSyntax)r7   a~  def loop_last(values: Iterable[T]) -> Iterable[Tuple[bool, T]]:
    """Iterate and generate a tuple with a flag for last value."""
    iter_values = iter(values)
    try:
        previous_value = next(iter_values)
    except StopIteration:
        return
    for value in iter_values:
        yield False, previous_value
        previous_value = value
    yield True, previous_valueÚpython)Úline_numbersÚfooÚbarÚbazÚ1Ú2Ú3z:Text may be printed while the progress bars are rendering.z(In fact, [i]any[/i] renderable will workzSuch as [magenta]tables[/]...zPretty printed structures...ÚtypeÚexamplerŽ  zPretty printedz	Syntax...zGive it a try!)Úcycle)Úrecordz[red]DownloadingrÏ  r¹  z[green]Processingz[yellow]ThinkingrÝ  r¿   g333333Ó?g{®Gáz„?)r  Nr   TNFNé
   r   r€   r�   r‚   r  FTr  r  )…Ú
__future__r   rÒ  r  rÎ  Úabcr   r   Úcollectionsr   Údataclassesr   r	   Údatetimer
   r   r   Úmathr   r   Úoperatorr   Úosr   r   Ú	threadingr   r   r   Útypesr   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   Útyping_extensionsr)   rv  r*   r+   r�   r,   r-   r.   r/   r™  r0   Újupyterr1   r]   r2   Úprogress_barr3   r‚  r4   r“   r5   rù  r6   r7   rŽ  r8   r9   rŠ   r:   r;   rE   r9  r<   r>   r£   r¦   r"  r6  r  rA  rJ  rk  ry  r�   rŸ   rº  r    r¡   rð  rú  r   r5  r0  r6  r8  r¢   rw   ÚrandomÚtimeÚpanelr  Úruler  Úsyntaxr  r  Úprogress_renderablesÚ	itertoolsr)  Úexamplesr„  rA   r³  Útask1Útask2Útask3r�  r_   ÚsleepÚrandintrˆ  rÀ   rF   rK   rH   Ú<module>rF     sª  ðÝ "ã 	Û Û ß #Ý ß (Ý ß .Ý Ý Ý  ß ß *Ñ *Ý ÷÷ ÷ ÷ ÷ ñ ÷, å&ç #ß BÓ BÝ $Ý !Ý Ý %Ý Ý ß  ß  á	�˜3Ó	€á�~Ó&€à˜2˜u˜9Õ%€ð ‡^‚^�D˜& (Ó+€ô%�6ô %÷PK
ô\d1ˆi˜ô d1ôN8�> "Õ% w¨r¥{ô 8ð*>*ð $ð	>*ð
 ð>*ð "&ð>*ð ð>*ð /3ð>*ð !#ð>*ð "ð>*ð !/ð>*ð !/ð>*ð )ð>*ð ÷>*ðB ‡�ñ	ð  ð	ð $ð	ð ð	ð "&ð	ð ð	ð /3ð	ð !#ð	ð "ð	ð  !/ð!	ð" !/ð#	ð$ )ð%	ð& ÷'	ó ð	ð0 ‡�ñ	ð  ð	ð $ð	ð ð	ð "&ð	ð ð	ð /3ð	ð !#ð	ð "ð	ð  !/ð!	ð" !/ð#	ð$ )ð%	ð& ÷'	ó ð	ñ0S*ð  ðS*ð $ðS*ð ðS*ð "&ðS*ð ðS*ð /3ðS*ð !#ðS*ð "ðS*ð  !/ð!S*ð" !/ð#S*ð$ )ð%S*ð& ÷'S*ð S*ôl'1�Sô '1ôT�~ô ô"/�Nô /ôd�ô ô<'
�ô '
ôT	:˜ô 	:ôE˜ô EôP-,˜.ô -,ô`:�^ô :ô@˜.ô @ô
˜ô 
ô6.�^ô .ôb	D˜.ô 	Dô%�Zô %ð ÷z#ð z#ó ðz#ôzN	%ˆ|ô N	%ðb ˆzÕÛÛåÝÝÝáð
	"ð 	Øô€Fñ  �%˜ Ó&€EØ	‡M�M�#�s˜CÔ ð 	EÙÐ8Ó9Ø'ØØ&Ø	�˜FÐ$4Ð5ØØÙÐÓð
Ðõ  áÐ)Ó*€Há˜TÔ"€Gá	Ù‹ð
à	×	%Ñ	%Ó	'ð
ñ 	Óò
ð ð	
ð
 ÷
ò 
ð 
Ø×!Ñ!Ð"4¸DÐ!ÓAˆØ×!Ñ!Ð"5¸TÐ!ÓBˆØ×!Ñ!Ð"4¸DÐ!ÓAˆà×#×#Ð#Ø�OŠO˜E¨3ˆOÔ/Ø�OŠO˜E¨3ˆOÔ/Ø�J‹J�tÔØ�~‹~˜a Ó%¨Ö)Ø—’™T (›^Ö,ð $÷
ñ 
ñ] ÷\
÷ 
ð 
ús   ÍAPÎAPÏ4PÐP,	