o
    qoi9                     @   s   d dl mZ d dlmZmZ d dlmZ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ee deee  dedee def
ddZd	S )    )dedent)ListOptional)
DictConfig	OmegaConf	open_dict)version)GlobalHydra)RunMode   )deprecation_warningNFconfig_name	overridesreturn_hydra_configstrictreturnc                 C   s   |du rg }t   sJ dt  }|jdusJ |jj| |tjddd}t|ts-J |sJd|v rJt	| |d= W d   n1 sEw   Y  |durct
drWtdttd t|| |S )	ar  
    :param config_name: the name of the config
           (usually the file name without the .yaml extension)
    :param overrides: list of overrides for config file
    :param return_hydra_config: True to return the hydra config node in the result
    :param strict: DEPRECATED. If false, returned config has struct mode disabled.
    :return: the composed config
    NzgGlobalHydra is not initialized, use @hydra.main() or call one of the hydra initialization methods firstF)r   r   run_mode
from_shellwith_log_configurationhydraz1.2z#got an unexpected 'strict' argumentz
                    The strict flag in the compose API is deprecated.
                    See https://hydra.cc/docs/1.2/upgrades/0.11_to_1.0/strict_mode_flag_deprecated for more info.
                    )r	   is_initializedinstancer   compose_configr
   RUN
isinstancer   r   r   base_at_least	TypeErrorr   r   r   
set_struct)r   r   r   r   ghcfg r    A/home/ubuntu/.local/lib/python3.10/site-packages/hydra/compose.pycompose   s>   

r"   )NNFN)textwrapr   typingr   r   	omegaconfr   r   r   r   r   hydra.core.global_hydrar	   hydra.typesr
   _internal.deprecation_warningr   strboolr"   r    r    r    r!   <module>   s,   
