o
    [Zh`                     @   sX   d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ dd Zdd Z	d	d
 Z
dS )    N)launcher)json)debuggeec                    s  t dtt  fdd}dtjtdd}t|}dtdstjd d	 d
kr6|ddg7 }dt}|t	j
tjdtjd t| g7 }ddsY|ddg7 }dtjdddddddd}|d|g7 }dtdd}|dkr|d|g7 }d tt}||7 }|tjd!d  7 }d"tj}t	j }	d#tttd f}
tjd$krd%d& t	j D }	i }|
 D ]\}}| }||v r|| |krqd'||||< q|}
d(|	v r|	d)d  |	|
 d*d& |	 D }	d+drd,|	d-< d.tjd/d0d1dd}|d2d3}|d u r|d/k}|r)d4|	d5< d6|	d7< |d8d9rA|d/kr9d:tj d;d<  |d=d>rY|d/krQd?tj d@d<  t!|||	| i S )ANZdebugOptionsc                    sh   | d   r|d  sJ | tdd}|dkrd }| v r2|du r0dt| t|d}|S )Nr   Toptional Fz9{0}:false and "debugOptions":[{1}] are mutually exclusive)islowerisupperbool
isnt_validr   repr)Z	prop_nameZ	flag_namevalueZdebug_optionsrequestr   P/var/www/html/lang_env/lib/python3.10/site-packages/debugpy/launcher/handlers.pyproperty_or_debug_option   s   z0launch_request.<locals>.property_or_debug_optionpython)   )sizeZnoDebugF   )      z-Xzfrozen_modules=offportz	--connect:Z
subProcessTz--configure-subProcessFalseZqtnoneautoZpysideZpyside2Zpyqt4Zpyqt5r   z--configure-qtZadapterAccessTokenr   z--adapter-access-tokenZdebugpyArgsr   processNameenvwin32c                 S   s   i | ]	\}}|  |qS r   )upper.0kvr   r   r   
<dictcomp>T   s    z"launch_request.<locals>.<dictcomp>zFound duplicate in "env": {0}.ZDEBUGPY_TESTZCOV_CORE_SOURCEc                 S   s   i | ]\}}|d ur||qS Nr   r!   r   r   r   r%   f   s    ZgeventTrueZGEVENT_SUPPORTconsoleZinternalConsoleZintegratedTerminalZexternalTerminalZredirectOutputZRedirectOutput1ZPYTHONUNBUFFEREDzutf-8ZPYTHONIOENCODINGZwaitOnNormalExitZWaitOnNormalExitzC"waitOnNormalExit" is not supported for "console":"internalConsole"c                 S   s   | dkS Nr   r   coder   r   r   <lambda>       z launch_request.<locals>.<lambda>ZwaitOnAbnormalExitZWaitOnAbnormalExitzE"waitOnAbnormalExit" is not supported for "console":"internalConsole"c                 S   s   | dkS r*   r   r+   r   r   r   r-      r.   )"setr   arraystrlistdefaultsysversion_infointospathdirnamedebugpy__file__r   Zadapter_hostenumargv
executableenvironcopyobjecttypeplatformitemsr    r   formatpopupdater   wait_on_exit_predicatesappendZspawn)r   r   r   Zcmdliner   Zqt_modeZadapter_access_tokenZdebugpy_argsZprocess_namer   Zenv_changesZnew_env_changesr#   r$   Zk_upperr(   Zredirect_outputr   r   r   launch_request   s   









rJ   c                 C   s"   t jd d = | i  t   d S r&   )r   rH   Zrespondkill)r   r   r   r   terminate_request   s   
rL   c                   C   s   t jd d = t   d S r&   )r   rH   rK   r   r   r   r   
disconnect   s   rM   )r7   r4   r:   r   Zdebugpy.commonr   Zdebugpy.launcherr   rJ   rL   rM   r   r   r   r   <module>   s    