o
    qo™i
  ã                   @   sÖ   U d dl mZ d dlmZmZ d dlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ eƒ Zeed	< ed
ƒZeed< G dd„ dedZdedefdd„Zdedefdd„Zdee fdd„Zdeddfdd„ZdS )é    )Údedent)ÚAnyÚOptional)ÚVersioné   )Ú__version__)Údeprecation_warning)Ú	Singleton)ÚHydraExceptionÚ_UNSPECIFIED_z1.1Ú__compat_version__c                   @   sZ   e Zd Zddd„Zddd„Zdee fd	d
„Zede	de	dd fdd„ƒZ
eddd„ƒZdS )ÚVersionBaseÚreturnNc                 C   s
   t | _d S ©N)r   Úversion_base©Úself© r   úA/home/ubuntu/.local/lib/python3.10/site-packages/hydra/version.pyÚ__init__   s   
zVersionBase.__init__Úversionr   c                 C   s&   t |tƒsJ dt|ƒ› ƒ‚|| _d S )NzUnexpected Version type : )Ú
isinstancer   Útyper   )r   r   r   r   r   Úsetbase   s   ÿþ
zVersionBase.setbasec                 C   s   | j S r   )r   r   r   r   r   Úgetbase   s   zVersionBase.getbaseÚargsÚkwargsc                  O   s   t jtg| ¢R i |¤ŽS r   )r	   Úinstancer   )r   r   r   r   r   r   !   s   zVersionBase.instancer   c                 C   s   t | tƒsJ ‚| tjt< d S r   )r   r   r	   Ú
_instances)r   r   r   r   Úset_instance%   s   zVersionBase.set_instance)r   N)r   r   r   N)r   r   r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   Ústaticmethodr   r   r   r   r   r   r   r      s    

r   )Ú	metaclassÚverr   c                 C   s   t | ƒ}t |j› d|j› ƒS )NÚ.)r   ÚmajorÚminor)r%   Úpverr   r   r   Ú_get_version+   s   r*   c                 C   sH   t  ¡  ¡ }t|ƒttƒu rt  ¡  t¡ t}t|tƒsJ ‚|t	| ƒkS r   )
r   r   r   r   r   r   r   r   r   r*   ©r%   Ú_version_baser   r   r   Úbase_at_least1   s   r-   c                   C   s   t  ¡  ¡ S r   )r   r   r   r   r   r   r   r   :   s   r   Nc                 C   sp   t | ƒt tƒu rttdt› ƒdd t}n| d u rttƒ}nt| ƒ}|tk r/tdt› dƒ‚t 	¡  
|¡ d S )Nzª
            The version_base parameter is not specified.
            Please specify a compatability version level, or None.
            Will assume defaults for version é   )ÚmessageÚ
stacklevelzversion_base must be >= "ú")r   r   r   r   r   r*   r   r
   r   r   r   r+   r   r   r   r   >   s    ýÿù	
r   )Útextwrapr   Útypingr   r   Úpackaging.versionr   Ú r   Ú_internal.deprecation_warningr   Úcore.singletonr	   Úerrorsr
   Úobjectr   Ú__annotations__r   r   Ústrr*   Úboolr-   r   r   r   r   r   r   Ú<module>   s   	