Ë
    @çi&
  ã                   óÚ   — d dl mZ d dlmZ d dlZd dlmZ d dlZd dlZ	d dl
Z
ddlmZ ddlmZ ddlmZ dd	lmZmZmZ dd
lmZ  eed«      Zdde	j.                  e   dedefd„Zdefd„Zy)é    )Ú	ExitStack)ÚpartialN)Úrmtreeé   )Úgit_save)Ústart_ddp_workers)ÚDecoratedMain)Údisable_loggingÚ
simple_logÚred)ÚShepherdzLaunch:ÚargvÚmainÚclearc           	      ó²  — t        |t        «      }|j                  | «      }|j                  �½|j	                  «        |j                  «       s�|j                  }t        t        d|j                  › d|j                  › d�«      «       |rLt        d«       |j                  |j                  «       |j                  «        t        j                  d«       nt        t        d«      «       |rQ|j                  j                  j                  «       r,t        d«       	 t!        |j                  j                  «       yyy# t"        $ r t        d	«       Y yw xY w)
z{This will check if an existing job is running and warn,
    unless --clear is passed, in which case we must cancel it.
    NzFound existing slurm job z with status Ú.zCancelling the existing job.é   z4PLEASE ABORT NOW UNLESS YOU ARE SURE OF WHAT YOU DO.zRemoving existing XP folder.z>Failed to properly remove folder, but things should be okay...)r   ÚlogÚget_sheep_from_argvÚjobÚupdateÚis_doner   Újob_idÚstateÚcancel_lazyÚcommitÚtimeÚsleepÚxpÚfolderÚexistsr   ÚOSError)r   r   r   ÚshepherdÚsheepr   s         ú]/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/dora/run.pyÚcheck_job_and_clearr&      s  € ô ˜œcÓ"€HØ×(Ñ(¨Ó.€EØ‡y�yÐØ�‰ÔØ�}‰}ŒØ—)‘)ˆCÜ”Ð/°·
±
¨|¸=ÈÏÉÈÐSTÐUÓVÔWÙÜÐ2Ô3Ø×$Ñ$ U§Y¡YÔ/Ø—‘Ô!Ü—
‘
˜1•ä”CÐNÓOÔPÙ�—‘—‘×'Ñ'Ô)ÜÐ*Ô+ð	RÜ�5—8‘8—?‘?Õ#ð *€uøô ò 	RÜÐPÖQð	Rús   ÄD? Ä?EÅEc                 óô  — |j                  | j                  «      }t        «       5 }| j                  r½dt        j
                  vr«dt        j
                  d<   t        j                  |«      }t        j                  ||«       |j                  t        j                  |«      «       t	        j                  t        j                  t        j                  ddgt        j                  dd  z   «       | j                  rbt        j
                  j                  d«      sCt        | j                  || j                   «       t#        || j                  | j$                  «       n‡dt        j
                  vrGt        | j                  || j                   «       dt        j
                  d<   dt        j
                  d<   | j                  t        j                  dd  t'        «         |«        d d d «       y # 1 sw Y   y xY w)	NÚ_DORA_GIT_SAVE_DONEÚ1z-mÚdorar   ÚRANKÚ
WORLD_SIZEÚ0)Úget_xpr   r   r   ÚosÚenvironÚget_new_cloneÚassign_cloneÚenter_contextÚenter_cloneÚexecvÚsysÚ
executableÚddpÚgetr&   r   r   Úddp_workersr
   )Úargsr   r   ÚstackÚclones        r%   Ú
run_actionr>   2   sF  € Ø	�‰�T—Y‘YÓ	€BÜ	Œ˜Ø�=Š=Ð2¼"¿*¹*ÑDØ03ŒB�J‰JÐ,Ñ-Ü×*Ñ*¨4Ó0ˆEÜ×!Ñ! " eÔ,Ø×Ñ¤× 4Ñ 4°UÓ ;Ô<Ü�H‰H”S—^‘^¤c§n¡n°d¸FÐ%CÄcÇhÁhÈqÈrÀlÑ%RÔSØ�8Š8œBŸJ™JŸN™N¨6Ô2Ü §	¡	¨4°·±Ô<Ü˜d D§I¡I¨t×/?Ñ/?Õ@à¤2§:¡:Ñ-Ü# D§I¡I¨t°T·Z±ZÔ@Ø%(”—
‘
˜6Ñ"Ø+.”—
‘
˜<Ñ(ØŸ9™9ŒC�H‰H�Q�RˆLÜÔÙŒF÷# 
�‰ús   ¦F?G.Ç.G7)F)Ú
contextlibr   Ú	functoolsr   r/   Úshutilr   r6   ÚtypingÚtpr   Ú r   Úexecutorr   r   r	   r   r
   r   r   Úshepr   ÚListÚstrÚboolr&   r>   © ó    r%   Ú<module>rL      sl   ðõ !Ý Û 	Ý Û 
Û Û å Ý 'Ý ß 1Ñ 1Ý áˆj˜)Ó$€ñR˜bŸg™g c™lð R°-ð RÈó Rð4˜=ô rK   