
    ;ȋh:
                        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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)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      c/var/www/pixelcanvas.ch/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 ]k\  }}| |         }	 d |                     |          D             E d{V  4# t          t          t          f$ r}t	          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   Nz+[dependency-groups] resolution failed for 'z' from 'z': )resolve
ValueError	TypeErrorLookupErrorr   )r   r	   r   	groupnameresolveres         r   r   r      s       "  iT?	HHH,<,<Y,G,GHHHHHHHHHHHI{3 	 	 	#&i & && &"#& &  		 s   %9A.A))A.pathsc                     i }| D ]o}||v rt          |          }d|vrt          d| d          |d         }t          |t                    st          d| d          t	          |          ||<   p|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.)_load_pyprojectr   
isinstancedictr   )r%   r   r   	pyprojectraw_dependency_groupss        r   r   r   &   s    I I I9#D))	i//#3t 3 3 3   !**= >/66 	#3d 3 3 3  
 22GHH	$r   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 z: zError reading )openr   loadFileNotFoundErrorr   TOMLDecodeErrorOSError)r   fpr$   s      r   r'   r'   =   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.dependency_groupsr   pip._internal.exceptionsr   pip._internal.utils.compatr   r   tupler   r   r)   r   r   r'   r   r   r   <module>r:      sJ   . . . . . . . .       A A A A A A 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   