U ��.eB �@s�ddlmZddlZddlZddlZddlmZddlmZddl m Z ddl m Z ddl mZddlmZdd lmZdd lmZer�dd lmZmZdd lmZe�e�Zd d�Zdd�Zdd�ZGdd�de�Z dS)�)�absolute_importN)� cmdoptions)�Command)�make_target_python)�SUCCESS)� indent_log)�get_pip_version)�MYPY_CHECK_RUNNING)� format_tag)�Any�List)�ValuescCst�d�||��dS)Nz{}: {})�logger�info�format)�name�value�r�@/usr/lib/python3.8/site-packages/pip/_internal/commands/debug.py� show_valuesrc CsFt�d�ttd�r"tj}|j}nd}t��td|�W5QRXdS)Nzsys.implementation:�implementation�r)rr�hasattr�sysrrrr)rZimplementation_namerrr�show_sys_implementations  rc Cs�d}t|�}|��}|��}d}|r.d�|�}d�t|�|�}t�|�|jdkrpt|�|krpd}|d|�}nd}t��8|D]}t�t |��q�|r�dj|d �}t�|�W5QRXdS) N� rz (target: {})zCompatible tags: {}{}�TFz?... [First {tag_limit} tags shown. Pass --verbose to show all.])� tag_limit) rZget_tagsZ format_givenr�lenrr�verboserr ) �optionsrZ target_pythonZtagsZformatted_target�suffix�msgZ tags_limited�tagrrr� show_tags,s,  ��r$cs0eZdZdZdZdZ�fdd�Zdd�Z�ZS)� DebugCommandz$ Display debug information. z %prog Tcs4tt|�j||�|j}t�|�|j�d|�dS)Nr)�superr%�__init__�cmd_optsrZadd_target_python_options�parserZinsert_option_group)�self�args�kwr(�� __class__rrr'Ws zDebugCommand.__init__cCsvt�d�tdt��tdtj�tdtj�tdt���tdt���tdt � ��tdtj �t �t |�tS) Nz�This command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice.z pip versionz sys.versionzsys.executablezsys.getdefaultencodingzsys.getfilesystemencodingzlocale.getpreferredencodingz sys.platform)rZwarningrrr�version� executable�getdefaultencoding�getfilesystemencoding�localeZgetpreferredencoding�platformrr$r)r*r r+rrr�run^s �   � zDebugCommand.run) �__name__� __module__� __qualname__�__doc__ZusageZignore_require_venvr'r5� __classcell__rrr-rr%Ns  r%)!Z __future__rr3ZloggingrZpip._internal.clirZpip._internal.cli.base_commandrZpip._internal.cli.cmdoptionsrZpip._internal.cli.status_codesrZpip._internal.utils.loggingrZpip._internal.utils.miscrZpip._internal.utils.typingr Zpip._internal.wheelr �typingr r Zoptparser Z getLoggerr6rrrr$r%rrrr�s&            "