
    yjI                     "   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 deeeef                  dee         fd	Zd
eeef         deeeef                  dee         fdZdee         deeef         fdZdedeeef         fdZdS )    )IterableIterator)Any)DependencyGroupResolver)ExceptionGroup)InstallationError)tomllibgroupsreturnc                 n    t          d | D                       }t          t          ||                     S )z
    Parse dependency groups data as provided via the CLI, in a `[path:]group` syntax.

    Raises InstallationErrors if anything goes wrong.
    c              3       K   | ]	\  }}|V  
d S N ).0path_s      g/usr/local/lib/hermes-agent/venv/lib/python3.11/site-packages/pip/_internal/req/req_dependency_group.py	<genexpr>z*parse_dependency_groups.<locals>.<genexpr>   s&       > >)4 > > > > > >    )_build_resolverslist_resolve_all_groups)r
   	resolverss     r   parse_dependency_groupsr      s9     ! > >v > > >>>I#Iv66777r   r   c              #     K   |D ]\  }}| |         }	 d |                     |          D             E d{V  4# t          $ rB}d |j        D             }t          d| d| dd                    |                     |d}~ww xY wdS )zp
    Run all resolution, converting any error from `DependencyGroupResolver` into
    an InstallationError.
    c              3   4   K   | ]}t          |          V  d S r   str)r   reqs     r   r   z&_resolve_all_groups.<locals>.<genexpr>   s(      HHSCHHHHHHr   Nc                 ,    g | ]}t          |          S r   r   r   es     r   
<listcomp>z'_resolve_all_groups.<locals>.<listcomp>"       6661A666r   z+[dependency-groups] resolution failed for 'z' from 'z': ; )resolver   
exceptionsr   join)r   r
   r   	groupnameresolveregmessagess          r   r   r      s       " 
 
iT?	HHH,<,<Y,G,GHHHHHHHHHHH 	 	 	66666H#8i 8 88 8"&))H"5"58 8  		
 
s   %9
B=B  Bpathsc           
         i }| D ]}||v rt          |          }d|vrt          d| d          |d         }t          |t                    st          d| d          	 t	          |          ||<   q# t
          $ r?}d |j        D             }t          d| dd	                    |                     |d }~ww xY w|S )
Nzdependency-groupsz,[dependency-groups] table was missing from 'z#'. Cannot resolve '--group' option.z+[dependency-groups] table was malformed in z". Cannot resolve '--group' option.c                 ,    g | ]}t          |          S r   r   r!   s     r   r#   z$_build_resolvers.<locals>.<listcomp>@   r$   r   z([dependency-groups] data was invalid in : r%   )_load_pyprojectr   
isinstancedictr   r   r'   r(   )r-   r   r   	pyprojectraw_dependency_groupsr+   r,   s          r   r   r   )   s6   I  9#D))	i//#3t 3 3 3   !**= >/66 	#3d 3 3 3  
	56KLLIdOO 	 	 	66666H#X4XX499XCVCVXX 	 s   #A66
B? :B::B?r   c                 V   	 t          | d          5 }t          j        |          cddd           S # 1 swxY w Y   dS # t          $ r t	          |  d          t          j        $ r}t	          d|  d|           |d}~wt          $ r}t	          d|  d|           |d}~ww xY w)zq
    This helper loads a pyproject.toml as TOML.

    It raises an InstallationError if the operation fails.
    rbNz, not found. Cannot resolve '--group' option.zError parsing r0   zError reading )openr	   loadFileNotFoundErrorr   TOMLDecodeErrorOSError)r   fpr"   s      r   r1   r1   H   s3   E$ 	$<##	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ W W W4 U U UVVV" E E E < < < < <==1D E E E < < < < <==1DEs>   A  3A  7A  7A   *B(*B  B(B##B(N)collections.abcr   r   typingr   'pip._vendor.packaging.dependency_groupsr   pip._vendor.packaging.errorsr   pip._internal.exceptionsr   pip._internal.utils.compatr	   r   tupler   r   r3   r   r   r1   r   r   r   <module>rE      s\   . . . . . . . .       K K K K K K 7 7 7 7 7 7 6 6 6 6 6 6 . . . . . .8DsCx$9 8d3i 8 8 8 8C001;?c3h;Pc]   (HSM d38n    >E# E$sCx. E E E E E Er   