shell bypass 403
�
Tf+ � � � d dl Z d dlmZ G d� de� � Z G d� d� � Z G d� de� � Z G d � d
e� � Z G d� de� � Zd
� Ze dk r'd dl
mZ eddd�� � d dlm
Z
e
e� � dS dS )� N)� Delegatorc �z � e Zd ZdZd� Zd� Zd� Zd� Zd� Zd� Z dZ
d � Zd
Zd� Z
dd�Zdd
�Zd� Zd� Zdd�Zd� Zd� ZdS )�
UndoDelegatori� c �V � t j | � � | � � � d S �N)r �__init__�
reset_undo��selfs �5/usr/local/python-3.11/lib/python3.11/idlelib/undo.pyr zUndoDelegator.__init__ s) � ���4� � � ��������� c �f � | j �?| � d� � | � d� � | � d� � t j | |� � |�S| � d| j � � | � d| j � � | � d| j � � d S d S )Nz<<undo>>z<<redo>>z<<dump-undo-state>>)�delegate�unbindr �setdelegate�bind�
undo_event�
redo_event�
dump_event)r r s r r zUndoDelegator.setdelegate s� � ��=�$��K�K�
�#�#�#��K�K�
�#�#�#��K�K�-�.�.�.���d�H�-�-�-����I�I�j�$�/�2�2�2��I�I�j�$�/�2�2�2��I�I�+�T�_�=�=�=�=�=� �r
c �T � ddl m } || j d | j � � � t d| j d�� � t d| j d�� � t d| j d�� � t d| � � � � � || j | j d � � � d S )
Nr )�pprintzpointer:� )�endzsaved:z
can_merge:zget_saved():�break)r �undolist�pointer�print�saved� can_merge� get_saved)r �eventr s r r zUndoDelegator.dump_event( s� � �!�!�!�!�!�!���t�}�]�d�l�]�+�,�,�,�
�j�$�,�C�0�0�0�0�
�h��
��,�,�,�,�
�l�D�N��4�4�4�4�
�n�d�n�n�.�.�/�/�/���t�}�T�\�]�]�+�,�,�,��wr
c �h � d| _ d| _ g | _ d| _ | � d� � d S �N���r � )� was_savedr r � undoblock� set_savedr
s r r zUndoDelegator.reset_undo2 s6 � ���������
�������q�����r
c �h � |r
| j | _ nd| _ d| _ | � � � d S )Nr$ F)r r r �check_saved)r �flags r r( zUndoDelegator.set_saved9 s; � �� ���D�J�J��D�J�����������r
c �"