+
    QV-jŽ@  ã                   óÈ   € ^ RI t ^ RIt^ RIt^ RIHtHt ^ RIHt ^RI	H
t
 ^RIHtHt ]! R4      tR R ltR tRR	 ltR
 t ! R R4      t ! R R]4      t ! R R]
4      tR# )é    N)ÚOptionalÚTypeVar)ÚTrainerCallback)ÚIntervalStrategyÚ
has_lengthÚ_Tc                óJ   € V ^8„  d   QhR\         R,          R\        R\         /# )é   ÚxNÚmsgÚreturn)r   Ústr)Úformats   "Úl/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/transformers/utils/notebook.pyÚ__annotate__r      s%   € ÷ ñ ”�T•	ð ¤ð ¬ñ ó    c                 ó$   € V f   \        V4      hV # ©N)ÚRuntimeError)r   r   s   &&r   Ú_requirer      s   € Ø‚yÜ˜3ÓÐØ€Hr   c                ó’   € \        V 4      p V R,          V ^<,          ^<,          V ^<,          r2pV^ 8w  d   V RVR RVR 2# VR RVR 2# )z$Format `t` (in seconds) to (h):mm:ssi  Ú:Ú02d)Úint)ÚtÚhÚmÚss   &   r   Úformat_timer   #   s[   € äˆA‹€AØ�4�i˜!˜r�' R�¨¨R­ˆ!€AØ%&¨!¤VˆaˆS��!�C�˜˜!˜C˜Ð!ÐC°A°c°7¸!¸A¸c¸7Ð1CÐCr   c                 ó&   € R V RV  RV RV RV R2# )z
    <div>
      z
      <progress value='z' max='z' style='width:z<px; height:20px; vertical-align: middle;'></progress>
      z
    </div>
    © )ÚvalueÚtotalÚprefixÚlabelÚwidths   &&&&&r   Úhtml_progress_barr'   *   s<   € ðà€hð Ø�w˜g e W¨O¸E¸7ð CØ€gð ð	ð r   c                ó4  € RpVR,          pV ^ ,           F  pVRV R2,          pK  	  VR,          pV R,           FP  pVR,          pV F5  p\        V\        4      '       d   VR M
\        V4      pVR	V R
2,          pK7  	  VR,          pKR  	  VR,          pV# )z*Put the texts in `items` in an HTML table.z%<table border="1" class="dataframe">
z*  <thead>
 <tr style="text-align: left;">
z
      <th>z</th>
z    </tr>
  </thead>
  <tbody>
ºé   NNz	    <tr>
z.6fz
      <td>z</td>
z
    </tr>
z  </tbody>
</table><p>)Ú
isinstanceÚfloatr   )ÚitemsÚ	html_codeÚiÚlineÚelts   &    r   Útext_to_html_tabler2   5   s±   € à<€IØÐCÕC€IØ�1�XˆXˆØ�z !  GÐ,Õ,Š	ñ àÐ5Õ5€IØ�b—	�	ˆØ�\Õ!ˆ	ÛˆCÜ",¨S´%×"8Ò"8�S˜‘I¼cÀ#»hˆCØ˜: c U¨'Ð2Õ2ŠIñ ð 	�]Õ"Š	ñ ð Ð*Õ*€IØÐr   c                   ón   a € ] tR t^Ft o Rt^tRtRV 3R lR lltRV 3R lR lltRR lt	R	 t
R
 tRtV tR# )ÚNotebookProgressBaraP  
A progress par for display in a notebook.

Class attributes (overridden by derived classes)

    - **warmup** (`int`) -- The number of iterations to do at the beginning while ignoring `update_every`.
    - **update_every** (`float`) -- Since calling the time takes some time, we only do it every presumed
      `update_every` seconds. The progress bar uses the average time passed up until now to guess the next value
      for which it will call the update.

