
    si %                    D   S r SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJrJrJrJr  SS	KJrJrJrJr  SS
KJrJrJr  SSKJr  SSKJrJr  SSKJr  SSK J!r!  SSK"J#r#  SSK$J%r%J&r&  SSK'J(r(  SSK)J*r*  SSK+J,r,  SSK-J.r.  SSK/J0r0  SSK1J2r2J3r3J4r4J5r5J6r6J7r7J8r8  SSK9J:r:  SSK9J;r<  SSK=J>r>  SSK?J@r@  SSKAJBrB  SSKCJDrD  SSKEJFrFJGrG  SSKHJIrIJJrJ  SSKKJLrLJMrM  SS KNJOrO  SS!KPJQrQJRrR  SS"KSJTrTJUrU  SS#KVJWrWJXrXJYrYJZrZ  SS$K[J\r\J]r]  \(       a  SS%KJ^r^  \" 5         \Y=r_r`\ra\R                  rb\R                  rd\R                  re\R                  rf\R                  rg\R                  rh\R                  ri\R                  rj\R                  rl\R                  rm\R                  rn\R                  roS& rpS' rqS( rr\6r6\4r4\3r3S^S) jrs\0R                  " S*S+S,\!S-S.9  C!\0R                  " S+S/S0\S1S.9  C\0R                  " S+S/S2\S3S.9  C\0R                  " S+S/S4S5S6S.9  \0R                  " S+S/S7\uS8S.9  \0R                  " S+S/S9\uS8S.9  \0R                  " S+S/S:\S;S.9  C\0R                  " S+S/S<\S=S.9  C\0R                  " S+S/S>\S?S.9  C\0R                  " S+S/S@\SAS.9  \0R                  " S+S/SB\SAS.9  \0R                  " S+S/SC\SAS.9  C\0R                  " S+S/SD\
SES.9  C
\0R                  " S+S/SF\2SGS.9  C2\0R                  " S+S/SH\3SIS.9  C3\0R                  " S+S/SJ\4SKS.9  C4\0R                  " S+S/SL\5SMS.9  C5\0R                  " S+S/SN\6SOS.9  C6\0R                  " S+S/SP\7SQS.9  \0R                  " S+S/SR\7SQS.9  C7\0R                  " S+S/SS\8STS.9  C8SU rvS_SV jrw       S`SX jrxSY rySaSZ jrzSaS[ jr{S\ r|      SbS] jr;gW)cz#Backported exports for conda-build.    )annotations)input)StringIO)TYPE_CHECKING   )
CondaError)DEFAULT_CHANNELSDEFAULT_CHANNELS_UNIXDEFAULT_CHANNELS_WINPREFIX_PLACEHOLDER)contextnon_x86_machinesreset_contextsys_rc_path)spec_from_linespecs_from_argsspecs_from_url)ArgumentParser)add_parser_channelsadd_parser_prefix)compat)CondaJSONEncoder)	_toposort)Indexdist_str_in_index)ProgressiveFetchExtract)delete_prefix_from_linked_data)Solver)cache_fn_url)
deprecated)CondaHTTPErrorCondaOSError	LinkError	LockErrorPaddingErrorPathNotFoundErrorUnsatisfiableError)TmpDownload)download)CondaSession)TemporaryDirectory)delete_trash)lchmod)ACTIVE_SUBPROCESSESsubprocess_call)	untrackedwalk_prefix)Channelget_conda_build_local_urlDist)FileModePathEnum)VersionOrdernormalized_version)	MatchSpecResolveResolvePackageNotFoundUnsatisfiable)human_bytesurl_path)Anyc                 4    [        [        R                  5      $ N)listr   channels     -lib/python3.13/site-packages/conda/exports.py<lambda>rH   [   s    d7++,rF   c                 :    [        [        5       5      =(       d    / $ rB   )rC   r3   rE   rF   rG   rH   rH   \   s    79:@b@rF   c                    [        U /5      $ rB   )r   )fns    rG   rH   rH   ]   s    --rF   c                J    U S:X  a  SSK Jn  U$ [        S[         SU  S35      e)Nplanr   )rM   zmodule 'z' has no attribute '') rM   AttributeError__name__)namerM   s     rG   __getattr__rS   e   s,    v~
8H:-A$qI
JJrF   z26.3z26.9EntityEncoderz;Use `conda.common.serialize.json.CondaJSONEncoder` instead.)addendumz27.3r   zUse `builtins.input` instead.r   zUse `io.StringIO` instead.PY3Tz Python 2 is no longer supported.string_typeszUse `str` instead.	text_typer	   z4Use `conda.base.constants.DEFAULT_CHANNELS` instead.r
   z9Use `conda.base.constants.DEFAULT_CHANNELS_UNIX` instead.r   z8Use `conda.base.constants.DEFAULT_CHANNELS_WIN` instead.r   z6Use `conda.base.constants.PREFIX_PLACEHOLDER` instead._PREFIX_PLACEHOLDERprefix_placeholderr   zUse `conda.CondaError` instead.r!   z.Use `conda.exceptions.CondaHTTPError` instead.r"   z,Use `conda.exceptions.CondaOSError` instead.r#   z)Use `conda.exceptions.LinkError` instead.r$   z)Use `conda.exceptions.LockError` instead.r%   z,Use `conda.exceptions.PaddingError` instead.r&   z1Use `conda.exceptions.PathNotFoundError` instead.CondaFileNotFoundErrorr'   z2Use `conda.exceptions.UnsatisfiableError` instead.c                     SSK Jn   U $ )Nr   r	   )base.constantsr	   r]   s    rG   get_default_urlsr_   '  s    0rF   c                6    SSK Jn  U" U 5        [        U 5        g )Nr   )rm_rf)gateways.disk.deletera   r   )pathmax_retriestrashra   s       rG   ra   ra   -  s    +	$K"4(rF   Nc           	     ~    [        XX#XEU5      nUR                  5        Vs0 s H  n[        U5      U_M     sn$ s  snf rB   )r   valuesr5   )	channel_urlsprependplatform	use_local	use_cacheunknownprefixindexprecs	            rG   	get_indexrq   4  s@     xIE */8DJ888s   :c                 8   ^ SSK Jm   " U4S jS5      n U " 5       $ )Nr   PackageCacheDatac                  :   > \ rS rSrU 4S jrU 4S jrU 4S jrSrg)$package_cache.<locals>.package_cacheiF  c                   > [        TR                  5       R                  [        U5      R	                  5       S 5      5      $ rB   )boolfirst_writablegetr5   to_package_refselfdistrt   s     rG   __contains__1package_cache.<locals>.package_cache.__contains__G  s7     //155d4j6O6O6QSWX rF   c                N   > S TR                  5       R                  5        5       $ )Nc              3  8   #    U  H  n[        U5      v   M     g 7frB   r4   ).0vs     rG   	<genexpr><package_cache.<locals>.package_cache.keys.<locals>.<genexpr>M  s     P%ODGG%Os   )ry   rg   )r}   rt   s    rG   keys)package_cache.<locals>.package_cache.keysL  s!    P%5%D%D%F%M%M%OPPrF   c                r   > TR                  5       R                  [        U5      R                  5       5        g rB   )ry   remover5   r{   r|   s     rG   __delitem__0package_cache.<locals>.package_cache.__delitem__O  s'    ++-44T$Z5N5N5PQrF   rE   N)rQ   
__module____qualname____firstlineno__r   r   r   __static_attributes__rs   s   rG   package_cacherv   F  s    	
	Q	R 	RrF   r   )core.package_cache_datart   )r   rt   s    @rG   r   r   C  s    9
R 
R ?rF   c                    SSK Jn  SSKJn  U" U 5      nUR                  R                  5        Vs0 s H  nU" U5      U_M     sn$ s  snf )z5Return a dictionary of the linked packages in prefix.r   
PrefixDatar4   )core.prefix_datar   models.distr5   _prefix_recordsrg   )rn   ignore_channelsr   r5   pdprefix_records         rG   linked_datar   U  sR    ,!	F	B  //6688M 	]]*8  s   Ac                    SSK Jn  UR                  5       n[        XS9R	                  5       nU VVs1 s H  u  pVUR
                  U;   d  M  UiM     snn$ s  snnf )z.Return the Dists of linked packages in prefix.r   )PackageType)r   )models.enumsr   conda_package_typesr   itemspackage_type)rn   r   r   r   ldr~   
prefix_recs          rG   linkedr   a  s`    )%99;	V	=	C	C	EB !# "D""&99 	 "  s   AAc                    SSK Jn  U" U 5      nUR                  UR                  S5      nUc  g[	        U5      R                  U5      (       a  U$ g)zs
Return the install metadata for a linked package in a prefix, or None
if the package is not linked in the prefix.
r   r   N)r   r   rz   rR   r:   match)rn   r~   r   r   r   s        rG   	is_linkedr   o  sL     -	F	BFF499d+M	4		}	-	-rF   c                    [        XX6US9$ )N)md5sha256size)	_download)urldst_pathsessionmd5sumurlstxtretriesr   r   s           rG   r)   r)     s     SDIIrF   )rR   strreturnr@   )   T)rE   TNFFNN)F)NNF   NN)}__doc__
__future__r   builtinsr   ior   typingr   rO   r   r^   r	   r
   r   r   base.contextr   r   r   r   
