
    iGg                     |    d dl Z d dlZd dlmZ d dlmZmZmZmZ ddl	m
Z
mZ ddlmZ d ZddZd	 Zd
 Zd ZddZy)    N)memoizedproperty)ContextParameterLoaderPrimitiveParametercontext   )system_tokentoken_string)_debugc                 H   | j                   }t        t        dd       xs" t        j                  xs t
        j                  }	 t        j                  xs
 t               }|rt        j                  st        d       t        ||      }|r|d|z   z  }|S # t        $ r Y |S w xY w)Nchecked_prefixz*system token overriding the config setting )_old_user_agentgetattrr   r   target_prefixsysprefixanaconda_anon_usager	   r   r
   	Exception)ctxresultr   
is_enabledtokens        9lib/python3.12/site-packages/anaconda_anon_usage/patch.py_new_user_agentr      s      F)40WG4I4IWSZZ  00BLN
g99?@VZ0cEk!F M  Ms   AB 	B! B!c                 F    | t         _        t        j                  | |       y N)r   r   _old_check_prefix)r   jsons     r   _new_check_prefixr    '   s    #Gfd+    c                 v    | d   }d|v rt        j                  dd|      }|| d<   t        j                  |       S )N
user_agentz aau/z ([a-z]/)([^ ]+)z \1.)resubr   _old_get_main_info_str)	info_dictua	ua_redacts      r   _new_get_main_info_strr*   ,   sA    	<	 B"}FF.<	"+	,)))44r!   c                      t        t        d      ry t        d       ddlm}  | j
                  t        _        t        | _        dt        _	        y )Nr   z.Applying anaconda_anon_usage cli.install patchr   )installT)
hasattrr   r   	conda.clir,   check_prefixr   r    r   _aau_initialized)cli_installs    r   _patch_check_prefixr2   4   s:    w+,
;<0 + 8 8G0K#Gr!   c                     t        t        d      ry t        d       ddlm}  t        | d      r!| j
                  t        _        t        | _        y t        | d      r!| j                  t        _        t        | _        y t        d       y )Nr&   z-Applying anaconda_anon_usage conda info patchr   	main_infoget_main_info_displayget_main_info_strz1Cannot apply anaconda_anon_usage conda info patch)	r-   r   r   r.   r5   r6   r&   r*   r7   r4   s    r   _patch_conda_infor8   @   sg    w01
:;#y12)2)H)H&*@	'	/	0)2)D)D&&<	#BCr!   c                    t        t        dd       t        d       yt        d       t        j                  t        _        t        t              t        _        t        t        d            }|t        _
        t        xj                  |j                  d      fz  c_        d t        _        dt        _        | rt                t!                yt        d       t        j"                  fd}|t        _        y)	Nr0   z"anaconda_anon_usage already activeFz*Applying anaconda_anon_usage context patchTr   z/Deferring anaconda_anon_usage cli.install patchc                  T    t                t                t        _         | i | y r   )r8   r2   r   __init__)argskwargs_old__init__s     r   	_new_initzmain.<locals>._new_initw   s$    !+G$)&)r!   )r   r   r   r   r#   r   r   r   r   r   r   parameter_names	_set_namer   r0   r8   r2   r;   )plugin_paramr?   r>   s      @r   mainrD   Q   s    w*D1=34
78 &00G */:G /56F"(G 0 01F GII "G  %G 	  	@A''	* %r!   )F)r$   r   conda.auxlib.decoratorsr   conda.base.contextr   r   r   r   tokensr	   r
   utilsr   r   r    r*   r2   r8   rD    r!   r   <module>rJ      s;   
 
 
 4 T T . 0,
5	$D".r!   