Args:
    total (`int`):
        The total number of iterations to reach.
    prefix (`str`, *optional*):
        A prefix to add before the progress bar.
    leave (`bool`, *optional*, defaults to `True`):
        Whether or not to leave the progress bar once it's completed. You can always call the
        [`~utils.notebook.NotebookProgressBar.close`] method to make the bar disappear.
    parent ([`~notebook.NotebookTrainingTracker`], *optional*):
        A parent object (like [`~utils.notebook.NotebookTrainingTracker`]) that spawns progress bars and handle
        their display. If set, the object passed must have a `display()` method.
    width (`int`, *optional*, defaults to 300):
        The width (in pixels) that the bar will take.

Example:

```python
import time

pbar = NotebookProgressBar(100)
for val in range(100):
    pbar.update(val)
    time.sleep(0.07)
pbar.update(100)
```gš™™™™™É?Nc          
      óT   <€ V ^8„  d   QhRS[ RS[R,          RS[RS[R,          RS[ /# )r
   r#   r$   NÚleaveÚparentÚNotebookTrainingTrackerr&   )r   r   Úboolr   )r   Ú__classdict__s   "€r   r   Ú NotebookProgressBar.__annotate__n   sG   ø€ ÷ $ñ $áð$ñ �d•
ð$ñ ð	$ñ
 Ð2Õ3ð$ñ ñ$r   c                óÒ   € Wn         Vf   RMTV n        W0n        W@n        WPn        R V n        R V n        R V n        R V n        R V n	        R\        P                  9   d
   RV n        R # R # )NÚ Ú
VSCODE_PIDg      à?)r#   r$   r6   r7   r&   Ú
last_valueÚcommentÚoutputr"   r%   ÚosÚenvironÚupdate_every)Úselfr#   r$   r6   r7   r&   s   &&&&&&r   Ú__init__ÚNotebookProgressBar.__init__n   sa   € ð Œ
Ø"šN‘b°ˆŒØŒ
ØŒØŒ
ØˆŒØˆŒØˆŒØˆŒ
ØˆŒ
Øœ2Ÿ:™:Ô%Ø #ˆDÖñ &r   c                ó:   <€ V ^8„  d   QhRS[ RS[RS[R,          /# )r
   r"   Úforce_updater@   N)r   r9   r   )r   r:   s   "€r   r   r;   „   s+   ø€ ÷ 1\ñ 1\™Cð 1\©tð 1\ÁcÈDÅjñ 1\r   c                ó  € Wn         Ve   W0n        V P                  fi   \        P                  ! 4       ;V n        V n        V;V n        V n        R;V n        V n        V P                  V n
        ^V n        V P                  V4       R# WP                  8:  d   V'       g   R# V'       gI   V P                  ^ 8”  g8   V\        V P                  V P                  ,           V P                  4      8¼  Ed�   V P                  ^ 8”  d   V ;P                  ^,          un
        \        P                  ! 4       pW@P                  ,
          V n        WP                  8”  d*   V P                  WP                  ,
          ,          V n        MRV n        WP                  8¼  d7   V P                  pRV n        V P                   '       g   V P#                  4        M7V P                  e*   V P                  V P                  V,
          ,          V n        V P                  V4       Wn        W@n        V P                  e   V P                  ^ 8X  d
   ^V n        R# \%        \'        V P(                  V P                  ,          4      ^4      V n        R# R# )a>  
The main method to update the progress bar to `value`.

Args:
    value (`int`):
        The value to use. Must be between 0 and `total`.
    force_update (`bool`, *optional*, defaults to `False`):
        Whether or not to force and update of the internal state and display (by default, the bar will wait for
        `value` to reach the value it predicted corresponds to a time of more than the `update_every` attribute
        since the last update to avoid adding boilerplate).
    comment (`str`, *optional*):
        A comment to add on the left of the progress bar.
N)r"   r@   r?   ÚtimeÚ
start_timeÚ	last_timeÚstart_valueÚelapsed_timeÚpredicted_remainingÚwarmupÚfirst_callsÚwait_forÚ
update_barÚminr#   Úaverage_time_per_itemr6   ÚcloseÚmaxr   rD   )rE   r"   rI   r@   Úcurrent_times   &&&& r   ÚupdateÚNotebookProgressBar.update„   sÖ  € ð Œ
ØÒØ"ŒLØ�?‰?Ò"Ü/3¯yªy«{Ð:ˆDŒO˜dœnØ16Ð6ˆDÔ˜tœØ;?Ð?ˆDÔ Ô 8Ø#Ÿ{™{ˆDÔØˆDŒMØ�O‰O˜EÖ"Ø—o‘oÔ%¯lÙß˜T×-Ñ-°Ô1°U¼cÀ$Ç/Á/ÐTX×TaÑTaÕBaÐcg×cmÑcmÓ>nÕ5nØ×Ñ !Ô#Ø× Ò  AÕ%Õ ÜŸ9š9›;ˆLØ ,¯©Õ >ˆDÔà×'Ñ'Ô'Ø-1×->Ñ->À%×JZÑJZÕBZÕ-[�Õ*à-1�Ô*ØŸ
™
Ô"ØŸ
™
�Ø+/�Ô(Ø—z—z�zØ—J‘J”LøØ×+Ñ+Ò7Ø+/×+EÑ+EÈÏÉÐV[ÕI[Õ+\�Ô(Ø�O‰O˜EÔ"Ø#ŒOØ)ŒNØ×*Ñ*Ò2¸×8RÑ8RÐVWÔ8WØ !�–ä #¤C¨×(9Ñ(9¸D×<VÑ<VÕ(VÓ$WÐYZÓ [�–ñ/ 6or   c           
     ód  € R \        \        V P                  4      4      \        \        V4      4      ,
          ,          \        V4      ,           pV P                  f   RV RV P                   R2V n        MÙV P
                  f/   RV RV P                   R \        V P                  4       2V n        M�RV RV P                   R \        V P                  4       R\        V P
                  4       2V n        V P                  ^ 8X  d   V ;P                  R,          un        M/V ;P                  R^V P                  ,          R R	2,          un        T ;P                  V P                  e   \        V P                  4      ^ 8X  d   R
MRV P                   R
2,          un        V P                  4        R# )Ú NÚ[Ú/z : < :z < z, +inf it/sz, ú.2fz it/sÚ])
Úlenr   r#   rO   r%   rP   r   rV   r@   Údisplay)rE   r"   r@   Úspaced_values   &&& r   rT   ÚNotebookProgressBar.update_bar·   s[  € Øœc¤# d§j¡j£/Ó2´S¼¸U»³_ÕDÕEÌÈEË
ÕRˆØ×ÑÒ$Ø˜\˜N¨!¨D¯J©J¨<°vÐ>ˆD�JØ×%Ñ%Ò-Ø˜\˜N¨!¨D¯J©J¨<°q¼ÀT×EVÑEVÓ9WÐ8XÐYˆD�Jð �L�>  4§:¡: ,¨a´¸D×<MÑ<MÓ0NÐ/Oð PÜ × 8Ñ 8Ó9Ð:ð<ð ŒJð ×)Ñ)¨QÔ.Ø—
’
˜mÕ+–
à—
’
  1 t×'AÑ'AÕ#AÀ#Ð"FÀeÐLÕL•
à�
Š
˜TŸ\™\Ò1´S¸¿¹Ó5FÈ!Ô5K‘cÐSUÐVZ×VbÑVbÐUcÐcdÐQeÕe�
Ø�‰Žr   c                óî  € \        V P                  V P                  V P                  V P                  V P
                  4      V n        V P                  e   V P                  P                  4        R # V P                  f>   \        P                  ! \        P                  ! V P                  4      RR7      V n	        R # V P                  P                  \        P                  ! V P                  4      4       R # ©NT)Ú
display_id)r'   r"   r#   r$   r%   r&   r.   r7   rc   rA   ÚdispÚHTMLrZ   ©rE   s   &r   rc   ÚNotebookProgressBar.displayÊ   s•   € Ü*¨4¯:©:°t·z±zÀ4Ç;Á;ÐPT×PZÑPZÐ\`×\fÑ\fÓgˆŒØ�;‰;Ò"à�K‰K×ÑÔ!ÙØ�;‰;ÒÜŸ,š,¤t§y¢y°·±Ó'@ÈTÔRˆDŽKà�K‰K×ÑœtŸyšy¨¯©Ó8Ö9r   c                ó¤   € V P                   fB   V P                  e2   V P                  P                  \        P                  ! R4      4       R# R# R# )zCloses the progress bar.Nr=   )r7   rA   rZ   ri   rj   rk   s   &r   rW   ÚNotebookProgressBar.closeÕ   s7   € à�;‰;Ò 4§;¡;Ò#:Ø�K‰K×ÑœtŸyšy¨›}Ö-ñ $;Ñr   )rV   r@   rO   rR   r.   r%   rM   r?   r6   rA   r7   rP   r$   rL   rN   r#   rD   r"   rS   r&   )NTNé,  )FNr   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rQ   rD   rF   rZ   rT   rc   rW   Ú__static_attributes__Ú__classdictcell__©r:   s   @r   r4   r4   F   sB   ø‡ € ñ"ðH €FØ€L÷$ò $÷,1\ò 1\ôfò&	:÷.ð .r   r4   c                   óV   a a€ ] tR t^Ût oRtRV 3R lltR tR tR	R ltR t	Rt
VtV ;t# )
r8   a…  
An object tracking the updates of an ongoing training with progress bars and a nice table reporting metrics.

Args:
    num_steps (`int`): The number of steps during training. column_names (`list[str]`, *optional*):
        The list of column names for the metrics table (will be inferred from the first call to
        [`~utils.notebook.NotebookTrainingTracker.write_line`] if not set).
c                óP   <€ \         SV `  V4       Vf   R MV.V n        R V n        R # r   )ÚsuperrF   Úinner_tableÚ	child_bar)rE   Ú	num_stepsÚcolumn_namesÚ	__class__s   &&&€r   rF   Ú NotebookTrainingTracker.__init__å   s(   ø€ Ü‰Ñ˜Ô#Ø#/Ò#7™4¸l¸^ˆÔØˆŽr   c                ó„  € \        V P                  V P                  V P                  V P                  V P
                  4      V n        V P                  e-   V ;P                  \        V P                  4      ,          un        V P                  e.   V ;P                  V P                  P                  ,          un        V P                  f>   \        P                  ! \        P                  ! V P                  4      RR7      V n
        R # V P                  P                  \        P                  ! V P                  4      4       R # rg   )r'   r"   r#   r$   r%   r&   r.   r{   r2   r|   rA   ri   rc   rj   rZ   rk   s   &r   rc   ÚNotebookTrainingTracker.displayê   sÀ   € Ü*¨4¯:©:°t·z±zÀ4Ç;Á;ÐPT×PZÑPZÐ\`×\fÑ\fÓgˆŒØ×ÑÒ'Ø�NŠNÔ0°×1AÑ1AÓBÕB�NØ�>‰>Ò%Ø�NŠN˜dŸn™n×6Ñ6Õ6�NØ�;‰;ÒÜŸ,š,¤t§y¢y°·±Ó'@ÈTÔRˆDŽKà�K‰K×ÑœtŸyšy¨¯©Ó8Ö9r   c           	     ón  € V P                   f:   \        VP                  4       4      \        VP                  4       4      .V n         R# V P                   ^ ,          pV F  pW29  g   K  VP	                  V4       K  	  W P                   ^ &   \        V P                   4      ^8”  dÑ   V P                   R,          pV P                   ^ ,          ^ ,          pV^ ,          W,          8w  d=   V P                   P	                  V Uu. uF  qaP                  VR4      NK  	  up4       R# TpV F$  pWg9  g   K  WBP                  V4      ,          Wv&   K&  	  V Uu. uF  qgV,          NK  	  upV P                   R&   R# V P                   P	                  V Uu. uF  qaV,          NK  	  up4       R# u upi u upi u upi )ze
Write the values in the inner table.

Args:
    values (`dict[str, float]`): The values to display.
NzNo Logéÿÿÿÿ)r{   ÚlistÚkeysÚvaluesÚappendrb   ÚgetÚindex)rE   r‡   ÚcolumnsÚkeyÚlast_valuesÚfirst_columnÚcÚ
new_valuess   &&      r   Ú
write_lineÚ"NotebookTrainingTracker.write_lineõ   si  € ð ×ÑÒ#Ü $ V§[¡[£]Ó 3´T¸&¿-¹-»/Ó5JÐKˆDÖà×&Ñ& qÕ)ˆGÛ�ØÖ%Ø—N‘N 3Ö'ñ ð #*×Ñ˜QÑÜ�4×#Ñ#Ó$ qÔ(Ø"×.Ñ.¨rÕ2�Ø#×/Ñ/°Õ2°1Õ5�Ø˜q•> VÕ%9Ô9à×$Ñ$×+Ñ+ÉgÓ,VÉgÈ¯Z©Z¸¸8Ö-DÉgÑ,VÖWð "(�JÛ$˜ØÖ.Ø,7¿¹ÀaÓ8HÕ,I˜J›Mñ %ñ DKÓ+KÁ7¸a°q¯M¨MÁ7Ñ+K�D×$Ñ$ RÓ(à× Ñ ×'Ñ'¹GÓ(D¹G°q°¯¨¹GÑ(DÖEùò -Wùò ,Lùâ(Ds   Ã?F(ÅF-ÆF2c                ó>   € \        WWR7      V n        V P                  # )a  
Add a child progress bar displayed under the table of metrics. The child progress bar is returned (so it can be
easily updated).

Args:
    total (`int`): The number of iterations for the child progress bar.
    prefix (`str`, *optional*): A prefix to write on the left of the progress bar.
    width (`int`, *optional*, defaults to 300): The width (in pixels) of the progress bar.
)r$   r7   r&   )r4   r|   )rE   r#   r$   r&   s   &&&&r   Ú	add_childÚ!NotebookTrainingTracker.add_child  s   € ô -¨UÈ$Ô\ˆŒØ�~‰~Ðr   c                ó4   € RV n         V P                  4        R# )z 
Closes the child progress bar.
N)r|   rc   rk   s   &r   Úremove_childÚ$NotebookTrainingTracker.remove_child!  s   € ð ˆŒØ�‰Žr   )r|   r.   r{   rA   r   )Nro   )rp   rq   rr   rs   rt   rF   rc   r‘   r”   r—   ru   rv   Ú__classcell__)r   r:   s   @@r   r8   r8   Û   s)   ù‡ € ñ÷ò
	:òFô>÷ò r   r8   c                   ó`   a € ] tR tRt o RtR tR tR tRR ltR t	RR	 lt
RR
 ltR tRtV tR# )ÚNotebookProgressCallbacki)  z~
A [`TrainerCallback`] that displays the progress of training or evaluation, optimized for Jupyter Notebooks or
Google colab.
c                ó0   € R V n         R V n        RV n        R # )NF)Útraining_trackerÚprediction_barÚ_force_next_updaterk   s   &r   rF   Ú!NotebookProgressCallback.__init__/  s   € Ø $ˆÔØ"ˆÔØ"'ˆÖr   c                ó2  € VP                   \        P                  8X  d   R MRV n        ^ V n        ^ V n        V P                  .R.,           pVP                   \        P                  8w  d   VP                  R4       \        VP                  V4      V n
        R# )ÚEpochÚStepúTraining LossúValidation LossN)Úeval_strategyr   ÚEPOCHrŽ   Útraining_lossÚlast_logÚNOrˆ   r8   Ú	max_stepsr�   )rE   ÚargsÚstateÚcontrolÚkwargsr~   s   &&&&, r   Úon_train_beginÚ'NotebookProgressCallback.on_train_begin4  s}   € Ø'+×'9Ñ'9Ô=M×=SÑ=SÔ'S™GÐY_ˆÔØˆÔØˆŒØ×)Ñ)Ð*¨oÐ->Õ>ˆØ×ÑÔ!1×!4Ñ!4Ô4Ø×ÑÐ 1Ô2Ü 7¸¿¹ÈÓ VˆÖr   c                óL  € \        VP                  4      VP                  8X  d   \        VP                  4      MVP                  R  p\        V P                  R4      pVP	                  VP
                  ^,           RV RVP                   2V P                  R7       RV n        R# )r`   z0on_train_begin must be called before on_step_endúEpoch r_   ©r@   rI   FN)r   Úepochr   r�   rZ   Úglobal_stepÚnum_train_epochsrŸ   )rE   r¬   r­   r®   r¯   rµ   Útts   &&&&,  r   Úon_step_endÚ$NotebookProgressCallback.on_step_end=  sŒ   € Ü$'¨¯©Ó$4¸¿¹Ô$C”�E—K‘KÔ ÈEÏKÉKÐX[ÐK\ˆÜ�d×+Ñ+Ð-_Ó`ˆØ
�	‰	Ø×Ñ Õ!Ø˜U˜G 1 U×%;Ñ%;Ð$<Ð=Ø×0Ñ0ð 	ô 	
ð
 #(ˆÖr   Nc                ó�  € \        V4      '       g   R # V P                  fo   V P                  e+   V P                  P                  \	        V4      4      V n        M\        \	        V4      4      V n        V P                  P                  ^4       R # V P                  P                  V P                  P                  ^,           4       R # r   )r   rž   r�   r”   rb   r4   rZ   r"   )rE   r¬   r­   r®   Úeval_dataloaderr¯   s   &&&&&,r   Úon_prediction_stepÚ+NotebookProgressCallback.on_prediction_stepG  s‘   € Ü˜/×*Ò*ÙØ×ÑÒ&Ø×$Ñ$Ò0Ø&*×&;Ñ&;×&EÑ&EÄcÈ/ÓFZÓ&[�Õ#ä&9¼#¸oÓ:NÓ&O�Ô#Ø×Ñ×&Ñ& qÖ)à×Ñ×&Ñ& t×':Ñ':×'@Ñ'@À1Õ'DÖEr   c                ód   € V P                   e   V P                   P                  4        R V n         R # r   )rž   rW   )rE   r¬   r­   r®   r¯   s   &&&&,r   Ú
on_predictÚ#NotebookProgressCallback.on_predictS  s(   € Ø×ÑÒ*Ø×Ñ×%Ñ%Ô'Ø"ˆÖr   c                óÜ   € VP                   \        P                  8X  dM   R V9   dD   \        V P                  R4      pRVR ,          /pVP
                  VR&   VP                  V4       R# R# R# )Úlossz+on_train_begin must be called before on_logr¤   r£   N)r¦   r   rª   r   r�   r¶   r‘   )rE   r¬   r­   r®   Úlogsr¯   r¸   r‡   s   &&&&&,  r   Úon_logÚNotebookProgressCallback.on_logX  sb   € à×ÑÔ!1×!4Ñ!4Ô4¸À4¼Ü˜$×/Ñ/Ð1^Ó_ˆBØ% t¨F¥|Ð4ˆFà"×.Ñ.ˆF�6‰NØ�M‰M˜&Ö!ñ :HÑ4r   c                óæ  € VP                   \        P                  8X  d   R MRV n        RRRR/p\	        VP
                  4       F  pRV9   g   K  VR,          VR&    M	  V P                  R 8X  d   \        VP                  4      VR &   MVP                  VR&   Vf   / pRpV F4  p	V	P                  R4      '       g   K  \        P                  ! R	R
V	4      pK6  	  VP                  RR4      p
VP                  RR4      p
VP                  V R2R4      p
VP                  V R2R4      p
VP                  V R2R4      p
VP                  V R2R4      p
VP                  4        FX  w  r›V	P                  R4      pRP                  VR,           Uu. uF  qÝP!                  4       NK  	  up4      pVR8X  d   RpW¶V&   KZ  	  V P"                  e6   V P"                  pVP%                  V4       VP'                  4        RV n        Mc\*        P,                  ! \*        P.                  ! \1        \3        VP5                  4       4      \3        VP7                  4       4      .4      4      4       RV n        R# u upi )r¢   r£   r¤   zNo logr¥   rÃ   NÚevalÚ_lossz\_loss$r=   Ú
total_flosrµ   Ú_runtimeÚ_samples_per_secondÚ_steps_per_secondÚ_model_preparation_timeÚ_r]   r)   ÚLossT)r¦   r   r§   rŽ   ÚreversedÚlog_historyr   rµ   r¶   ÚendswithÚreÚsubÚpopr-   ÚsplitÚjoinÚ
capitalizer�   r‘   r—   rŸ   ri   rc   rj   r2   r…   r†   r‡   rž   )rE   r¬   r­   r®   Úmetricsr¯   r‡   ÚlogÚmetric_key_prefixÚkrÏ   ÚvÚsplitsÚpartÚnamer¸   s   &&&&&,          r   Úon_evaluateÚ$NotebookProgressCallback.on_evaluatea  s.  € ð (,×'9Ñ'9Ô=M×=SÑ=SÔ'S™GÐY_ˆÔà! 8Ð->ÀÐIˆÜ˜E×-Ñ-Ö.ˆCØ˜Ž}Ø*-¨f­+��Ñ'Ùñ /ð
 ×Ñ Ô'Ü! %§+¡+Ó.ˆF�7ŠOà"×.Ñ.ˆF�6‰NØŠ?ØˆGØ"ÐÛˆAØ�z‰z˜'×"Ô"Ü$&§F¢F¨:°r¸1Ó$=Ò!ñ ð �K‰K˜ dÓ+ˆØ�K‰K˜ Ó&ˆØ�K‰KÐ,Ð-¨XÐ6¸Ó=ˆØ�K‰KÐ,Ð-Ð-@ÐAÀ4ÓHˆØ�K‰KÐ,Ð-Ð->Ð?ÀÓFˆØ�K‰KÐ,Ð-Ð-DÐEÀtÓLˆà—M‘M–O‰DˆAØ—W‘W˜S“\ˆFØ—8‘8¸6À"¾:ÓF¹:°4Ÿ_™_Ö.¹:ÑFÓGˆDØ�vŒ~à(�Ø�4‹Lñ $ð × Ñ Ò,Ø×&Ñ&ˆBØ�M‰M˜&Ô!Ø�O‰OÔà&*ˆDÕ#ô �LŠLœŸšÔ#5´t¸F¿K¹K»MÓ7JÌDÐQW×Q^ÑQ^ÓQ`ÓLaÐ6bÓ#cÓdÔeà"ˆÖùò! Gs   ÆI.
c                óÂ   € \        V P                  R 4      pVP                  VP                  R\	        VP
                  4       RVP                   2RR7       RV n        R# )z1on_train_begin must be called before on_train_endr³   r_   Tr´   N)r   r�   rZ   r¶   r   rµ   r·   )rE   r¬   r­   r®   r¯   r¸   s   &&&&, r   Úon_train_endÚ%NotebookProgressCallback.on_train_end‘  s]   € Ü�d×+Ñ+Ð-`ÓaˆØ
�	‰	Ø×ÑØœS §¡Ó-Ð.¨a°×0FÑ0FÐ/GÐHØð 	ô 	
ð
 !%ˆÖr   )rŸ   rŽ   r©   rž   r¨   r�   r   )rp   rq   rr   rs   rt   rF   r°   r¹   r½   rÀ   rÅ   râ   rå   ru   rv   rw   s   @r   r›   r›   )  s:   ø‡ € ñò
(ò
Wò(ô
Fò#ô
"ô.#÷`%ð %r   r›   )ro   )rB   rÔ   rK   Útypingr   r   ÚIPython.displayrc   ri   Útrainer_callbackr   Útrainer_utilsr   r   r   r   r   r'   r2   r4   r8   r›   r!   r   r   Ú<module>rë      sg   ðó 
Û 	Û ß $å å .ß 8ñ ˆTƒ]€õòDôò÷"R.ñ R.ôjKÐ1ô Kô\o%˜ö o%r   