cli.commonr   r   r   cli.conda_argparser   cli.helpersr   r   commonr   common.serialize.jsonr   common.toposortr   
core.indexr   r   r   r   r   r   
core.solver   core.subdir_datar   deprecationsr    
exceptionsr!   r"   r#   r$   r%   r&   r'   gateways.connection.downloadr(   r)   r   gateways.connection.sessionr*   gateways.disk.creater+   rb   r,   gateways.disk.linkr-   gateways.subprocessr.   r/   miscr0   r1   models.channelr2   r3   r   r5   r   r6   r7   models.versionr8   r9   resolver:   r;   r<   r=   utilsr>   r?   r@   NoPackagesFoundNoPackagesFoundErrornon_x86_linux_machines	arch_nameanaconda_uploadbinstar_uploadbitsdefault_prefixdefault_python	envs_dirs	pkgs_dirsrj   root_prefixroot_dirroot_writablesubdirconda_buildget_rc_urlsget_local_urlsload_condarcrS   constantr   r_   ra   rq   r   r   r   r   rE   rF   rG   <module>r      st   * "        H G .  3 & = <  * $   6 ? 5 4 . & E ( >  , <  )  *@ ?&) 	((||''''		%%	!!,@-	
K   

J  
  

	, 
 
  

)  
  

	/   

!   

!   

C  
  

H  
  

G  
  

E   

E   

E  
  

.  
  

=  
  

;  
  

8  
  

8  
  

;  
  

@   

@  
  

A ) 9$	
* 	
JrF   