o
    ڷi	                     @   s   U d dl mZmZ d dlmZmZmZmZ d dlm	Z	 d dl
mZ d dlmZ e	dZeed< deded	efd
dZdededed	efddZdededed	efddZdS )    )AnyList)AnyNode	Container
DictConfig
ListConfig)Marker)BaseContainer)ConfigKeyError_DEFAULT_SELECT_MARKER_key_parent_returnc                 C   sP   ddl m} t|tsJ t| |dd}|jt| |d}t|ts&J |S )Nr   )	OmegaConfzoc.dict.keysparentresolver_name)r   )		omegaconfr   
isinstancer	   _get_and_validate_dict_inputcreatelistkeysr   )r   r   r   in_dictret r   Q/home/ubuntu/vllm_env/lib/python3.10/site-packages/omegaconf/resolvers/oc/dict.pyr      s   r   _root_c           	      C   s   t |tsJ t| |dd}|j}t |tsJ tg }| dr&d|  } |D ]}td|  d|d}|| q(|j	j
}||j	_
t| |j	_|| |S )Nzoc.dict.valuesr   .z${})r   r	   r   _contentdictr   
startswithr   append	_metadataelement_typer   ref_type_set_parent)	r   r   r   r   contentr   kref_noder%   r   r   r   values   s"   


r+   r   r   c                 C   s   ddl m} t| tstd| d|  dt| j ||| ddtd}|tu r0td|  d	t|t	sBtd| d
t|j |S )Nr   )select_value`z,` requires a string as input, but obtained `z` of type: T)throw_on_missingabsolute_keydefaultzKey not found: ''z(` cannot be applied to objects of type: )
omegaconf._implr,   r   str	TypeErrortype__name__r   r
   r   )r   r   r   r,   r   r   r   r   r   5   s.   

r   N)typingr   r   r   r   r   r   r   omegaconf._utilsr   omegaconf.basecontainerr	   omegaconf.errorsr
   r   __annotations__r3   r   r+   r   r   r   r   r   <module>   s.    
