a
    þd<  ã                   @   s²   d Z ddlZddlZddlmZ ddlm  mZ ddlm	Z	m
Z
mZmZmZmZmZ ddlZe e¡e_ded ee dœdd„Zeed	eƒ p’dƒe_G d
d„ deƒZee_dS )zFUtilities that can be used for calling functions on a particular rank.é    N)ÚOptional)Úrank_prefixed_messageÚrank_zero_debugÚrank_zero_deprecationÚrank_zero_infoÚrank_zero_onlyÚrank_zero_warnÚWarningCachez$lightning_fabric.strategies.Strategy)ÚstrategyÚreturnc                 C   s@   | d ur| j S d}|D ]$}tj |¡}|d urt|ƒ  S qd S )N)ZRANKZ
LOCAL_RANKZSLURM_PROCIDZJSM_NAMESPACE_RANK)Zglobal_rankÚosÚenvironÚgetÚint)r
   Z	rank_keysÚkeyÚrank© r   úm/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/lightning_fabric/utilities/rank_zero.pyÚ	_get_rank&   s    r   r   c                   @   s   e Zd ZdZdS )ÚLightningDeprecationWarningz)Deprecation warnings raised by Lightning.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   :   s   r   )N)r   Úloggingr   Útypingr   Z"lightning_utilities.core.rank_zeroÚcoreZ	rank_zeroZrank_zero_moduler   r   r   r   r   r   r	   Zlightning_fabricÚ	getLoggerr   Úlogr   r   Úgetattrr   ÚDeprecationWarningr   Zrank_zero_deprecation_categoryr   r   r   r   Ú<module>   s   $
 ÿþ