ó
    ÐÎi<  ã                   ó~   • S r SSKJr  SSKJrJrJrJr  SSKJ	r	  SSK
Jr  SSKJr  SSKJr  SS	KJr   " S
 S\5      rg)z
Sweeper plugin interface
é    )Úabstractmethod)ÚAnyÚListÚSequenceÚOptional)ÚTaskFunction)Ú
DictConfigé   )ÚLauncher)ÚPlugin)ÚHydraContextc            	       ó®   • \ rS rSr% Sr\\   \S'   \\   \S'   \\	   \S'   \
S\S\S\SS4S	 j5       r\
S
\\   S\4S j5       rS\\\      SS4S jrSrg)ÚSweeperé   z«
An abstract sweeper interface
Sweeper takes the command line arguments, generates a and launches jobs
(where each job typically takes a different command line arguments)
Úhydra_contextÚconfigÚlauncherÚtask_functionÚreturnNc                ó   • [        5       e)N)ÚNotImplementedError)Úselfr   r   r   s       ÚT/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/hydra/plugins/sweeper.pyÚsetupÚSweeper.setup   s   € ô "Ó#Ð#ó    Ú	argumentsc                 ó   • g)zþ
Execute a sweep
:param arguments: list of strings describing what this sweeper should do.
exact structure is determine by the concrete Sweeper class.
:return: the return objects of all thy launched jobs. structure depends on the Sweeper
implementation.
N© )r   r   s     r   ÚsweepÚSweeper.sweep%   s   € ð 	r   Úbatchc                 ó  • [        U S5      (       a#  U R                  b  U R                  R                  OU R                  nUc   eU R                  c   eU H&  nUR	                  U R                  [        U5      S9  M(     g)zß
Ensures that the given batch can be composed.
This repeat work the launcher will do, but as the launcher may be performing this in a different
process/machine it's important to do it here as well to detect failures early.
r   N)Úmaster_configÚsweep_overrides)Úhasattrr   Úconfig_loaderr   Úload_sweep_configÚlist)r   r"   r'   Ú	overridess       r   Úvalidate_batch_is_legalÚSweeper.validate_batch_is_legal0   sƒ   € ô t˜_×-Ñ-°$×2DÑ2DÑ2Pð ×Ñ×,Ò,à×#Ñ#ð 	ð
 Ñ(Ð(Ð(à{‰{Ñ&Ð&Ð&ÛˆIØ×+Ñ+Ø"Ÿk™k¼4À	»?ð ,ó ò r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   Ú__annotations__r	   r   r   r   r   r   Ústrr   r    r   r+   Ú__static_attributes__r   r   r   r   r      s¦   ‡ ñð ˜LÑ)Ó)ØZÑ Ó ØxÑ Ó àð$ð $ð$ð $ð	$ð
 ð$ð 
ó$ó ð$ð ð˜t C™yð ¨Só ó ðð¨X°h¸s±mÑ-Dð È÷ r   r   N)r1   Úabcr   Útypingr   r   r   r   Úhydra.typesr   Ú	omegaconfr	   r   r   Úpluginr   r   r   r   r   r   Ú<module>r:      s0   ðñõ ß 0Ó 0å $Ý  Ý å Ý $ô1ˆfõ 1r   