
    f                        d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlZd dlmZ d dlmZ d d	lmZ e
rd
dlmZ  ej,                  de       Z ed
      d        ZddZdddZ	 	 	 d	 	 	 	 	 	 	 ddZy)    )annotationsN)	lru_cacheversion)Path)TYPE_CHECKINGIterable)ChannelPriority)context)on_win   )_ChannelRepoInfozconda.)maxsizec                     t        d      S )N
libmambapyr        t/home/gpsr/webserver/cgidocs/anshu/RAPID-engine/ls/lib/python3.12/site-packages/conda_libmamba_solver/mamba_utils.pymamba_versionr       s    <  r   c                    | j                  dd      d   }|r&|j                  |      r|j                  dd      d   S |S )N/r   r   )rsplitendswith)urlnametmps      r   _get_base_urlr   %   sA    
**S!
Q
C<<::c1%a((Jr   c                   | s| S |0t         j                  t        j                  t        j                  fv }t        |       }|rqt        | j                         D ch c]  }|j                  j                   c}      }t        t        | j                                     j                  j                  }| j                         D ]  }|r7|j                  j                  k7  rdz  }|j                  j                  }}nd}|rd}n|}|dz  }t         j                  s7t        j                  d|j                  |j                  j                  ||       |j                  j!                  ||        | S c c}w )zx
    This function was part of mamba.utils.load_channels originally.
    We just split it to reuse it a bit better.
    r   r   z(Channel: %s, platform: %s, prio: %s : %s)r   channel_priorityr
   STRICTFLEXIBLElenvalueschannelcanonical_namenextiterjsonlogdebugsubdirreposet_priority)indexhas_prioritysubprio_indexinfochannel_priocurrent_channelprioritysubprioritys           r   set_channel_prioritiesr6   -   sE   
 //""$$4
 

 JMELLNSNDDLL77NSTtELLN34<<KK||**o=!"&,,"="=#HH K'KQM||II:## 			x55 8 L? Ts   E6c           	     F	   t         j                  j                  d       t        j                         }t        j                  |j
                  _        t        j                  |j
                  _        t        j                  |j
                  _        |j                  t        j                         |j
                  j                  rt        j                          t        j                  |j                  _
        t        j                  |j                  _        t        r&|dk(  r!t        j                         j                   d   }||nt        j"                  }||j                  _        t        j$                  |j&                  _        t        j(                  |_        d|_        d|_        t        j.                  |_        t        j0                  |_        t        j2                  |_        t        j4                  |_        t        j6                  |_        d|_        t        j:                  |_        ||nt        j<                  |_        | tA        |       nt        jB                  |_!        tE        tG        t        jH                  jK                  d                  |_$        ddh}i }t        jL                  D ]R  }t        jL                  |   jN                  |vs#tG        t        jL                  |   jK                  d      |      ||<   T ||_&        i }t        jP                  D ]Q  }||vsg ||<   t        jP                  |   D ]/  }||   jS                  tG        |jK                  d                   1 S ||_(        t        jT                  D 	cg c]  }	tG        |	jK                  d             c}	|_*        tA        t        jV                        |_+        t        jX                  tZ        j\                  u r!t         jZ                  j^                  |_,        |S t        jX                  tZ        j`                  u r!t         jZ                  jb                  |_,        |S t        jX                  tZ        jd                  u rt         jZ                  jf                  |_,        |S c c}	w )NFr   r   T)with_credentialslocaldefaults)4apiContextuse_default_signal_handlerr   r(   output_paramsquiet	verbosityset_verbositycancel_json_outputconda_prefixprefix_paramsroot_prefixr   r   cwdpartstarget_prefix
user_agentremote_fetch_paramslocal_repodata_ttlofflineuse_index_cacheadd_pip_as_python_dependency
always_yesdry_run	envs_dirs	pkgs_dirsuse_lockfilesuse_only_tar_bz2r+   platformlistchannelsstrr   channel_aliasr   custom_channelsr%   custom_multichannelsappenddefault_channelsconda_build_local_pathsr   r
   r    kStrictr!   	kFlexibleDISABLED	kDisabled)
rW   rU   rH   api_ctxRESERVED_NAMESadditional_custom_channelseladditional_custom_multichannelscxs
             r   init_api_contextrj   `   s    KK**51kkmG ")G")--G&-&7&7G#'++,!!  *1)=)=G&(/(;(;G%-3&
((+%2%>MGDYDYM*7G' .5-?-?G*!(!;!;GGO"G ,3+O+OG( ++GooGO))G))G!G&77G $,#7xW^^G)1)=tH~7CSCSGg.C.C.G.GY].G.^ _`Gz*N!#%%""2&55^K-:''+///F.&r* &
 9G&(#**^#24+B/11"5/3::!!%%%">? 6 + $CG  >E=U=U =UaeeTe23=U G '+7+J+J&KG#?#9#99#&#6#6#>#>  N 
	!	!_%=%=	=#&#6#6#@#@  N 
	!	!_%=%=	=#&#6#6#@#@ N s   "R)N)r.   zdict[str, _ChannelRepoInfo]r/   bool)NNN)rW   zIterable[str] | NonerU   rX   rH   rX   returnzapi.Context)
__future__r   logging	functoolsr   importlib.metadatar   pathlibr   typingr   r	   r   r;   conda.base.constantsr
   conda.base.contextr   conda.common.compatr   r.   r   	getLogger__name__r)   r   r   r6   rj   r   r   r   <module>rx      s    #   &  *  0 & &' g&
+, 1! !0h &*N"NN N 	Nr   