shell bypass 403
�
TfQ � �n � d Z ddlmZ ddlmZmZmZ e� � Zde_ de_ G d� de� � Z
G d� de
� � Z G d � d
e
� � Z G d� de
� � Z
G d
� de
� � Zeeeeeeee
ee
eeeeiZdd�Zd� Zedk r'ddlmZ eddd�� � ddlmZ ee� � dS dS )z=Define tree items for debug stackviewer, which is only user.
� )�Repr)�TreeItem�TreeNode�ScrolledCanvas�d c �@ � e Zd Zd
d�Zd� Zd� Zd� Zd� Zd� Zd� Z d � Z
dS )�ObjectTreeItemNc �0 � || _ || _ || _ d S �N)� labeltext�object�setfunction)�selfr �object_r s �9/usr/local/python-3.11/lib/python3.11/idlelib/debugobj.py�__init__zObjectTreeItem.__init__ s � �"������&����� c � � | j S r )r �r s r �GetLabelTextzObjectTreeItem.GetLabelText s
� ��~�r c �@ � t � | j � � S r )�myrepr�reprr
r s r �GetTextzObjectTreeItem.GetText s � ��{�{�4�;�'�'�'r c �2 � | � � � sdS d S )N�python)�IsExpandabler s r �GetIconNamezObjectTreeItem.GetIconName s% � �� � �"�"� ��8� � r c � � | j d uS r )r r s r �
IsEditablezObjectTreeItem.IsEditable! s � ���t�+�+r c �n � t |� � }| � |� � || _ d S # Y d S xY wr )�evalr r
)r �text�values r �SetTextzObjectTreeItem.SetText# sC � � ���J�J�E����U�#�#�#� �D�K�K�K�� ��D�D���s �$/ �4c �. � t | j � � S r )�dirr
r s r r zObjectTreeItem.IsExpandable+ s � ��4�;�'�'�'�'�'r c � � t | j � � }g }|D ]h} t | j |� � }n# t $ r Y �%w xY wt t |� � dz ||| j fd�� � }|� |� � �i|S )Nz =c �$ � t ||| � � S r )�setattr�r$ �keyr s r �<lambda>z+ObjectTreeItem.GetSubList.<locals>.<lambda>8 s � ��G�S�%�0�0� r )r'