Edit File: Prof.cpython-311.pyc
� ����q�d�i��������������������������d�dl�T�d�dlZ�d�dlZ�d�dlmZ��G�d��de������������ZdZd��Zd��Z d ��Z �G�d ��de������������Z�G�d��d e������������Z�G�d��de ������������Z�G�d��de������������Z�G�d��d������������Z�G�d��d������������Z�G�d��d������������ZdZ�G�d��d������������Z�G�d��d������������Z�G�d��d������������Z�G�d��d ������������Z�G�d!��d"������������Z�G�d#��d$������������Z�G�d%��d&������������Z�G�d'��d(������������Z�G�d)��d*������������Z�G�d+��d(������������Z�G�d,��d-������������Z�G�d.��d/������������Z�G�d0��d1������������Z �G�d2��d3������������Z!�G�d4��d5������������Z"dS�)6�����)�*N)�property_nondatac�������������������������e�Zd�ZdZd��ZdS�)�MyVar���������c������������������B�����t��������������������������������|�d|z���������������d�S�)N�%.2g)� StringVar�set)�self�values��� �c/builddir/build/BUILD/cloudlinux-venv-1.0.2/venv/lib64/python3.11/site-packages/guppy/heapy/Prof.pyr���z MyVar.set���s ������� � �d�F�U�N�+�+�+�+�+�����N��__name__� __module__�__qualname__�_defaultr�����r���r���r���r������s(���������������H�,��,��,��,��,r���r���)���K�M�G�Tc����������������������t����������|�������������}�d}|�dk�����rd}|��}�d}|�dk����r|�dz��}�|dz ��}|�dk�����t����������t����������t����������|�������������������������������������t����������|���������z���}|���������������������dt����������|���������z���������������r=t����������t����������t����������|�dz��������������������������������������t����������|dz������������z���}|dk����rd|z���}|S�)N����r������i��������000�-)�float�str�int�round�suffixes�endswith)r ����sign�i�ss��� r���� sizestringr*������s��������%�L�L�E��D��q�y�y������ �A� �%�-�-� �� �� �Q�����%�-�-�� �C��e�������x��{�*�A��z�z�%����#�$�$��6���E�%��*�%�%�&�&�'�'���1�� �5���r�z�z��!�G���Hr���c�����������������������t����������|�������������}d|cxk����rdk����rn�ndt����������|�������������z��S�d|cxk����rdk����rn�nd|�z��S�|dk����rdS�d|�z��S�) N� ���i'���%dg{�G�z�?r ���g�����|�=�0z%.0e)�absr$���)r ����as��� r���� percentstringr1���$���sr�������E� � �A� �Q�����$�������e�E�l�l�"�"� ������b��������~�� �e����s���~�r���c����������������������|�������������������������������������rt����������|�������������S�|�dd����������������������������������������������}d}t����������dd�����������D�]}||k����r�n |dz��}�t�����������t����������|�d�d����������������������|z��S�)Nr���r���r���)�isdigitr#����upperr%���� ValueError)r)����suf�mult�sus��� r���� stringsizer9���0���s��������y�y�{�{����1�v�v� � �B�C�C�&�,�,�.�.�C��D��q�r�r�l������ ��9�9��E���������q��"��v�;�;�t��r���c�������������������������e�Zd�Zdd�ZdS�)�MenuNc����������������������|�|}g�}t����������|����������������������|������������|����������������������|������������dz���������������D�]C}t����������|����������������������|d������������������������}||�j��������v�r|���������������������|��������������D|�j�����������������������������|�j��������d||�������������|D�]}|�� ��������������������|��������������dS�)z7Delete menu items between INDEX1 and INDEX2 (included).Nr����command�delete) �range�indexr"���� entrycget�_tclCommands�append�tk�call�_w� deletecommand)r����index1�index2�cmdsr(����cs��� r���r>���zMenu.deleteB���s��������>��F����t�z�z�&�)�)�4�:�:�f�+=�+=�a�+?�@�@�� �� �A��D�N�N�1�i�0�0�1�1�A��D�%�%�%�����A���������T�W�h���7�7�7���� "�� "�A����q�!�!�!�!� "�� "r����N)r���r���r���r>���r���r���r���r;���r;���>���s(��������������"��"��"��"��"��"r���r;���c�������������������������e�Zd�ZdZd��ZdS�)�SizeVarr���c������������������h�����||�_���������t����������|������������}t�������������������������������|�|�������������d�S�rL���)�_valuer*���r ���r���)r���r ���r)���s��� r���r���zSizeVar.setY���s0����������u����� � �d�A�����r���Nr���r���r���r���rN���rN���V���s(���������������H���������r���rN���c�������������������������e�Zd�Zd��ZdS�)� ValueLabelc������������������:�����d|d<���t����������j��������|�g|�R�i�|���d�S�)Nr,����width)�Label�__init__)r����args�kwdss��� r���rV���zValueLabel.__init__`���s1��������W� � ��t�+�d�+�+�+�d�+�+�+�+�+r���N�r���r���r���rV���r���r���r���rR���rR���_���s#��������������,��,��,��,��,r���rR���c��������������������$�����e�Zd�Zdd�Zdd�Zd��ZdS�) �ClickButton��������c������������������������t����������j��������|�|fi�|���||�_��������||�_��������||�_��������|����������������������d|�j���������������������|����������������������d|�j���������������������d�S�)N� <Button-1>�<ButtonRelease-1>)�ButtonrV����_command�_firstdelay� _thendelay�bind� _event_button�_event_release)r����masterr=���� firstdelay� thendelayrX���s��� r���rV���zClickButton.__init__h���sg���������f�-�-��-�-�-��� �%���#���� � �,�� 2�3�3�3�� � �%�t�':�;�;�;�;�;r���Nc�����������������������|��������������������������������������|�|�j��������}n|�j��������}|����������������������||�j��������������������|�_��������d�S�rL���)rb���rc���rd����afterrf����_after)r����event�delays��� r���rf���zClickButton._event_buttonp���sB������� � �������$�E�E��O�E��j�j���(:�;�;����r���c������������������>�����|�����������������������|�j���������������������|�`d�S�rL���)�after_cancelrm����r���rn���s��� r���rg���zClickButton._event_releasex���s!���������$�+�&�&�&��K�K�Kr���)r\���r]���rL���)r���r���r���rV���rf���rg���r���r���r���r[���r[���e���sK��������������<��<��<��<�<��<��<��<���������r���r[���c��������������������^�����e�Zd�Zdd�Zd��Zd��Z�ee������������Zd��Zd��Z d d�Z d ��Zd ��Zd��Z dS�)�StatsNc������������������R�����||�_���������|j��������|�_��������|j��������|�_��������||�_��������d�S�rL���)�mod�os�hashlib�fn)r���rv���ry���s��� r���rV���zStats.__init__~���s&����������&����{�������r���c�����������������������d�|�_���������|�`�d�S�rL�����stats�r���s��� r����clear_cachezStats.clear_cache����s��������� ��J�J�Jr���c������������������D�����|�����������������������|�j���������������������|�j��������S�rL���)�openry���r|���r}���s��� r���� get_statszStats.get_stats����s������� � �$�'�����z�r���c����������������������|�j���������sdS�|�j�����������������������������|�j���������������������}||�j��������k����rt ����������|�������������dfS�t����������|�j���������������������5�}|���������������������|�j��������������������}|�j��������� ��������������������|� ��������������������d������������������������}|�����������������������������������}||�j��������k����rt ����������|�������������}n|�� ��������������������|d��������������d}|�����������������������������������}|�j�����������������������������|�����������������������������������������������|�_��������d�d�d��������������n#�1�swxY�w�Y���|�j��������j��������|�_��������|���������������������|� ��������������������d�������������������������|�����������������������������������|�_��������|�� ��������������������|�������������t ����������|�j��������������������|z ��}||fS�)N)r���r���r����utf-8r�����reset)ry���rw����stat�laststat�lenr�����read�lastfilesizerx����md5�encode�digest� lastdigest�loadstr�fstat�fileno�st_size�updater|���)r���r�����fr"���r����r�����numoldstats�numnewstatss��� r����collectz Stats.collect����s�������w�� ��4��w�|�|�D�G�$�$���4�=� � ��t�9�9�a�<�� �$�'�]�]�� 6�a��&�&��*�+�+�C��,�"�"�3�:�:�g�#6�#6�7�7�C��Z�Z�\�\�F����(�(�!�$�i�i������S���*�*�*����&�&�(�(�C� �G�M�M�!�(�(�*�*�5�5�D�M� 6�� 6�� 6�� 6�� 6�� 6�� 6�� 6�� 6�� 6�� 6����� 6�� 6�� 6�� 6��!�M�1���� � �3�:�:�g�&�&�'�'�'��*�*�,�,������S�����$�*�o�o�k�1���K�'�'s����CD:�:D>�D>c����������������������|sd|�_���������g�|�_��������d|�_��������||�_��������d�S�t ����������|������������5�}|�����������������������������������}|�j�����������������������������|���������������������d������������������������� ����������������������������������}|�j �����������������������������|�����������������������������������������������}d�d�d��������������n#�1�swxY�w�Y���|�� ��������������������|d��������������||�_��������||�_��������||�_��������|j��������|�_��������d�S�)Nr���r����r���r����)� len_statsr|����max_sizery���r����r����rx���r����r����r����rw���r����r����r����r����r����r����r����)r���ry���r����r"���r����r����s��� r���r����z Stats.open����s������� ��D�N��D�J��D�M��D�G��F� �"�X�X�� 1���&�&�(�(�C���)�)�#�*�*�W�*=�*=�>�>�E�E�G�G�J��w�}�}�Q�X�X�Z�Z�0�0�H� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1�� 1����� 1�� 1�� 1�� 1�� ���S���"�"�"�����$��� �� �$�,����s����B�B<�<C��C�r���c�����������������������g�}|����������������������d������������}~t����������|������������}d} � �|�j��������j�����������������������������|������������}n#�t ����������$�r�Y�n,w�xY�w|���������������������|�������������|j��������|k����r|j��������}�Y|rg�|�_��������d|�_ ��������t����������|�j ��������|������������|�_ ��������|�j�����������������������������|�������������t����������|�j��������������������|�_ ��������d�S�)N� r���)�split�iterrv����Use�load� StopIterationrC����sizer|���r�����max�extendr����r����)r���r"���r����r|����lines� linesiterr�����sts��� r���r����z Stats.loadstr����s���������� � �$�������K�K� ��� #� ��X�\�&�&�y�1�1���� �� �� �� ��� �����L�L������w��!�!��7�� #���� ��D�J��D�M��D�M�8�4�4�� �� ���%� � � ��T�Z������s����A�� A�Ac�����������������������|�j���������|���������S�rL���r{���)r����idxs��� r����__getitem__zStats.__getitem__����s�������z�#��r���c������������������r����� �|�j���������S�#�t����������$�r#�t����������|�j��������������������|�_���������|�j���������cY�S�w�xY�wrL���)r�����AttributeErrorr����r|���r}���s��� r����__len__z Stats.__len__����sG������ "��>�!���� "�� "�� "� ���_�_�D�N��>�!�!�!� "���s���� ��*6�6c�����������������������|�j���������S�rL���)r����r}���s��� r����get_max_sizezStats.get_max_size����s �������}�r���rL����r���)r���r���r���rV���r~���r����r���r|���r����r����r����r����r����r����r���r���r���rt���rt���}���s��������������������������������� ��Y�'�'�E�(��(��(�>-��-��-�()��)��)��)�2�����"��"��"���������r���rt���c��������������������2�����e�Zd�ZdZd d�Zd��Zd��Zd��Zd��ZdS�) � ProfileRow����r���c����������������������||�_���������||�_��������|rpt����������|dddt�����������������������}t ����������|dddt�����������������������|�_��������|�j�����������������������������dd��������������|���������������������|dt������������������������t������������������������|�_ ��������t ����������||�j ��������dt����������� ������������|�_��������t������������������������|�_ ��������t ����������||�j ��������d t����������� ������������|�_��������t������������������������|�_��������t ����������||�j��������dt����������� ������������|�_��������t������������������������|�_��������t ����������||�j��������d t����������� ������������|�_��������t������������������������|�_��������t ����������||�j��������t����������|�j��������t*�����������������������|�_��������|�j�����������������������������|dt.������������������������|�j�����������������������������|dt.������������������������|�j�����������������������������|d t.������������������������|�j�����������������������������|d t.������������������������|�j�����������������������������|dt������������������������d�S�)N�blackr���)rh����bgrT����borderwidth�relief�whiter�����row�column�r����r�����sticky����)rh����textvariablerT����anchor����)rh���r����r����rT����justify������������)rh���r�����Frame�GROOVErU����color�grid�NWrN����rsizevar�E�rsizer ����rpercentvar�rpercent�dsizevar�dsize�dpercentvar�dpercent�kindvar� kindwidth�LEFT�kind�NE)r���rh���r�����usecolor�colbgs��� r���rV���zProfileRow.__init__����s������������� 5���G�1�&'��8��8��8�E��e��%&�A�f�F��F��F�D�J��J�O�O��!�O�,�,�,��J�J�3�q��J�4�4�4�� � �� ���� �Q�q�J��J��J�� �$�;�;������(8��!�M��M��M�� �� � �� ���� �Q�q�J��J��J�� �$�;�;������(8��!�M��M��M�� � �{�{�����d�l�2� $���>��>��>�� �� � ���C��"��5�5�5�� ���s�1�R��8�8�8�� ���C��"��5�5�5�� ���s�1�R��8�8�8�� ���3�q���4�4�4�4�4r���c����������������������|�����������������������|�������������|�|�����������������������|�������������|�j�����������������������������|�������������|�d}n)t����������t ����������t����������|������������������������������������}|�j�����������������������������|�������������|�j�����������������������������|�������������t����������t ����������t����������|������������������������������������}|�j�����������������������������|�������������|�� ��������������������|�������������d�S�)Nr���) � set_colorr����r���r"���r#���r$���r����r����r�����set_kind)r���r����r����r����r����r����r����s��� r����set_color_size_percent_kindz&ProfileRow.set_color_size_percent_kind��s����������u�������N�N�5�!�!�!�� ���%� � � ����H�H��3�u�X���/�/�0�0�H�����X�&�&�&�� ���%� � � ��s�5��?�?�+�+�,�,������X�&�&�&�� � �d�����r���c������������������<�����|�j������������������������������|��������������d�S�)N)r����)r����� configure)r���r����s��� r���r����zProfileRow.set_color��s!������� �����&�&�&�&�&r���c�����������������������||�_���������t����������|������������|�j��������k����r dd�l}|���������������������||�j���������������������}|�j�����������������������������|�������������d�S�)Nr����rT���)�kindtextr����r�����textwrap�fillr����r���)r���r����r����s��� r���r����zProfileRow.set_kind"��sX�������� ��t�9�9�t�~�%�%��O�O�O��=�=��T�^�=�<�<�D����������r���c������������������P�����|�����������������������|�j��������d���������ddddd�������������d�S�)Nr����r���z--)r����rh���r}���s��� r����clearzProfileRow.clear*��s-�������(�(���T�):�A�q�!�Q��M�M�M�M�Mr���N�r���) r���r���r���r����rV���r����r����r����r����r���r���r���r����r��������so���������������I�5��5��5��5�B�����"'��'��'������N��N��N��N��Nr���r����c��������������������������e�Zd�Zg�d�Zed���������dk�����r*e���������������������ed���������dz���������������ed���������dk������* �dd�Zd��Zd ��Zd ��Zd��Z d��Z d ��Zd��Zd��Z d��ZdS�)�AxisControl)r���r����r����r���g�����mB���r,���Nc ����������� ��������������d} |��_���������|��_��������|��_��������|��_��������t ����������|dt �����������������������x��_��������} t��������������������������_����������j��������� ��������������������|�������������t������������j��������d��j��������dd�������������}|���������������������d��j���������������������t����������| |d t����������� ������������}t����������|������������} | |d<���|rit!��������������������������_����������j��������� ��������������������d�������������| ���������������������d ��j��������|��������������t'����������| d ��j��������|t(�����������������������}nd���_���������rpt!��������������������������_����������j��������� ��������������������|�������������| ���������������������d��j�����������fd���������������t'����������| d��j�����������fd�t(�����������������������}t-����������| d�������������}|dk����r| rd}d}nd}d}t ����������| ������������}t/����������|d||d��fd��������������}t/����������|d||d��fd��������������}|���������������������dd��������������|���������������������dd��������������d}| r�|dk����r�|���������������������ddd� �������������|���������������������ddt�����������!�������������|���������������������dd��������������|���������������������ddt�����������!�������������|���������������������dddt����������dd�"�������������d�S�| rx|d#k����rr|���������������������dd��������������|���������������������ddt����������dd�$�������������|���������������������ddt�����������!�������������|���������������������ddt�����������!�������������d�S�|���������������������|dt2����������t����������z���dddd�%�������������|���������������������|dt�����������!�������������|���������������������|dd�&�������������|dz ��}�r|���������������������|dt�����������!�������������|���������������������|ddd�'�������������|r �|���������������������|d��������������d�S�d�S�)(Nr���r�����r����r����r����)�fixed�14z#fdd)rh���rT����textvar�fontr����z<KeyPress-Return>�raised)�textr����r�����menuT�Auto��label�variabler=����r����r����r=���r�����Gridc�������������������H����������j��������������������������������������������������������S�rL�����gridvar�get��gridcommandr���s�����r����<lambda>z&AxisControl.__init__.<locals>.<lambda>s��s���������D�L�,<�,<�,>�,>� ?� ?��r���c�������������������H����������j��������������������������������������������������������S�rL���r����r���s�����r���r��z&AxisControl.__init__.<locals>.<lambda>y��s$�������[�[�)-��)9�)9�);�);�6=��6=��r����Range�r�����Yr����r�����+)r��������c�������������������.������������������������������d������������S��Nr�����range_buttonr}���s����r���r��z&AxisControl.__init__.<locals>.<lambda>���s�������d�.?�.?��.B�.B��r���)r�����pady�padxr����r=���r ���c�������������������.������������������������������d������������S��Nr���r��r}���s����r���r��z&AxisControl.__init__.<locals>.<lambda>���s��������0A�0A�"�0E�0E��r���r����r���)r�����rowspanr����r�����r����r����� columnspanr����r��r ���X�r����r����r����r��r ��)r����r����r�����ipadx�ipadyr��r ��)r����r����r���r����r����r��r ��)�name�unitr?����rangecommandr����r�����framerN����rangevarr����Entryre����event_range_enter� Menubutton�Wr;���� BooleanVar�autovar�add_checkbutton�Checkbutton�RAISEDr����rU���r[���r�����N)r���rh���r��r?���r����r��r��r���autocommand�smallr���rangeval� namelabel�namemenu� autobutton� gridbutton� rangelabelr��r ���ud�rangeup� rangedownr����s���` ` r���rV���zAxisControl.__init__3��s������������� ��� ��� �(���"�6�q��H�H�H�H�� �U�� � �� �� ���%� � � ��� � �!%���.�"� �� �� ��� � � �)�4�+A�B�B�B��u�4���K�K�K� �� �?�?��$� �&���� �%�<�<�D�L��L���T�"�"�"��$�$����#� � %�� �� �� ��%�U�*0�.2�l�-8�,2� '��'��'�J�J�� �D�L��� '�%�<�<�D�L��L���T�"�"�"��$�$����?�?�?�?�?�� %�� �� �� ��%�U�*0�.2�l�.=��.=��.=��.=��.=�,2�'��'��'�J���5�w�/�/�/� ��3�;�;�5�;��D��D�D��D��D� �5�\�\���b�s�#'�d�#/�&B�&B�&B�&B�D��D��D�� � ���%)��%1�(E�(E�(E�(E�G��G��G� � � ���1�Q��'�'�'�����1��%�%�%����� 3�T�S�[�[��N�N�q�!�A�N�6�6�6��L�L�Q�q��L�3�3�3��O�O��!�O�,�,�,��N�N�q��1�N�5�5�5��M�M�a��a�!"���� �� 4�� 4�� 4�� 4�� 4���� 3�t�s�{�{��N�N�q��N�+�+�+��M�M�a��!�!�!�M�D�D�D��N�N�q��1�N�5�5�5��L�L�Q�q��L�3�3�3�3�3�� �N�N�s�1�Q�q�S�!"�!�!�!�� �� =�� =�� =��O�O��A�a�O�8�8�8��G�G��A�A�G�.�.�.��1�H�C��� =����C��!��<�<�<��M�M�c�!�!�!�M�<�<�<��� 3�����C���2�2�2�2�2� 3�� 3r���c�����������������������d�S�rL���r���r}���s��� r���� cmd_rangezAxisControl.cmd_range�����������r���c�����������������������|�j��������������������������������������������} �t����������|������������}||�j��������vr!d|cxk����r|�j��������d���������k����s n�t�����������|�j��������r|�j�����������������������������d�������������|����������������������|�������������d�S�#�t����������$�rQ�|�j��������� �����������������������������������|�� ��������������������d�������������|�j������������������������������|�j���������������������Y�d�S�w�xY�w)Nr���r���Fz�Invalid range entry. It should be a positive integer with an optional multiplier: K, M, G, or T (1000, 1e6, 1e9, 1e12) Maximum range is 1T.)r��r����r9����scale_tabler5���r#��r����setranger���bell�errorboxr?���)r���rn���r"����rngs��� r���r��zAxisControl.event_range_enter���s������m���!�!�� ��S�/�/�C��$�*�*�*��C�7�7�7�7�4�#3�B�#7�7�7�7�7�$�$���|�� (��� � ��'�'�'��M�M�#���������� *�� *�� *��J�O�O�����M�M���� �� �� �� �M���d�j�)�)�)�)�)�)� *���s����9B��AC'�&C'c�����������������������d�S�rL���r���r}���s��� r����auto_commandzAxisControl.auto_command���r5��r���c������������������R�����t�����������j�����������������������������|�j��������|��������������d�S�)N�rh����message)�tkinter� messagebox� showerrorr��)r����msgs��� r���r:��zAxisControl.errorbox���s&��������$�$�D�J��$�D�D�D�D�Dr���c������������������Z�����|�����������������������|������������}|����������������������|�������������d�S�rL���)�scale_by_tabler8���r���r?���s��� r����fitzAxisControl.fit���s-�������#�#�E�*�*��� � �e�����r���c������������������r�����|�j���������r|�j������������������������������d�������������|����������������������|�������������d�S�)NF)r#��r����range_change)r����ds��� r���r��zAxisControl.range_button���s<�������<�� $��L���U�#�#�#����!�����r���c������������������L����|�j���������}|����������������������|������������}||k����r|dk����r|dz��}|�j�����������������������������|������������}||z ��}|t ����������|�j��������������������k����rt ����������|�j��������������������dz ��}|dk�����rd}|����������������������|�j��������|����������������������d�S��Nr���r���)r?���rF��r7��r@���r����r8��)r���rK��r?����sranger(���s��� r���rJ��zAxisControl.range_change���s�������� ���$�$�U�+�+���E�>�>��1�u�u��Q�����"�"�6�*�*�� �Q�����D�$�%�%�%�%��D�$�%�%��)�A��q�5�5��A�� � �d�&�q�)�*�*�*�*�*r���c�����������������������||�j���������k����r8||�_���������|�j�����������������������������|�������������|����������������������|�������������d�S�d�S�rL���)r?���r��r���r��rG��s��� r���r8��zAxisControl.setrange���sN�������D�J����D�J��M���e�$�$�$����e�$�$�$�$�$���r���c������������������D�����|�j���������D�]}||k����r|c�S�� |�j���������d���������S�r��)r7��)r���r)����tss��� r���rF��zAxisControl.scale_by_table���s9�������"�� �� �B��Q�w�w�� � � ������#�#r���rL���)r���r���r���r7��rC���rV���r4��r��r=��r:��rH��r��rJ��r8��rF��r���r���r���r����r����.��s��������������)�)�K� �b�/�D� � ����;�r�?�R�/�0�0�0���b�/�D� � ��"�3��3��3��3�B �� �� ������, �� �� �E��E��E����������� +�� +�� +�%��%��%�$��$��$��$��$r���r����r���c�������������������������e�Zd�Zdd�Zd��Zd��Zd��Zd��Zd��Zd��Z d ��Z d ��Zd��Zd��Z d ��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��ZdS�)�MarkerNc����������������������||�_���������||�_��������||�_��������||�_��������d|�_��������|j��������|�_��������|�j��������|�_��������d�|�_��������d�|�_��������d|�_ ��������d|�_ ��������d|�_��������d|�_��������d�|�_ ��������|�������������������������������������d�S��Nr���)rK���tagr���xmarker�butdown�ocursor�cursor� poscommand�intpos�moving�selected�entered�butdownselected� motion_id�create)r���rK��rV��r���posr[��s��� r���rV���zMarker.__init__���sz�������������� ��������y����l�������������� ���� ��������� � � � � r���c������������������������|�j���������}|�j��������j�����������������������������|||�������������t����������r|�j�����������������������������||�������������d�S�|�j��������j�����������������������������|||�������������d�S�rL���)rV��rK���drawingarea�tag_bind�WM�xlabelre����xmarks)r����sequence�functionrV��s��� r���re���zMarker.bind��sn�������h�����#�#�C��8�<�<�<� �� <��K���X�x�0�0�0�0�0��F�M�"�"�3��(�;�;�;�;�;r���c����������� �������������|�j���������j�����������������������������|�j��������|d|t ����������|�j���������j����������������������������������|�j���������j�����������������������������|�j��������|d�������������d�S�)Nr���r,���)rK��re���coordsrV��r#����botyri���r����canxs��� r���rm��z Marker.coords��sb���������!�!�$�(�"&��"&��T�V�[�)9�)9�(9� ;�� ;�� ;�� �� ���T�X�t�R�0�0�0�0�0r���c����������� �����������|�j���������}|�j��������}d}|�j��������j�����������������������������|d|d|�j��������j��������z ��dd|f��������������t����������rOt����������|�j��������j��������|ddt�����������������������x}|�_ ��������|�j��������j�����������������������������|d||f��������������n$|�j��������j�����������������������������|d||f� �������������|�� ��������������������d |�j���������������������|�� ��������������������d|�j���������������������|�� ��������������������d|�j���������������������|�� ��������������������d |�j���������������������|�j��������j��������� ��������������������d|�j��������d��������������|�j��������j��������� ��������������������d |�j��������d��������������d�S�)Nr��������gray12r����)�stipplerT����tagsr����)r����r��r ��r����)�windowru��)r����ru��r_���r`���z<Enter>z<Leave>r����add)rV��r��rK��re���create_linern��rg��rU���ri��r&��rh��� create_window�create_textre����event_button_1�event_button_1_release�event_enter�event_leave�event_enter_movearea�event_button_1_movearea)r���rV��r����rc��r����s��� r���rb��z Marker.create��s�������h���y�������&�&�s�A�s�B�t�v�{�N�H�-.�c�V�� '�� =�� =�� =� �� F�"'��� �D�q�q��#I��#I��#I�� I�E�D�K��F�M�'�'��Q�u�C�6�'�J�J�J�J��F�M�%�%�c�1�4�s�f�%�E�E�E�� � �,�� 3�4�4�4�� � �%�t�'B�C�C�C�� � �)�T�-�.�.�.�� � �)�T�-�.�.�.������ �4�+D�#��N�N�N�������$�6�C�� �� A�� A�� A�� A�� Ar���c������������������������d|�_���������|�j��������r$d|�_��������|�j��������r|����������������������|�������������nd|�_��������d|�_��������|����������������������|�������������|����������������������|�������������d�S��Nr���r���)rX��r^��r`��r]���event_stop_move� has_moved�event_selected�event_start_moverr���s��� r���r|��zMarker.event_button_14��sw����������=�� %�#$�D� ��{�� ,��$�$�U�+�+�+��#$�D� �������E�"�"�"����e�$�$�$�$�$r���c������������������B�����|�j���������s|����������������������|�������������d�S�d�S�rL���)r_���event_deselectedrr���s��� r���r���zMarker.event_button_1_moveareaA��s0�������|�� )��!�!�%�(�(�(�(�(� )�� )r���c������������������N����d|�_���������|�j��������|�j��������k����rx|�j��������rU|�j��������rM|�j��������|j��������cxk����r|�j��������k�����s1n�|����������������������d��������������|�� ��������������������|�j ���������������������n|�� ��������������������|�j ���������������������d�S�|����������������������|�������������d�S�rU��)rX��r���r`��r^��r]���disloy�y_root�dishiyr���� setcursorrY��r���rr���s��� r���r}��zMarker.event_button_1_releaseE��s�����������>�T�1�1�1��}�� -��;��1���u�|�(Q�(Q�(Q�(Q�d�k�(Q�(Q�(Q�(Q��(�(��.�.�.��N�N�4�<�0�0�0�����t�|�,�,�,��F����e�$�$�$�$�$r���c�����������������������|�j���������r4d|�_���������t����������|�j��������d<���|�j��������r|����������������������|�������������d�S�d�S�d�S�)Nr���r����)r^��r&��rh��r]��r���rr���s��� r���r���zMarker.event_deselectedQ��sW�������=�� ,��D�M�$*�D�K��!��{�� ,��$�$�U�+�+�+�+�+� ,�� ,� ,�� ,r���c�����������������������d|�_���������|�j��������s5|�j��������r|����������������������|�������������d�S�|����������������������d�������������d�S�d�S�)Nr����hand2)r_��r]��r^��r���r���rr���s��� r���r~��zMarker.event_enterX��sY����������{�� (��}�� (��%�%�e�,�,�,�,�,����w�'�'�'�'�'� (�� (r���c������������������T�����|�j���������r|�j��������s|����������������������|�������������d�S�d�S�d�S�rL���)r^��r]��r���rr���s��� r���r���zMarker.event_enter_movearea`��sC�������=�� )���� )��!�!�%�(�(�(�(�(� )�� )�� )�� )r���c�����������������������d|�_���������|�j��������s|����������������������|�j���������������������d�S�|�j��������|j��������cxk����r|�j��������k�����sn�d�S�d�S�rU��)r_��r]��r���rY���fraloyr����frahiyrr���s��� r���r��zMarker.event_leaved��s_����������{�� ��N�N�4�<�(�(�(�(�(��+���;�;�;�;���;�;�;�;��D��<�;r���c����������������������d|�_���������|�j��������|j��������cxk����o |�j��������k�����nc�}||�j��������k����r||�_��������|sX||�_��������|����������������������d��������������|�j��������r4|����������������������d�������������|�j ��������� ��������������������|�j���������������������n||�_��������|�� ��������������������|�������������d�S�|r+|����������������������|�������������|�������������������������������������d�S�d�S�)Nr����circle)r���r���r���r����inside� out_eventr���rX��r���rK���bind_motion�event_motion_downout�in_eventr����moved�setxvars�r���rn���r���s��� r����event_motionzMarker.event_motionk��s�����������+���;�;�;�;���;�;�;�;���T�[� � � �D�K��� �!&����$�$�T�*�*�*��<��B��N�N�8�,�,�,��F�&�&�t�'@�A�A�A�� %�� ��%�%�e�,�,�,����� ��J�J�u�����M�M�O�O�O�O�O� �� r���c�����������������������|�j���������|j��������cxk����o |�j��������k�����nc�}|r6|�j�����������������������������|�j���������������������|����������������������|�������������d�S�d�S�rL���)r���r���r���rK��� unbind_motionr���r���r���s��� r���r���zMarker.event_motion_downout���sp��������+���;�;�;�;���;�;�;�;���� -��F� � ��!:�;�;�;��%�%�e�,�,�,�,�,� -�� -r���c������������������z�����|�j���������j��������D�]}|���������������������|��������������d|�_��������t����������|�j��������d<���d�S�)Nr���r����)rK���marksr���r^���SUNKENrh��)r���rn����ms��� r���r���zMarker.event_selected���sE���������� &�� &�A� ���u�%�%�%�%��� � &���H���r���c����������������������d|�_���������|�j��������j�������������������������������������������|�_��������|�j��������|�j��������j�������������������������������������������z���|�_��������|�j��������j�������������������������������������������|�_��������|�j��������|�j��������j��������� ����������������������������������z���|�_ ��������|�j��������j�������������������������������������������|�_��������|�j��������|�j��������j�������������������������������������������z���|�_ ��������|�j��������j�������������������������������������������|�_��������|�j��������|�j��������j��������� ����������������������������������z���|�_��������||�_��������||�_��������|�j��������|�_��������|�j��������j�������������������������������������������d���������|�_��������d|�_��������d|�_��������|�������������������������������������|�j�����������������������������|�j��������������������|�_��������|����������������������|�������������d�S�r���)r]��rK��r���winfo_rootx�fralox�winfo_width�frahix�winfo_rootyr����winfo_heightr���re���dislox�dishixr���r���� down_event� prev_eventrW���down_xmarker�xview�down_xvfracr����delta�liftr���r���ra��r���rr���s��� r���r���zMarker.event_start_move���sd���������f�l�.�.�0�0����k�D�F�L�$<�$<�$>�$>�>����f�l�.�.�0�0����k�D�F�L�$=�$=�$?�$?�?����f�(�4�4�6�6����k�D�F�$6�$B�$B�$D�$D�D����f�(�4�4�6�6����k�D�F�$6�$C�$C�$E�$E�E��������� �L����6�-�3�3�5�5�a�8�������� �� � ������+�+�D�,=�>�>���� � �5�����r���c������������������8����|�j���������sJ��d|�_���������|�j�����������������������������|�j���������������������|�)|����������������������|�������������|�������������������������������������|�j��������r|�j��������s|����������������������d�������������d�S�|����������������������|�j ���������������������d�S�)Nr���r���) r]��rK��r���ra��r���r���r_��r^��r���rY��rr���s��� r���r���zMarker.event_stop_move���s��������{�����������T�^�,�,�,����J�J�u�����M�M�O�O�O��<�� )�� �� )��N�N�7�#�#�#�#�#��N�N�4�<�(�(�(�(�(r���c������������������������|�j���������j�����������������������������|�j���������������������t����������r|�j��������������������������������������������|�j���������j�����������������������������|�j���������������������d�S�rL���)rK��ri��� tag_raiserV��rg��rh��r���re��r}���s��� r���r���zMarker.lift���sY�������� �����)�)�)� �� ��K���������$�$�T�X�.�.�.�.�.r���c������������������������|�j������������������������������|������������}|�j������������������������������|�������������|����������������������|�������������||�_��������|�������������������������������������d�S�rL���)rK��� canxscaled� xview_posrm��rW��r���)r����samplerp��s��� r����movezMarker.move���sW�������v� � ��(�(�������������D�������� � �����r���c�����������������������|j���������}|j��������}|�j��������j���������}||�j��������k����r||�j��������k�����r|�j��������}n||�j��������k�����r||�j��������k����r|�j��������}|�j�����������������������������|�j��������������������|�j��������j��������� ��������������������d������������z ��|�j��������z���}||z ��}dx}}|�j��������|�j��������j ��������dz ��k����rd}|�j��������dk����rd}d} |dk����r||k����s|dk����r ||k�����rdx}}|�j��������r||�j��������k����rd}nG||�j��������k�����rd}n9|�j��������|cxk����r|�j��������k�����rn�n|�j��������|cxk����r|�j ��������k�����sn�dx}}d} |r|r|����������������������d�������������nW|r|����������������������d�������������|dk����rd}n7|r|����������������������d�������������|dk�����rd}n|����������������������d�������������d}||�_��������|�j�����������������������������|�j��������||�j��������j��������z��z���������������} |�j�����������������������������| ������������}|�j�����������������������������|�������������|����������������������|�������������| |�_��������| r|�j��������r|����������������������d��������������d�S�d�S�d�S�)Nr���r����sb_h_double_arrow� sb_left_arrow�sb_right_arrow�dot)�x_rootr���r���r���r���rK��r���rW��re���canvasx�numstatsrX��r���r���r����limitx�xscaler���rm��r]��r���)r���rn����curx�cury�prevx�markx�dx�l�r�stopr���rp��s��� r���r���zMarker.moved���s�������|���|����&���4�;���4�$�+�#5�#5��K�E�E� �T�[� � �T�D�K�%7�%7��K�E���!�!�$�,�/�/��F��&�&�q�)�)�*�,0�K�8����E�\��� ��A��<�4�6�?�1�,�,�,��A��<�1����A�����!�V�V��u���!�q�&�&�T�E�\�\��I�A���<�� ��d�k�!�!�������#�#�����K�4�5�5�5�5�$�+�5�5�5�5�5��K�4�5�5�5�5�$�+�5�5�5�5�� ��A����� ��� ��N�N�.�/�/�/�/� �� ��N�N�?�+�+�+��A�v�v���� �� ��N�N�+�,�,�,��A�v�v�����N�N�5�!�!�!��B��������t�|�b�4�6�=�.@�@�A�A���v� � ��(�(�������������D��������� '�D�K�� '�� � ��&�&�&�&�&� '�� '�� '�� 'r���c�����������������������|�j������������������������������|�j��������������������}|����������������������|�������������|�������������������������������������d�S�rL���)rK��r���rW��rm��r���ro��s��� r���r���z Marker.set��s<�������v� � ���.�.�����D����� � �����r���c������������������"�����||�_���������d�|�_��������d�S�rL���)r[��r\��)r���r=���s��� r����set_poscommandzMarker.set_poscommand��s������!�������r���c������������������r�����||�j���������k����r||�j��������d<���||�_���������|�j�����������������������������|�������������d�S��NrZ��)rZ��rh��rK��r����r���rZ��s��� r���r���zMarker.setcursor��s>�������T�[� � �$*�D�K��!� �D�K������ � � � � r���c�����������������������|�j���������rJt����������t����������|�j��������������������������������}||�j��������k����r ||�_��������|�����������������������|�������������d�S�d�S�d�S�rL���)r[��r#���r$���rW��r\��)r���r\��s��� r���r���zMarker.setxvars��s_�������?�� (���t�|�,�,�-�-�F����$�$�$�������'�'�'�'�'� (�� (�$�$r���rL���)r���r���r���rV���re���rm��rb��r|��r���r}��r���r~��r���r��r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���rS��rS�����sy��������������������"<��<��<�1��1��1�A��A��A�.%��%��%�)��)��)� %�� %�� %�,��,��,�(��(��(�)��)��)�����������.-��-��-�'��'��'������0)��)��)�/��/��/������A'��A'��A'�F����� �����!��!��!�(��(��(��(��(r���rS��c������������������������e�Zd�ZdZdZdZdZ � � � � � �d.d�Zd��Zd ��Z d ��Z d/d �Zd��Zd��Z d��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd0d�Zd��Zd��Zd��Zd��Zd1d�Zd��Zd ��Zd!��Zd"��Zd#��Z d$��Z!d%��Z"d&��Z#d'��Z$d(��Z%d)��Z&d*��Z'd+��Z(d,��Z)d2d-�Z*dS�)3�Display�,��r�����d���F�Bars�Sizec����������� �������j ����||�_���������||�_��������||�_��������||�_��������||�_��������||�_��������||�_��������||�_��������t������������������������|�_ ��������|�j ��������� ��������������������|�������������t������������������������|�_��������|�j��������� ��������������������|�������������| |�_��������| |�_ ��������d|�_��������g�|�_��������g�|�_��������d|�_��������i�|�_��������d�|�_��������t)����������|dt*�����������������������x|�_��������}d}d} d}t)����������|�j��������������������}|���������������������dd��������������t1����������||�j��������|�j��������|| d|�j���������������������x|�_��������}t;����������|t<����������d � ������������|�_��������t1����������||d���������d|d|� ������������|�_ ��������t1����������||d���������d|d|� ������������|�_!��������t1����������||d���������dd|�������������|�_"��������t;����������|tF����������|�j$��������d|�������������|�_%��������t1����������|ddd|�������������}tM������������������������}||�_'��������d}tQ����������||dtR����������|����������������������������������|dtT����������tV����������z���tX����������z���tZ����������z�����������������|�j%�����������������������������|dtV����������tT����������z�����������������|dz ��}tQ����������|ddtR����������|�������������|�_.��������|�j.�����������������������������|dtT����������tV����������z���tX����������z���tZ����������z�����������������|�j!�����������������������������|dtT����������tV����������z���tX����������z�����������������|dz ��}|�j"�����������������������������|d��������������|���������������������|dtT����������tV����������z�����������������|dz ��}|���������������������|d��������������|�j �����������������������������|dtT����������tV����������z���tX����������z�����������������t_����������|d���������������������|�_0��������t_����������|d���������������������|�_1��������|��2����������������������������������|�_3��������d|�_4��������d|�_5��������|�j0��������|�j��������z��|�_6��������|�j1��������|�j��������z��|�_7��������d�|�_8��������|�9��������������������dddd�������������|�9��������������������dddd�������������|�:��������������������ddd� �������������|��;�����������������������������������|�j��������d!���������|�_<��������|�j<��������|�_=��������g�|�_>��������d�S�)"Nr���r���r����r�����#ccc�#e0e0e0r����)rT����height�xscrollincrement� background�bd�xscrollcommandr,���)�orientrT���rT���rr��)rT���r���r���r���r���r����2���)r���rT���r���r�������)r���r=���rT���r���)rT���r���r���r���)r����r���r����r���r�����Bytes)r����r���r����r���r�����,����1���r�����������������Sampler��rZ��)?rh���r7���numkindrows�getkindcolor�xrange�yrange�xgrid�ygridr"��� var_xgridr���� var_ygrid� graphtype�statyper����ymaxs�ymins�ymax� bound_motions�event_motion_idr����r���r��r�����Canvas�orgwidth� orgheight�xscrollbar_setre��� Scrollbar�VERTICAL� yscrollbar�xaxisri���yaxis� HORIZONTAL�drawingarea_xview� xscrollbarrN���� var_yrangerU����FLATr!��r����r'���S�yunitr!����botxrn���getchdim�chdim�canx0�tmaxr����yscale�xi0ry��r{���setscrollregionrY��rZ��r���)r���rh���r7��r���r���r���r���r���r���r���r���r���bordercolor�screencolorr����C�xyr��r����s��� r���rV���zDisplay.__init__#��s����������&���&���(����������� ��� �#���������5�!�!�!�#���������5�!�!�!�"�������� ��� ��� ��� �� ���#����#�6�/0�*0�%��%��%�� %�� �U���������d�j�!�!�� � � �q�� �#�#�#�� &�e�,0�M�-1�^�7G�1<�)*�59�5H� (�� (�� (�� (���1��$�E�(�"�E�E�E�����E�"#�G�*�#%�-=� �'2������� ���U�#$�W�:�$&�.>� !�(3����������E�!�H�+�R� �'2������� � �$�E�*�,0�,B�*,�/:�&��&��&�����E��B�1�*���������Y�Y� �$����� �e� ���$� &�� &�� &��'+�d����1��Q��q���'+��'"��'"��'"� � �����Q�q��s��;�;�;��q����5� '��"&�&1� 3��3��3�� � � � ������Q�3�q�5��7�� �� �� �� � � ����S��1�Q�3�q�5��9�9�9��q���� ���C���*�*�*� ���3�q��1���-�-�-��q��� ���C���"�"�"�� ���C��!�A�#�a�%��8�8�8��!�G�*�%�%�� ��!�H�+�&�&�� ��]�]�_�_�� ��� ��� ��i�$�+�-����i�$�+�-������ ���q�!�R��#�#�#� ���r�1�b�"�%�%�%� ���r�2�H��-�-�-��������'��1����l����� � � r���c�����������������������|�j���������d�k����r'|�j�����������������������������d|�j��������d�������������|�_���������|�j�����������������������������|d������������dz���|�j��������|<���|S�)Nz<Motion>r��rw��r���r���)r���r���bind_allr���r���r����)r���rk��s��� r���r���zDisplay.bind_motion���sc��������4�'�'�#'�:�#6�#6��D�-�3��$7��$8��$8�D� �'+�'9�'=�'=�h��'J�'J�Q�'N���8�$��r���c������������������n�����t����������|�j�������������������������������������������������������D�] }�||��������������d�S�rL���)�listr����keys)r���rn���r����s��� r���r���zDisplay.event_motion���sA�������d�(�-�-�/�/�0�0�� �� �A� �A�e�H�H�H�H� �� r���c������������������Z�����|�j���������|���������dz ��}|dk����r |�j���������|=�d�S�||�j���������|<���d�S�r���)r���)r����funcid�ns��� r���r���zDisplay.unbind_motion���sA��������v�&��*����6�6��"�6�*�*�*�)*�D��v�&�&�&r���Nr���c�����������������������dt����������|�j��������������������z��}|�|}t����������|�|||������������}|�j�����������������������������|�������������|S�)NzM%d)r����r���rS��rC���)r���r��rc��rV��r���s��� r����new_xmarkerzDisplay.new_xmarker���sL�������c�$�*�o�o�%���<��D��4��d�C�(�(��� ���!�����r���c������������������&�����||�j���������z��|�j��������z���S�rL���)r���r��)r����xs��� r���r���zDisplay.canxscaled���s�������4�;����+�+r���c�����������������������|�|�j���������z��S�rL���)r��)r����ys��� r���� canyscaledzDisplay.canyscaled���s�������s�T�[� � r���c������������������j�����|�j��������������������������������������������|�_��������|�������������������������������������d�S�rL���)r���r����r���� drawxaxisr}���s��� r���� cmd_xgridzDisplay.cmd_xgrid����-�������^�'�'�)�)�� ��������r���c������������������j�����|�j��������������������������������������������|�_��������|�������������������������������������d�S�rL���)r���r����r���� drawyaxisr}���s��� r���� cmd_ygridzDisplay.cmd_ygrid���r-��r���c������������������<�����d�|�_���������|�������������������������������������d�S�rL���)r����yrange_autor}���s��� r����cmd_yrange_autozDisplay.cmd_yrange_auto���s!�������� ��������r���c������������������Z�����d}t����������d|�j��������dz ��������������}||k�����r|S�||k����r|S�|S�rM��)r����r���)r���r&���lo�his��� r���r���zDisplay.limitx���s=������ �� ��D�M�!�O� $� $���r�6�6��I��r�6�6��I��r���c�����������������������|�j���������|z���}|�j��������|z���}||�j��������k�����r|�j��������}||�j���������z ��}||�j��������k�����r|�j��������}||�j��������z ��}|�j�������������������������������������������}|�j�������������������������������������������}|�j�����������������������������||��������������|�j�����������������������������|��������������|�j �����������������������������|��������������|�j �����������������������������|��������������t����������|������������|�j��������z��}t����������|������������|�j ��������z��}|�j�����������������������������d������������} d} ||�j��������z��}||�j��������z��}|�j�����������������������������d| | ||�������������| |�j��������| z ��|z��z���|�_��������||�_���������||�_��������||�_��������||�_��������|�������������������������������������|�������������������������������������|�������������������������������������|d���������|�_��������||fS�)N�rT���r���r����)r���r����all)r��rn���minwidth� minheightre��r����yviewr����r��ri��r��r!���r���r���r���r���r���scaler��r+��r/��r��� wantedpos) r���r����dyr&��r(���xv�yvr���r��� xscaleorg� yscaleorg�xq�yqs ��� r����resizezDisplay.resize���s�������I��N���I��N���t�}���� �A��T�Y��B��t�~�����A��T�Y��B� � � #� #� %� %�� � � #� #� %� %����"�"��1�"�5�5�5�� ���1��%�%�%�����A��&�&�&�� ���A��&�&�&��q���D�K�'���q���D�K�'���$�,�,�Q�/�/� �� � �d�k� !�� �d�k� !������u�i��B��C�C�C���$�*�y�"8�B�!>�>�� ��� ��� ���������������������������A�����2�v� r���c������������������x�����|�j���������������������������������������������|����������������������t����������|�j���������������������d�S�rL���)r���update_idletasksr����MOVETOr>��r}���s��� r����movebackzDisplay.moveback/��s2������� �#�#�%�%�%�� � �6�4�>�*�*�*�*�*r���c�������������������j�����t�����������������������������������������������t�����������������������������������������������d�S�rL���)r���r+��r/��r���r���r����drawzDisplay.draw3��s(�������������������r���c����������������������|�j���������}|�j��������}|���������������������|�j��������|������������}|dk����rt ����������d��|D���������������������������}nt ����������d��|D���������������������������}d��|D���������������}|������������������������������������|�j��������}||�_��������|�j��������} |�j��������} |�j ��������}||z��d|z��z ��|�j ��������z���}||z���} d}d}d}d|z��}d�}|D��]*}|���������������������|d������������}|s�|����������������������|������������}|dk����r_| � ��������������������||z���|�| z��| |z ��||z����| z��||dd � ������������}||k����r#| ���������������������||�| z��| |�| z��dd� �������������|}||z ��}��|dk����r�||k����r|}n||k�����r|}|���������������������|������������}|�|}|}n1|d|z��z ��}| ���������������������||�| z��| d|z��z ��|�| z��|d � �������������| ���������������������| d|z��z ��|�| z��| d|z��z ��|�| z��|dd ����������������,|dk����r||k����r|}n||k�����r|}|t����������|�j��������������������cxk����rt����������|�j��������������������k����sn�J��|�j�����������������������������|�������������|�j�����������������������������|�������������||�j��������k����r ||�_��������d�S�d�S�)Nr���c������������������*�����g�|�]}|j���������|j��������f��S�r���)r��r������.0r���s��� r���� <listcomp>z%Display.draw_stat.<locals>.<listcomp>=��s!������;�;�;��Q�V�Q�V�,�;�;�;r���c������������������*�����g�|�]}|j���������|j��������f��S�r���)r���countrO��s��� r���rQ��z%Display.draw_stat.<locals>.<listcomp>?��s!������<�<�<�!�Q�V�Q�W�-�<�<�<r���c�����������������������g�|�] }|j����������� S�r����r��rO��s��� r���rQ��z%Display.draw_stat.<locals>.<listcomp>@��s������&�&�&�A���&�&�&r�����������?r���g�������?r���)r0���)r�����outlinerT���ru��r����)�barsep)r����ru���Linesg�������?g333333�?r����)r����rT���ru��)r���r����get_rows_n_and_otherr����dict�reverse�lastkindvalre��r��r���r��r����r����create_rectanglery��r����r���r���rC���r��)r���r����r����r���r����rows�kindval�orderr]��r��r��r����x0�x1r����yminr(���bw�ocolor�kr?��r�����line�y0�x00s��� r���� draw_statzDisplay.draw_stat7��sf������N� ��,���(�(��)9�7�C�C���f����;�;�d�;�;�;�<�<�G�G��<�<�t�<�<�<�=�=�G�&�&��&�&�&�� � � �����&��"������������ �6�\�C�&�L� (�4�:� 5�� �&�[������ �� �&�[������( +��( +�A����Q��"�"�B��� ���%�%�a�(�(�E��F�"�"��)�)�"�R�%�!��F��*,�R�%�1�R�4����/4�27�01�/5��*��7��7����F�?�?��M�M�"��d�6�k�"$��d�6�k�'.�'2��"��4��4��4�����R�����g�%�%���9�9��D�D��$�Y�Y��D� �_�_�Q�'�'���:��B��C�C��s�V�|�+�C��M�M�#�"��v� �"$�s�V�|�"3��d�V�m�',�'-��"��/��/��/� �� � �b�3��<�/�B�$��-� �3��<�/�B�$��-�#(�$%�#)� ���+��+��+��������4�x�x�����T������c�$�*�o�o�8�8�8�8��T�Z���8�8�8�8�8�8�� ���$����� ���$�������?�?��D�I�I�I���?r���c�����������������������|dk����r8|dk����r2t����������t����������d|�j��������������������t����������|������������z��������������}|����������������������|||�������������d�S�)N�scroll�unitsr����)r#���r����r���r���)r����cmd�whatr��s��� r���r ��zDisplay.drawingarea_xview���sS�������(�?�?�t�w����s�1�d�k�*�*�3�t�9�9�4�5�5�D�� � �3��d�#�#�#�#�#r���c������������������V�����||�j���������k����r||�j��������d<���||�j��������d<���||�_���������d�S�d�S�r���)rZ��re��rh���r���s��� r���r���zDisplay.setcursor���s;�������T�[� � �)/�D��X�&�$*�D�K��!� �D�K�K�K��!� r���c������������������B�����|�j���������D�]}|�������������������������������������d�S�rL���)r���r���)r���r���s��� r����xmarkers_setzDisplay.xmarkers_set���s,��������� �� �A� �E�E�G�G�G�G� �� r���c�����������������������|s|�j��������������������������������������������S��|�j���������j��������|����|�j��������j��������|����|�j��������j��������|���d�S�rL���)re��r���r��ri���r���rW���s��� r���r���z Display.xview���s\�������� ,��#�)�)�+�+�+������%�%��� ��$�������4� � � � r���c������������������<�����|�����������������������t����������|�������������d�S�rL���)r���rI��)r����fractions��� r����xview_movetozDisplay.xview_moveto���s������� � �6�8�$�$�$�$�$r���r����c������������������$����|�|�������������������������������������d���������}|�j��������\��}}}}||||z ��z��z���} || z ��} |}|�j��������|z ��}| |k�����r| |z ��} |} n| |k����r| |z ��} |} nd} || t����������||z ��������������z��z���}|����������������������|�������������d�S�rU��)r����scrollregionr��r!���rx��)r���rc��rw��� leftmargin�rightmarginrc���y1�x2�y2�cc�xmr5��r6��r���r���s��� r���r���zDisplay.xview_pos���s�����������z�z�|�|�A��H��*���B��B� �(�b�2�g�&� &�� �2�X�� �� �Y�� $�� ��7�7��b��B��B�B� �2�X�X��r�'�B��B�B��B��r�E�"�r�'�N�N�*�*�����!�����r���c����������� �����������|�j���������}|�j�����������������������������d�������������|�j�����������������������������d�������������|�j��������\��}}}}|�j��������\��}}d}||���������|�j��������z��t����������dt����������t����������||���������|�j ��������z��������������������������������������|z��k�����rR|dz ��}||���������|�j��������z��t����������dt����������t����������||���������|�j ��������z��������������������������������������|z��k������R||���������|�_��������d} | D�]\��} }|�j��������| k����r�n�| |�_��������||�_ ��������d|�_��������|�������������������������������������d�S�)Nr9��r���r���r����r���))�����J)�z%dT)��ʚ;z%dG)�@B�z%dM)r���z%dK)r���r-���)r7��r��r>���re��rz��r��r����minr����r"���r���xstep�xdivi�xformr���updatexaxis)r���r7��rc��r}��r~��r���chdx�chdyr(����divisuf�divi�forms��� r���r+��zDisplay.drawxaxis���s_������&��� ���%� � � ������(�(�(��*���B��B��Z� ��d� ���1�~���+��1�c�#�k�!�n�t�y�8�9�9�:�:�;�;�d�B�C��C� ��F�A���1�~���+��1�c�#�k�!�n�t�y�8�9�9�:�:�;�;�d�B�C��C��!��^�� � ���"�� �� �J�D�$��z�T�!�!����"���� ��� �����������r���c����������� �������0����|�j���������\��}}|�j��������}|�j��������}t����������|�j��������|�j��������|z���|������������D�]�}|�j��������||�j��������z��z���}|�j��������� ��������������������|d|d�������������|r'|�j ��������� ��������������������|d||�j���������ddd��������������|�j��������||�j ��������z��z��}|�j�����������������������������|||����������������|�j��������� ��������������������|�j��������|�j��������|�j��������z��z���d||�j��������z���d�������������||�_��������|�������������������������������������d�S�) Nr���r����)r���r�����gray25)ru��rT���rt��r��r���)r��r���r���r?���r��r��r��r���r��ry��re��rn��r���r���r{��rs��)r���r���r����step�gridonr(���r&��r����s��� r���r���zDisplay.updatexaxis���s?������Z� ��d��z������t�x���4���6�6�� 8�� 8�A�� �Q�t�{�]�*�A��J�"�"�1�a��A�.�.�.��� Y�� �,�,�Q��1�t�y�j�2<�A�x��-��Y��Y��Y��:��T�Z��0�D��J�"�"�1�d�$�"�7�7�7�7�� ���t�z�D�H�#�{�-+�� +�,-�q���}�a� A�� A�� A������������r���c����������� �������x����|�j���������}|�j�����������������������������d�������������|�j�����������������������������d�������������|������������������������������������\��}}t����������|�j��������d���������������������}d}|�j��������}|�j��������|���������|�j��������z��d|z��k�����r!|dz ��}|�j��������|���������|�j��������z��d|z��k������!|�j��������|���������}d}|D�] \��} } || k����r�n�t����������d||z���|������������D�]�}|�|�j��������z��}|�j��������� ��������������������|dz ��||dz ��|�������������|r6|�j��������� ��������������������|�j��������d���������||�j��������d ���������|d d��������������| || z��z��}|�j�����������������������������|d z��|d|z��z ��|����������������|�j��������� ��������������������|dz ��d|dz ��|�j ����������������������|�������������������������������������d�S�)Nr9��r���rT���r�����������?r���))r���z%4dT)r���z%4dG)r���z%4dM)r���z%4dK)r���z%5dr����r����r���)r���)rt��ru��g������@rV��r��)r���r��r>���re��r��r#���r���r7��r��r?���ry��rz��r{��rn��rs��) r���r���r���r���rT���r(����maxvalr���r���r���r���r(��r����s ��� r���r/��zDisplay.drawyaxis���s��������� ���%� � � ������(�(�(��]�]�_�_� ��d��D�J�w�'�(�(�� ��������"�T�[�0�3��:�=�=� ��F�A�����"�T�[�0�3��:�=�=����"�� ���"�� �� �J�D�$��t�|�|�������q�&��+�t�,�,�� E�� E�A���D�K��A��J�"�"�5��7�A�u�Q�w��:�:�:��� >�� �,�,�T�->�q�-A�1�-1�->�q�-A�1�5=�2<��-��>��>��>���1�t�8�$�D��J�"�"�4��8�Q�s�4�x�Z�t�"�D�D�D�D�� � ���u�Q�w��5��7�T�Y�J�?�?�?��������r���c�����������������������|�j������������������������������ddd�������������}|�j������������������������������|������������\��}}}}|�j������������������������������|�������������t ����������||z ��������������}t ����������||z ��������������}||fS�)Nr���r.���r��)r��r{���bboxr>���r/���)r����chrc��r}��r~��r��r���r���s��� r���r��zDisplay.getchdim(��sw������ �Z� #� #�A�q�s� #� 3� 3�������,�,���B��B�� ���"�����2��7�|�|���2��7�|�|���T�z�r���c������������������J����|�j��������������������������������������������d���������} �d|�j��������������������������������������������d<���|�j���������������������������������������������t����������|������������|�_��������i�|�_��������d|�_��������d�|�_��������g�|�_��������g�|�_ ��������|�j ��������}|���������������������d�������������|���������������������d�������������t����������|������������D�]\��}}|�� ��������������������||�������������� �|�j �����������������������������dd�������������n#�t����������$�r�Y�nw�xY�w|�������������������������������������|�������������������������������������|�������������������������������������|�������������������������������������||�j��������������������������������������������d<���d�S�#�||�j��������������������������������������������d<���w�xY�w)NrZ���watchr���rX��r0���)r���winfo_toplevelr����r����r���r]��r��r���r���r���re��r>���� enumeraterk��r����TclErrorr+��r/��rs��r2��)r���r|���rY��r��r(���r����s��� r���� load_statszDisplay.load_stats1��s�������*�+�+�-�-�h�7�� <�4;�D�J�%�%�'�'��1��J��������J�J�D�M�!�D���D�I��D�I��D�J��D�J�� �A� �H�H�X���� �H�H�S�M�M�M�$�U�+�+�� &�� &���B����q�"�%�%�%�%� �� �*�*�8�S�9�9�9�9���� �� �� ��� ����� �N�N�����N�N����������������4;�D�J�%�%�'�'��1�1�1��G�D�J�%�%�'�'��1�;�;�;�;s1����CF��*D��F�� D�F��D�AF��F"c�����������������������t����������|������������D�]#\��}}|����������������������||�j��������z���|��������������$|�xj��������t����������|������������z ��c_��������|�������������������������������������|�������������������������������������d�S�rL���)r���rk��r���r����r���r��)r���r|���r(���r����s��� r���� add_statszDisplay.add_statsT��sz������ ��'�'�� 0�� 0�G�Q���N�N�1�T�]�?�B�/�/�/�/�� � ��U���#� � ��������������r���c������������������<�����||�_���������|�������������������������������������d�S�rL���)r���r+���r���r����s��� r����setxgridzDisplay.setxgrid[����������� ��������r���c������������������<�����||�_���������|�������������������������������������d�S�rL���)r���r/��r���s��� r����setygridzDisplay.setygrid_��r���r���c�����������������������|����������������������d������������\��}}||�j��������k����s||�j��������k����rN||�_��������||�_��������|dk����rd|�j��������d<���n|dk����rd|�j��������d<���nt�����������|����������������������|�������������d�S�d�S�)N� r���r���r�����Count�Objects)r����r���r���r��r5���r���)r����gmoder|���r���r���s��� r����setgraphtypezDisplay.setgraphtypec��s�������"�[�[��-�-�� �7����&�&�'�T�\�*A�*A�&�D�N�"�D�L��&� � �%,�� �6�"�"��G�#�#�%.�� �6�"�"� � ��O�O�E�"�"�"�"�"��+B�*Ar���c�����������������������|�j���������}|�j��������}|�j��������}|�j��������|�j��������z��|�j��������z���}|dz��dz���}|dz��dz���}||z��}||z ��}d|�j��������z ��}d}||||f|�_��������|���������������������|�j����������������������|�j�����������������������������|d|df��������������|�j �����������������������������|d|df��������������|�j �����������������������������d|d|f��������������|�j������������������������������t����������d�������������d�S�)Nr����r���)rz��r���r,���rr��r���) re��r��r��r��r���rn��rz��r����r��ri��r��r<��rI��) r���r��r��rc��r~���x1extra�x2extrar}��r��s ��� r���r��zDisplay.setscrollregionp��s���������y�� �Z�� �Y��� $�t�z� 1����(�Q�,����(�Q�,�� �g� �� �g� �� �t�y�[�� ����R��,��� ����!2��3�3�3�� ���2�q�"�b�/��:�:�:�����B��2�r�?��;�;�;�� ���1�b�"�b�/��:�:�:�����v�s�+�+�+�+�+r���c������������������ ����|�j���������t����������|������������z��}||�_���������|�j�����������������������������|�j��������dz��������������}|�j�����������������������������d|d|d�������������|�j�����������������������������d|d|d�������������||�j��������|z ��|z��z���|�_��������|�j��������t����������|�j���������������������z��|�_��������|����������������������t����������d|�j���������������������������������|�� �����������������������������������|�������������������������������������d�S�)Nr����r0���r�����������?rX��)r���r!���re��r���r��r=��r��r����setxscrollincrementr����r+��r��)r���r����dxrangerB��s��� r���� setxrangezDisplay.setxrange���s��������+��f� � �-������$�,�,�T�Y�q�[�9�9� �����s�I�q�'�3�?�?�?�����x��A�w��D�D�D��$�*�y�"8�G�!C�C�� ��i�%���"4�"4�4���� � ��Q���!4�!4�5�5�5��������������r���c�����������������������d�S�rL���)re��r����r��ri��)r���r���s��� r���r���zDisplay.setxscrollincrement���s�������r���c����������������������t����������|�j��������������������|z��}||�_��������|�j�����������������������������|�������������|�j�����������������������������dddd|�������������|�j�����������������������������dddd|�������������t����������|�j��������������������|�j��������z��|�_��������|�j�����������������������������t����������d�������������|�� �����������������������������������d�S�)Nr0���r���r���rX��r���)r!���r���r��r���re��r=��rn��r��r<��rI��r/��)r���r����dyranges��� r���� setyrangezDisplay.setyrange���s����������$�$�v�-���������F�#�#�#�����s�A�q�#�w�7�7�7�����x��A�s�G�<�<�<��D�I�&�&���4�������v�s�+�+�+��������r���c������������������d�����|�j������������������������������||�������������|�������������������������������������d�S�rL���)r ��r���r2��)r����first�lasts��� r���r��zDisplay.xscrollbar_set���s2����������E�4�(�(�(��������r���c����������� �������>����|s|�j���������j�������������������������������������������r�t����������dt ����������d|�j�����������������������������d������������|�j��������z ��|�j��������z��z���������������������������}t����������t����������|�j��������������������t ����������d|�j�����������������������������|�j��������������������|�j��������z ��|�j��������z��z���������������������������}||k����rd}nt����������|�j��������||����������������������}||�j ��������k����r%||�_ ��������|�j������������������������������|�������������d�S�d�S�d�S�)Nr���rV��r���r���)�ycontrolr#��r����r����r#���re��r���r��r���r���r����r���r��r���rH��)r����forcer5��r6��r���s��� r���r2��zDisplay.yrange_auto���s������� (�D�M�)�-�-�/�/�� (��Q���d�.�6�6�q�9�9�D�J�F�$�+�U�U�V�V�X��X�B��S���_�_���d�.�6�6�t�y�A�A�D�J�N�RV�R]�]�]�^�^�`��`�B��R�x�x�����4�:�b��e�,�-�-���t�y� � � �� �� �!�!�$�'�'�'�'�'� (�� (��!� r���)r���r���FFr���r���rU��rL���)Nr����r����r����)+r���r���r���r���r��r:��r;��rV���r���r���r���r$��r���r)��r,��r0��r3��r���rF��rJ��rL��rk��r ��r���rs��r���rx��r���r+��r���r/��r��r���r���r���r���r���r��r���r���r���r��r2��r���r���r���r���r�����s~��������������H��I��H��I������!��b��b��b��b�H����������+��+��+��������,��,��,�!��!��!���������������������1��1��1�f+��+��+������T��T��T�l$��$��$��$�!��!��!������!��!��!�%��%��%��������<�����@�����,+��+��+�Z�����!<��!<��!<�F���������������#��#��#�,��,��,�. �� �� �3��3��3� �� �� ������(��(��(��(��(��(r���r���c��������������������:�����e�Zd�Zd��fd�Zd��Zd��Zd��Zd��Zd d�ZdS�) � MarkerControlc������������������������dS�rU��r���r���r���r���r��zMarkerControl.<lambda>���s������A��r���c����������� ��������������d��_���������d��_��������|��_��������|��_��������|j����������_��������t����������|dt�����������������������x}��_��������t��������������������������_ ��������t����������|d|j��������z������������������������������������dd��������������t����������|��j ��������ddd � ���������������������������������dddd� �������������t����������|ddd��fd�����������������������������������ddt������������������������t����������|ddd��fd�����������������������������������ddt������������������������t��������������������������_��������t#����������|dd��j��������t$������������j��������d���������������_����������j�����������������������������ddd��������������d�S�)Nr���r����r����z %s sampler��r����)�terminal�16�boldr�����yellow)r����r����r�����fgr���r����r��r ���r����c�������������������.������������������������������d������������S�r����changesampler}���s����r���r��z(MarkerControl.__init__.<locals>.<lambda>���s�������D�$5�$5�b�$9�$9��r���)r����r ��r��r=���r����r��c�������������������.������������������������������d������������S�r ��r���r}���s����r���r��z(MarkerControl.__init__.<locals>.<lambda>���s�������D�$5�$5�a�$8�$8��r����Track)r����r��r����r����r=����indicatoron)r����r����r��)r���� numsamples� setcommand�markerr��r����r����r��rN���� samplevarrU���r����r[���r����r!��r"���trackingvarr%��r&���settracking�trackbutton)r���rh���r���r����sfs���` r���rV���zMarkerControl.__init__���s��������������$�������K�� ���A�f�E�E�E�E��T�Z� ����� �b�{�V�[�0�1�1�1�6�6�1�Q�6�G�G�G� �b��>�-��X� �� �� �����1�1�1��5�5�5��B�S���9�9�9�9� ;�� ;�� ;�;?�4�A�a�XY�4�;Z�;Z�;Z��B�S���8�8�8�8� :�� :�� :�:>�$�1�Q�WX�$�:Y�:Y�:Y�%�<�<���&��W���%���$�� �� �� ���� ����!�A�!��<�<�<�<�<r���c������������������t�����|�j���������|z���}d|cxk����r|�j��������k�����rn�d�S�|����������������������|�������������d�S�d�S�rU��)r���r���� setmarker)r���rK��r���s��� r���r���zMarkerControl.changesample���sT��������q�����(�(�(�(���(�(�(�(�(�(��N�N�6�"�"�"�"�"��)�(r���c������������������d�����|�j������������������������������|�������������|����������������������|�������������d�S�rL���)r���r���� setsample�r���r���s��� r���r���zMarkerControl.setmarker���s0����������� � � ����v�����r���c�����������������������||�_���������|�j�������������������������������������������s|�j��������|�j���������k����r-|����������������������t����������d|�j���������dz ���������������������������d�S�d�S�rM��)r���r���r����r���r���r����)r����nums��� r���� setnumsampleszMarkerControl.setnumsamples���s`�������������!�!�� 6�T�[�D�O�%C�%C��N�N�3�q�$�/�!�"3�4�4�5�5�5�5�5��&D�%Cr���c������������������p�����||�_���������|�j�����������������������������|�������������|�������������������������������������d�S�rL���)r���r���r���r���r���s��� r���r���zMarkerControl.setsample���s5�������������6�"�"�"��������r���Nc������������������������|�|�j������������������������������|�������������n|�j��������������������������������������������}|r-|����������������������t ����������d|�j��������dz ���������������������������d�S�d�S�rM��)r���r���r����r���r����r���)r����trackings��� r���r���zMarkerControl.settracking���sq���������� � ��*�*�*�*��'�+�+�-�-�H��� 6��N�N�3�q�$�/�!�"3�4�4�5�5�5�5�5� 6�� 6r���rL���) r���r���r���rV���r���r���r���r���r���r���r���r���r���r������s����������������&�I�!=��!=��!=��!=�F#��#��#� �����6��6��6� ����� 6��6��6��6��6��6r���r���c��������������������(�����e�Zd�Zdd�Zd��Zd��Zd��ZdS�)�WindowNc�����������������������||�_���������||�_��������||�_��������|�����������������������������������|�_��������d|�_��������|j��������|�_��������|�j��������|_��������d�S�rU��) �appr��� windowmenu�title�wtitle� _is_destroyed�destroy�old_destroy�new_destroy)r���r���r��r���s��� r���rV���zWindow.__init__���sH����������� �$����k�k�m�m�������!�=����(�� � � r���c�����������������������|�j���������rd�S�d|�_���������|�j�����������������������������|�������������� �|�������������������������������������d�S�#�t����������$�r�Y�d�S�w�xY�wr ��)r���r���� del_windowr���r���r}���s��� r���r���zWindow.new_destroy��sq��������� ��F��������D�!�!�!� ������������ �� �� �� �D�D� ���s����A�� A�Ac�����������������������|�j������������������������������|�������������|�j������������������������������|�������������||�_��������|�j�����������������������������|��������������d�S�rL���)r��r����iconnamer���r���� chg_window)r���r���s��� r���r���zWindow.title��sQ������� �������� ���E�"�"�"��������D�!�!�!�!�!r���c�����������������������|�j���������} �|�����������������������������������dk����r|������������������������������������|������������������������������������d�S�#�t����������$�r�Y�d�S�w�xY�w)N�iconic)r���wm_state�wm_deiconify�tkraiser���)r���r��s��� r����wakeupz Window.wakeup��sl������� �� ��~�~���8�+�+��"�"�$�$�$��M�M�O�O�O�O�O����� �� �� �� �D�D� ���s����A�A�� A�ArL���)r���r���r���rV���r���r���r���r���r���r���r���r������sU�������������� )�� )�� )�� )������"��"��"���������r���r���c��������������������&�����e�Zd�Zd��Zd��Zd��Zd��ZdS�)� WindowMenuc�����������������������t����������|d�������������|�_��������t����������|�j��������������������|�_��������|�j��������|�j��������d<���||�_��������i�|�_��������d�S�)Nr���r��r����)r ���buttonr;���r����r�����wmap)r���r��r����s��� r���rV���zWindowMenu.__init__'��sG������ ��X�6�6�6������%�%�� �"�i���F�� �� ��� � � r���c������������������������|�j������������������������������|j��������d|j��������|j��������fz��|j��������|�j����������������������|�j������������������������������t����������������������|�j��������|j��������<���d�S��Nz%d %s)r=���r����r ���r����) r�����add_radiobuttonr����widr���r����r@����ENDr����r���rv��s��� r���� add_windowzWindowMenu.add_window.��se������� �!�!��M��V�Z���7�7��*��]� � "�� $�� $�� $� �!%� ���� 4� 4�� �&�*���r���c������������������������|�j������������������������������|�j��������|j������������������������������|�j������������������������������|�j��������|j�����������������|j��������d|j��������|j��������fz��|j��������|�j����������������������d�S�r���)r����r>���r���r����insert_radiobuttonr���r���r����r��s��� r���r���zWindowMenu.chg_window6��sv������� �����6�:�.�/�/�/�� �$�$��I�f�j�!��M��V�Z���7�7��*��]�� %�� $�� $�� $�� $�� $r���c������������������:����|�j���������|j�����������������}|�j���������|j��������=� �|�j�����������������������������|�������������n#�t����������$�r�Y�nw�xY�wt����������|�j��������������������������������������������������������D�](}|�j���������|���������|k����r|�j���������|xx���������dz��cc<����)d�S�r ��)r���r���r����r>���r���r��r��)r���rv��r����r���s��� r���r���zWindowMenu.del_window?��s��������i�� �#���I�f�j�!� ��I���S�!�!�!�!���� �� �� �� �D� ������� ���(�(�)�)�� $�� $�C��y��~��#�#�� �#����!�#����� $�� $s����<�� A �A N)r���r���r���rV���r��r���r���r���r���r���r���r���&��sP�������������������5��5��5�$��$��$�$��$��$��$��$r���r���c��������������������@�����e�Zd�Zd��Zd��Zd d�Zd��Zd��Zd��Zd��Z d ��Z dS�)� ProfileAppc�����������������������||�_���������t������������������������}||�_��������|������������������������������������i�|�_��������i�|�_��������t ����������|������������|�_��������d�S�rL���)rv����Tk�root�withdraw�windows�windowmenus�IntVar� var_window)r���rv���r��s��� r���rV���zProfileApp.__init__N��sF����������t�t���� �� � ���������� ��,�,����r���c�������������������������t����������dgt������������j�������������������������������������������������������z���������������dz����_�����������j���������j��������<���t�����������dd�������������}|rQ|��j���������j��������<���t������������j�������������������������������������������������������D�]}|�ur|���������������������|��������������t������������j�������������������������������������������������������D�]}|��������������������������������������j ��������� ���������������������j����������������������j�����������������������������d���fd�d���������������j�����������������������������d��fd �d��������������d�S�) Nr���r���r���z <FocusIn>c������������������B�������j�������������������������������j��������������������S�rL���)r��r���r���)rn���r���rv��s��� ��r���r��z'ProfileApp.add_window.<locals>.<lambda>d��s���������(;�(;�F�J�(G�(G��r���r��rw��z<Deactivate>c������������������8�������j������������������������������d������������S�rU��)r��r���)rn���r���s��� �r���r��z'ProfileApp.add_window.<locals>.<lambda>f��s���������(;�(;�A�(>�(>��r���) r����r��r ��r��r����getattrr���valuesr��r��r���r��re���)r���rv���wm�ws���`` r���r��zProfileApp.add_windowW��sr��������!��T�$�,�"3�"3�"5�"5�6�6�6�7�7��9�� �#)���V�Z� � �V�\�4� 0� 0�� �� %�+-�D��V�Z�(��$�,�-�-�/�/�0�0�� %�� %���F�?�?��M�M�!�$�$�$���t�'�.�.�0�0�1�1�� "�� "�B��M�M�&�!�!�!�!�����F�J�'�'�'�����+�G�G�G�G�G�S�� �� R�� R�� R�����.�>�>�>�>�C�� �� I�� I�� I�� I�� Ir���Nc������������������R�����t����������|�||������������}|����������������������|�������������|S�rL���)r���r��)r���r��r���r��s��� r����add_window_framezProfileApp.add_window_frameh��s*�������4�� �+�+����������r���c�����������������������t����������|�j�������������������������������������������������������D�]}|���������������������|��������������d�S�rL���)r��r��r��r���)r���rv��r��s��� r���r���zProfileApp.chg_windowm��sG�������t�'�.�.�0�0�1�1�� "�� "�B��M�M�&�!�!�!�!� "�� "r���c����������������������|j���������}t����������|dd�������������r|�j��������|=�|�j��������|=�t ����������|�j�������������������������������������������������������D�]}|���������������������|��������������|�j��������s|�������������������������������������d�S�d�S�)Nr���)r���r��r��r ��r��r��r����exit)r���rv��r���r��s��� r���r���zProfileApp.del_windowq��s��������j���6�<��.�.�� &�� ��%��L����t�'�.�.�0�0�1�1�� "�� "�B��M�M�&�!�!�!�!��|�� ��I�I�K�K�K�K�K� �� r���c����������������������� �|�j���������������������������������������������n#�t����������$�r�Y�nw�xY�w|�j���������������������������������������������d�S�rL���)r��r���r����quitr}���s��� r���r��zProfileApp.exit{��sV������ ��I���������� �� �� ��D� ����� �������s������ )�)c������������������4�����|�j��������������������������������������������S�rL���)r���mainloopr}���s��� r���r ��zProfileApp.mainloop���s�������y�!�!�#�#�#r���c������������������"�����t����������|�|������������S�rL���)�ProfileBrowser)r����filenames��� r����new_profile_browserzProfileApp.new_profile_browser���s�������d�H�-�-�-r���rL���)r���r���r���rV���r��r��r���r���r��r ��r$��r���r���r���r��r��M��s���������������'��'��'�I��I��I�"������� "��"��"�����������$��$��$�.��.��.��.��.r���r��c��������������������&�����e�Zd�Zd��Zd��Zd��Zd��ZdS�)�PaneDivc����������������������t����������|������������x|�_��������}||�_��������dx|�_��������}|dz��dz���x}|�_��������d}t����������|d|�������������|�_��������|�j�����������������������������|d||dd� �������������|�j�����������������������������|dz���d|dz���|d d� �������������t����������|d|�j��������|�j��������t����������d�������������|�_ ��������t����������|dd d�������������|�_ ��������|�j�����������������������������ddt������������������������|�j �����������������������������ddt������������������������|�j �����������������������������ddt������������������������|�j ��������� ��������������������d|�j���������������������|�j ��������� ��������������������d|�j���������������������d�S�)Nr����r����r����r,���r8��r����#808080r����r����rT���r����� crosshair)rZ��rT���r���r����r���r���)rT���r���r���r����r_���r`���)r����r���movecommand�butsize�butcentr����topry��r&���rsbut�botr����r'��re����but_down�but_up)r���rh���r+��r���bs�bc�hs��� r���rV���zPaneDiv.__init__���s������"�6�]�]�*�� �U�&�������r���F�Q�J�&��T�\������� �� �� ���� ������2�q�y��� �� 3�� 3�� 3������q�D�!�R��T�1�7�!�� �� 5�� 5�� 5������,��<��� �� �� �� ������� �� �� ���� �� � �!�A�a� �0�0�0�� ���A�a���2�2�2��� � �!�A�a� �0�0�0�� ����d�m�4�4�4�� ���+�T�[�9�9�9�9�9r���c������������������T�����||�_���������|�j�����������������������������t������������������������d�S��N)r����)r���r/��r����r���rr���s��� r���r1��zPaneDiv.but_down���s(���������� ���F��+�+�+�+�+r���c�����������������������|�j������������������������������t������������������������|j��������|�j��������j��������z ��}|����������������������|�������������d�S�r7��)r/��r����r&��r&��r���r+��)r���rn���r���s��� r���r2��zPaneDiv.but_up���sF������� ���F��+�+�+� �W�t��(� (����������r���c�����������������������|dz ��}||�j���������d<���|�j��������}|�j������������������������������|d||dd��������������|�j������������������������������|dz���d|dz���|dd��������������d�S�)N����r���r���r(��r���r)��r����)r0��r-��ry��)r���r���r5��r4��s��� r���� setheightzPaneDiv.setheight���s��������R�K������� �\��������2�q�y��� �� 3�� 3�� 3������q�D�!�R��T�1�7�!�� �� 5�� 5�� 5�� 5�� 5r���N)r���r���r���rV���r1��r2��r;��r���r���r���r&��r&�����sQ��������������':��':��':�R,��,��,������ 5�� 5�� 5�� 5�� 5r���r&��c�������������������� �����e�Zd�Zd��Zd��Zd��ZdS�)� TableFramec����������������������||�_���������|j��������|�_��������t����������|dt�����������������������x}|�_��������d}t������������������������|�_��������t������������������������|�_��������t������������������������|�_ ��������|�j ��������� ��������������������d�������������t����������|������������}t����������||�j ��������ddd������������}|���������������������ddt������������������������t����������|d� ���������������������������������dd t������������������������t����������||dd� ���������������������������������ddt����������d��������������t����������|d� ���������������������������������ddt������������������������t����������||�j������������������������������������������ddt������������������������t����������|d� ���������������������������������d ddt������������������������t����������||�j������������������������������������������d ddt������������������������|���������������������|dt������������������������|d z ��}|} t����������|������������} d}t����������| d� ���������������������������������|d��������������t����������| d� ���������������������������������|d t������������������������t����������| d� ���������������������������������|dt������������������������t����������| d� ���������������������������������|dt������������������������t����������| d� ���������������������������������|dt������������������������t����������| d� ���������������������������������|dt������������������������|d z ��}g�|�_��������t#����������| |������������|�_��������|�j�����������������������������|�j���������������������|d z ��}t)����������|d z���������������D�]1}t#����������| |������������}|�j�����������������������������|�������������|d z ��}�2| }| ���������������������|dt������������������������|d z ��}d|�_��������t"����������j��������|�_��������d�S�)Nr����r����r����R�LzR-Lr����r���r��r���r����r���)r����r���� foregroundr����)r����r����r����r ���at)r����r����z Total size = )r����r����r��r����)r����r���r����z%Rz%L�Kindr����)�graphrv���r����r����r��r ����marktimerN���� totsizevar�samplerr���� OptionMenur����r!��rU���r�����profrowsr�����totrowrC���r?���� totresizer����) r���rD��rh���r���r���r��r�����fr�om�orow�tbr(����profrows ��� r���rV���zTableFrame.__init__���s�������� ��9���"�6�q��H�H�H�H��� ���!���� �!�)�)��� �{�{����������� �5�\�\�� ��D�L�#�s�E� :� :�� ���A�a���*�*�*� �b�x� � � �%�%�!�A�a�%�@�@�@� �b�y�W��� �� �� ����1�Q�Q��7�7�7� �b�t����!�!�a��!�!�<�<�<� �b�t�}�-�-�-�2�2��!�A�� 3�� '�� '�� '� �b��'�'�'�,�,��!��!�� -�� 5�� 5�� 5� �b�$�/�*�*�*�/�/��!��!�� 0�� 5�� 5�� 5� ���C��!��,�,�,��q����� �5�\�\���� �b�r������C���2�2�2� �b�s����"�"�s�1�Q�"�?�?�?� �b�t����!�!�c�!�A�!�>�>�>� �b�u����$�$��Q�q�$�A�A�A� �b�t����!�!�c�!�A�!�>�>�>� �b�v����#�#��A�a�#�@�@�@��q����� � ��S�)�)���� ���T�[�)�)�)��q����{�1�}�%�%�� �� �A� ��S�)�)�G��M� � ��)�)�)��1�H�C�C��� ���C��!��,�,�,�� �q������#�-����r���c����������������������t����������|������������}|�xj��������|z ��c_��������t����������|�j��������d������������\��}}t����������j��������|z���}|�j��������d���������j��������d���������}|dk�����r d}||z ��dz��|z���}|�j��������D�]_}||j��������d<���||_��������|dz��|j��������d<���dd�l}|���������������������|j ��������|j���������������������} |� ��������������������|j ����������������������`||fS�)N����r���rT���r,���r����r��r����)r#���rK���divmodr����r����rI��r����r����r����r����r����) r���r���r?��� charresize�extra�newwidth�oldwidth�prr����r����s ��� r���rF��zTableFrame.resize��s������� ��W�W�����"����"�4�>�1�5�5�� �E��'�*�4���=��#�(��1���b�=�=��H��X�%��*�U�2�B��-�� %�� %�B�'�B�G�G��#�B�L�#�a�i�B�G�F�O��O�O�O��}�}�R�[���}�E�E�H��K�K���$�$�$�$��2�v� r���c������������������������|�j������������������������������|�j��������j�����������������������������|�j��������j�����������������������������|j��������j���������������������������������������������d�S�rL���)rE��r���rv����time�asctime� localtimer�����timemaderI��r����r!���r����rJ��r����r���r_���kindrowsr��rD��r���) r����lsamp�rsamprX���rdiv�ldivr(���r���r���s ��� r���r����zTableFrame.update��sS������� ���$�(�-�/�/��H�M�#�#�E�J�$7�8�8�:��:�� ;�� ;�� ;�� �r���N)r���r���r���rV���rF��r����r���r���r���r=��r=�����sB��������������8.��8.��8.�t�����&��������r���r=��c�������������������������e�Zd�Zdd�Zd��ZdS�)�ColSpecr���c������������������h�����||�_���������||�_��������||�_��������||�_��������||�_��������||�_��������||�_��������d�S�rL���)�tf�headerr��rT���rc���renderr����)r���rf��rg��rT���rc��rh��r����s��� r���rV���zColSpec.__init__8��s7�������������� ��� �����������r���c������������������������d|�j���������t����������|������������z ��z��}|�j��������t����������k����r||z���}n#|�j��������t����������k����r|d�d����������|z���dz���}nJ��t����������|������������|�j���������k����sJ��|S�)Nr���r���)rT���r����rc��r�����RIGHT)r���r�����sps��� r����alignz ColSpec.alignA��sy������ �$�*�s�4�y�y�(� )���8�t����"�9�D�D� �X�� � ��c�r�c�7�T�>�C�'�D�D��H��4�y�y�D�J�&�&�&�&��r���N)r���)r���r���r���rV���rl��r���r���r���rd��rd��7��s7��������������������� �� �� �� �� r���rd��c��������������������l�����e�Zd�Zd��Zd��Zd��Zd��Zd��Zd��Zd��Z d��Z d ��Zd ��Zd��Z d��Zd ��Zdd�Zdd�ZdS�)r=��c������������������z������|��_���������|j����������_��������t����������|dt�����������������������x}��_��������i���_��������g���_��������d��f��fd� }�|ddt������������j��������d����������������|dd t������������j ����������j��������g��������������|d d t������������j��������d����������������|dd t������������j ����������j ����������j��������gd ����������������|d d t������������j��������d����������������|ddt������������j���������������������d}��j��������D�]}||z ��}�d��_��������d��_����������j��������d�����������_����������j��������j����������_��������|��j��������z ����_��������d��_��������d��_��������|dz ��}|x��_����������_��������t2����������}|d���������}t4����������} d��_��������t9����������|||dd��j��������| |���������������_��������t9����������|||dd��j��������| |���������������_��������t����������|��������������_��������d��_ ��������t9������������j��������||dd| d|��j����������j ���������� ��� ����������_!��������tE������������j��������dtF������������j!��������j$�����������������������_%��������tM������������j%��������d���������������������dz�����_'��������d��_(��������d��_)��������tM������������j!��������d�����������������������_*��������d} d}��j���������+��������������������tX����������tZ����������z���| |����������������j���������+��������������������tX����������tZ����������z���| |����������������j!���������+��������������������t����������tX����������tZ����������z���| |� ���������������j���������+��������������������tX����������tZ����������z���| |��������������d�S�)!Nr����r����c�����������������������dS�)Nr���r����r&��s��� r���r��z%TableFrame.__init__.<locals>.<lambda>[��s������R��r���c������������������������t����������|������������r|gt����������|�������������z��}�j�����������������������������|�������������t ����������|�|������������D�],\��}}t�����������||||�||������������������������}|�j��������|<����-d�S�rL���)�callabler����� colwidthsrC����ziprd���colspecs)�namesrT���rc���put�idxfuncr���specr���s��� �r����defcolz#TableFrame.__init__.<locals>.defcol[��s����������}�}�� '��e�C��J�J�&���N�!�!�%�(�(�(� ���_�_�� +�� +� ��c��t�T�5�#�s�G�G�D�M�M�J�J��&*�� �d�#�#� +�� +r�����A�Br����c�����������������������|�S�rL���r���rp��s��� r���r��z%TableFrame.__init__.<locals>.<lambda>c��s������Q��r����r���r���rR���z%A:Totz%B:Totc�����������������������|�d���������S�r ��r���rU��s��� r���r��z%TableFrame.__init__.<locals>.<lambda>f��� ������T�!�W��r���)�B-A�A-B�Cumulc������������������@�����d|�����������������������d������������gd|�v����������S�)Nr���r ���)r����rU��s��� r���r��z%TableFrame.__init__.<locals>.<lambda>h��s������R����C���1�#��+�>��r���c�����������������������|�d���������S�r ��r���rU��s��� r���r��z%TableFrame.__init__.<locals>.<lambda>j��r���r����rC��rr��r���rC��r,���r���rZ��r���)rT����wrapr���r���r��r����rZ������r���) rT���r���r���r���r����� takefocusrZ��r��r ��)rT���r���r=���rT���r����r���)r����r��r ��)�sider����r��r ��).rD��rv���r����r���r��ru��rs��r�����putcolorrj���putsize�putcount� putpercent�putdiff�putcumul�putkind� totxresize� totyresize�kindcolrT����orgkindwidth�widthbeforekind�minkindwidth� mintextheightr����NONEr���minpadx�Text�tothead�rowhead�tsframe�textminpadyr����r��r��r<��� scrollbarr#����scrollbar_totwidth�uses_scrollbar�auto_scrollbar� orgtextheight�packr'��r!��)r���rD��rh���r��rz��rT���r��r���rZ��r����r��r ��s���` r���rV���zTableFrame.__init__N��s��������� ��9���"���� �� �� �� ��� ���� ����3?�<�� +�� +�� +�� +�� +�� +�� ��z�1�d�D�M�;�;�?�?�?��� �!�U�T�\�4�=�,I�J�J�J���#�Q���� 4� 4� 6�� 6�� 6���&��5�4�<���t�}�2]�>�>� @�� @�� @���#�Q���� 4� 4� 6�� 6�� 6���y�"�d�D�L�1�1�1������ �� �A��Q�J�E�E��������}�V�,��� �L�.���$�t�'8�8��������� �� ��%*�*�� �T�]�����!����������������� �� �� �������������� �� �� �����U�|�|��������L���� �������!� �� �� �� ��#��L����I�O� �� �� ����#&��N�7�#�#%��#%�'(�#)���� ������ ���8�!4�5�5������������1��4�d��;�;�;������1��4�d��;�;�;�� ���D��1��4�d��C�C�C������1��4�d��;�;�;�;�;r���c�����������������������|�j���������������������������������������������t����������|�j��������������������������������������������������������|�j��������z��|�_��������t����������|�j��������������������������������������������������������|�j��������z��|�_��������t����������t����������|�j��������������������������������|�_��������t����������t����������|�j��������������������������������|�_��������|�j��������|�j��������z��|�_��������|�j��������|�j��������z��|�_��������d�S�rL���) r����r����r!���r���rT���r���r���r���r���r#���r$����pixwidth� pixheightr}���s��� r����setchdimzTableFrame.setchdim���s�������� �������$�)�/�/�1�1�2�2�T�Z�?�� ��$�)�0�0�2�2�3�3�d�6H�H�� ���d�i�(�(�)�)�� ���d�i�(�(�)�)�� �� �T�Y�.�� ���d�i�/����r���c������������������@����|�j���������j��������dk����r|���������������������d������������}d}n:|�j�����������������������������|�j���������j��������������������f}|���������������������d������������}|�j�����������������������������d||f�������������|�j�����������������������������||dd��������������d�S�)N�<Total>r���r����@�end)r����12r���)rA��r���r����)�colorowr��rl��rD��r���r�����insert� tag_config)r����colr����r����s��� r���r���zTableFrame.putcolor���s��������<�� �)�)��9�9�S�>�>�D��E�E��J�+�+�D�L�,=�>�>�?�E��9�9�S�>�>�D�� �����u�h�/�/�/�� ���U�u��"<�� �� ?�� ?�� ?�� ?�� ?r���c������������������x�����d|�_���������|�j��������j��������}|�xj��������|z ��c_��������|����������������������||�������������d�S�)Nr���)�valmoder���rS���cumulval�putval)r���r���rS��s��� r���r���zTableFrame.putcount���s=�����������"��� � ��� � ����C������r���c������������������x�����d|�_���������|�j��������j��������}|�xj��������|z ��c_��������|����������������������||�������������d�S�)Nr���)r���r���r����r���r���)r���r���r����s��� r���r���zTableFrame.putsize���s=����������|� ��� � ��� � ����C������r���c������������������~�����||�_���������|����������������������|���������������������t����������|�������������������������������������d�S�rL���)�curval�aprl��r*���)r���r����vals��� r���r���zTableFrame.putval���s3������������� � �*�S�/�/�*�*�+�+�+�+�+r���c����������������������|�j���������|j�����������������}|�j��������dk����r|j��������}n|�j��������dk����r|j��������}|rt����������|�j��������dz��|z��������������}nd}|����������������������|���������������������|�������������������������d�S�)Nr���r���g������Y@z---) � statbynamer����r���rS��r����r1���r���r���rl��)r���r���r0����ref�pss��� r���r���zTableFrame.putpercent���s��������O�C�G�$���<�7�"�"��'�C�C� �\�V� #� #��&�C��� ��t�{�U�2�S�8�9�9�B�B��B����� � �"� � �����r���c�����������������������|�j���������|j��������d������������������|�j���������|j��������d������������������}}|�j��������dk����r|j��������|j��������}}n|�j��������dk����r|j��������|j��������}}|����������������������|||z ���������������d�S�)Nr���r���r���r���)� rowbynamer����r���rS��r����r���)r���r���r0����bs��� r���r���zTableFrame.putdiff���sy�������~�c�g�a�j�)�4�>�#�'�!�*�+E�1���<�7�"�"��7�A�G�q�A�A� �\�V� #� #��6�1�6�q�A����C��Q������r���c������������������<�����|�����������������������||�j���������������������d�S�rL���)r���r���)r���r���s��� r���r���zTableFrame.putcumul���s���������C���'�'�'�'�'r���c������������������j����dd�l�}|���������������������|�j��������j��������|j���������������������}|����������������������|���������������������|d����������������������������������t����������|������������dk����rEdd|�j��������z��z���}|dd�����������D�]/}|����������������������||���������������������|������������z�����������������.d�S�d�S�)Nr���r����r���r����r���) r����r���r���r��rT���r���rl��r����r���)r���r���r����� wraplines�initialrh��s��� r���r���zTableFrame.putkind���s������������M�M�$�,�"3�3�9�M�E�E� ����� � �)�A�,�'�'�(�(�(��y�>�>�A����3�� 4�5�5�G�!�!�"�"� �� 1�� 1������� � �$���/�0�0�0�0���� 1�� 1r���c������������������v������|��_���������|��_����������j��������j����������_����������j��������j����������_����������fd�|���������������������d������������D�����������������_��������i���_����������j��������d���������j ��������}��j��������|�����������_ ��������d��j��������|<�����j ��������g��_��������d�g��_��������t������������j��������������������D�]�\��}}|j ��������}t����������|t����������t ����������f������������s|f}|D�]T}|��j��������vrI��j�������������������������������j��������|����������������������d��j��������|<�����j�����������������������������d���������������U��d�S�)Nc������������������v������g�|�]5}|��������������������������������������j��������|�����������������������������������������������6S�r���)�stripru��)rP��r&��r���s��� �r���rQ��z&TableFrame.setmode.<locals>.<listcomp>��sD��������<��<��<�������<�T�]�1�7�7�9�9�-��<��<��<r���r���r���r���)�moder���rD���mcontrolbyname� mcontrolsr|���r�����cols�controlnamesr�����colorcontrol�controls�lastidxsr���� isinstance�tupler��rC���)r���r���r���r��r(����cor����s���` r����setmodezTableFrame.setmode��sT�������� �&�����2����Z�%�� �<��<��<��<�"�j�j��o�o�<��<��<�� �����y��|��� �N�4�0���"#���$���*�+�� ���� ��t�y�)�)�� /�� /�E�A�r��&�C��c�E�4�=�1�1�� ��f���� /�� /���d�/�/�/��M�(�(����)<�=�=�=�-.�D�%�c�*��M�(�(��.�.�.�� /� /�� /r���c������������������`����||�j���������k����rd�S�||�_���������|�j��������}|rU|����������������������|�dd��������������|�j�����������������������������t ����������t������������������������|�j��������j��������|�j��������d<���d�S�|����������������������|dd��������������|�j��������� �����������������������������������d�|�j��������d<���d�S�)Nr���)�setscrollbar)r���r�����yscrollcommand) r���r���rF��r���r���r����r��r���r�����pack_forget)r����sbr��s��� r���r���zTableFrame.setscrollbar��s������� ��$�$�$��F� ����#�� �� /��K�K���A�A�K�.�.�.��N���T���2�2�2�*.�.�*<�D�I�&�'�'�'��K�K��1�1�K�-�-�-��N�&�&�(�(�(�*.�D�I�&�'�'�'r���c�����������������������|�j���������}|���������������������dd�������������|���������������������dt����������|j���������������������������������d�S�)N�1.0z100.0)r����r>���r���r"���r����)r���r_��r`���ts��� r���� update_simplezTableFrame.update_simple'��s?�������I�� ����� � � � �����E�J���(�(�(�(�(r���r���r���c����������� ������� ������|�j�����������fd�|�j��������D���������������}||�j��������k����r|sd�S�||�_��������t����������x|�j��������d<���x|�j��������d<���|�j��������d<���|�j�����������������������������dt�����������������������|�j�����������������������������dt�����������������������|�j�����������������������������dt������������������������s@|�j��������� ��������������������dd�������������t����������x|�j��������d<���x|�j��������d<���|�j��������d<���d�S�i�|�_��������g�}t����������|�j��������������������D�]7\��}}�||������������������}|� ��������������������|�������������||�j��������|j��������<����8t����������|�j��������|d���������|�j��������d���������j��������j��������|d���������|�j��������|�j��������j��������j���������������������gx}|�_��������|d���������|�_��������t1����������|�j��������������������dk����r`|� ��������������������t����������|�j��������|d���������|�j��������d���������j��������j��������|d���������|d���������� �������������������������|d���������|�_��������|�j���������t5����������d ��|D���������������������������} |D�]`} �� ��������������������dd| j��������z����������������� ��������������������dd| z��| j��������z��d ��������������� ��������������������dd| j��������z����������������a����������������������dd��������������|�j���������d��|D���������������|�_��������|�j��������D�]1}�� ��������������������d|� ��������������������|j!��������������������d��������������2�� ��������������������dd�������������|�j����������fd�|�_"��������tG����������|d���������j$��������|d���������j%��������d������������|�_&��������|�j��������|�_'��������d|�_(��������|�j��������D�]}|�)��������������������|��������������|��"��������������������d�������������d|�_(��������t����������|d���������j*��������������������D�]�\��}}||�_&��������t1����������|������������dk����r7|d���������j��������||d���������j��������|d���������j+��������|j�����������������i|�_'��������|�j��������D�]}|�)��������������������|��������������|��"��������������������d���������������|r�|�j,��������r�t[����������|�j�����������������������������d�������������.��������������������d������������d���������������������dz ��} t[����������|�j��������d���������������������}| |k����}||�j/��������k����r|��0��������������������|�������������t����������x|�j��������d<���x|�j��������d<���|�j��������d<���d�S�)Nc������������������v������g�|�]5}t����������d�t����������|j��������t�����������������������dz ����������������������������6S��r���r���)r����r���r���r����)rP���controlr|���s��� �r���rQ��z%TableFrame.update.<locals>.<listcomp>0��sI��������.��.��.����A�s�7�>�3�u�:�:�a�<�8�8�9�9��.��.��.r����stater���r���z-- No Sample --r���)r���r���r���)�relativec������������������P�����g�|�]#}t����������t����������|j����������������������������������$S�r���)r����r"���r@����rP���samps��� r���rQ��z%TableFrame.update.<locals>.<listcomp>X��s(������8�8�8�$��S���_�_�%�%�8�8�8r���zSample %s: z%%%dd)r@���z at %s r@���r���)r���c������������������@�����g�|�]}t����������|j��������j����������������������S�r���)r!���r����r����r���s��� r���rQ��z%TableFrame.update.<locals>.<listcomp>b��s$������>�>�>��e�D�I�N�+�+�>�>�>r���)rg��r����c������������������0�����������������������������d|�������������S�)Nr���)r���)r����r���s��� �r���r��z#TableFrame.update.<locals>.<lambda>j��s�������q�x�x��t�4�4��r���r���z �.r����r���)1r|���r���r����NORMALr����r���r���r>���r��r����DISABLEDr���r���rC���r��r���rv���r���r���rD���displayr����samps� colorsampr�����relsampr����r@����datetime� tag_configure�sizesr���rl��rg��r����RowrS��r����r���r���r���rh��r_��r^��r���r#���r����r���r���)r���r���r����idxs� statbyidxr(���r���r����r���r"��r���r���r0����numrowsr5���needs_scrollbarr|���r���s��� @@r���r����zTableFrame.update,��s�������� ��.��.��.��.�#�}�.��.��.���D�M�!�!�5�!��F��� �MS�S�� �'��S�T�\�'�2�T�\�'�5J�� �����$�$�$�����E�3�'�'�'�����E�3�'�'�'��� ��L����'8�9�9�9�QY�Y�D�I�g��Y���g�!6���g�9N��F����� �#�D�M�2�2�� 1�� 1�J�A�w���a��>�D����T�"�"�"�,0�D�O�G�L�)�)�� �4�8�Y�q�\�4�=��+;�+B�+G��a��#�/��:�-�5� �� �� ��� ��� ���q�����t�}����!�!��L�L����)�A�,�� �a�8H�8O�8T�VZ�[\�V]�).�q��3��3��3�� 4�� 4�� 4��!��8�D�L��L���8�8�%�8�8�8�9�9���� :�� :�D� �H�H�U�M�D�I�5�6�6�6� �H�H�U�W�q�[�D�J�6� �C�C�C� �H�H�U�J�$�-�8�9�9�9�9� ����I��6�6�6��L��>�>��>�>�>�� ��9�� @�� @�C� �H�H�U�C�I�I�c�j�1�1�;�?�?�?�?� ���������I��4�4�4�4����5��8�>�5��8�=�)�D�D��������� ��9�� �� �C��J�J�s�O�O�O�O���������� ��e�A�h�m�,�,�� �� �D�A�q��D�L��5�z�z�A�~�~��!�H�M�1��!�H�M�5��8�#4�Q�V�#<�"�����y�� �� ��� � �3������G�G�D�M�M�M�M��� 3�D�/�� 3��$�)�/�/�%�0�0�6�6�s�;�;�A�>�?�?��A�G��D�I�h�'�(�(�A�%��k�O��$�"5�5�5��!�!�/�2�2�2�MU�U�� �'��U�T�\�'�2�T�\�'�5J�5J�5Jr���c����������������������t����������|������������}|�j��������}|�j��������|z���}||�j��������dz��k�����r |�j��������dz��}||�_��������||z ��}t����������||�j��������������������\��}}t ����������||�j��������z ��dz ��|�j��������������������|�j��������_��������|�xj ��������|z ��c_ ��������|�j ��������|�j��������|�j��������fD�]}||d<���|�j ��������|dz��z���|d<����t����������|������������}t����������|�j��������|z���|�j��������������������\��} }|�j��������| z���} t����������|�j��������d���������������������}| |�j��������k�����r|�j��������} | |z ��|�j��������z��|z���}|�xj��������|z ��c_��������| |�j��������d<���|�j��������|dz��z���|�j��������d<���|����������������������dd��������������||fS�)Nr����r���rT���r��r���r ���r���r���)r#���r���r���rS��r����r���r���r���rT���r���r���r���r����r���r���r���r���r���r���r����)r���r���r?��r���rW��rV��� charwidthrU��r���� rowresize� newheight� oldheights��� r���rF��zTableFrame.resize���s������ ��W�W���=���=�2�%���d�i�!�m�#�#��y�1�}�H� �� � �� ��!�(�D�I�6�6�� �5� ���,�,�q�0�$�2C�E��E����� ���2�����,���d�i�8�� 1�� 1�A�"�A�g�J���u�q�y�0�A�f�I�I� ��W�W��!�$�/�B�"6�� �B�B�� �5��&��2� ��� �(�+�,�,� ��t�)�)�)��*�I��i�'�4�9�4�u�<�B����2����'�� �(�� �,�u�q�y�8�� �&�����!�!��,�,�,��2�v� r���Nr���r����)r���r���r���rV���r���r���r���r���r���r���r���r���r���r���r���r���r����rF��r���r���r���r=��r=��M��s�������������i<��i<��i<�V0��0��0� ?�� ?�� ?� �� �� ������,��,��,������ �� �� �(��(��(�1��1��1�/��/��/�./��/��/�)��)��)� ZV��ZV��ZV��ZV�x#��#��#��#��#��#r���c��������������������&�����e�Zd�Zd��Zd��Zd��Zd��ZdS�)�Fillerc������������������B�����t����������|dd�������������x|�_��������|�_��������d�S�)Nr���r8��)r���r���can)r���rh���s��� r���rV���zFiller.__init__���s.������ &���� !��!��!�� �� �T�X�X�Xr���c������������������j�����t����������|�j��������d���������������������t����������|�j��������d���������������������fS�)NrT���r���)r#���r��r}���s��� r����getsizezFiller.getsize���s+�������4�8�G�$�%�%�s�4�8�H�+=�'>�'>�?�?r���c������������������>�����|�j������������������������������||��������������d�S�)Nr8��)r��r����)r���r��r5��s��� r����setsizezFiller.setsize���s1������������� �� �� �� �� �� r���c�����������������������|�������������������������������������\��}}|����������������������t����������d||z���������������t����������d||z����������������������������d�S�rU��)r��r��r����)r����dw�dhr��r5��s��� r���rF��z Filler.resize���sE�������|�|�~�~���1����S��A��F�^�^�S��A��F�^�^�4�4�4�4�4r���N)r���r���r���rV���r��r��rF��r���r���r���r��r�����sS�������������������@��@��@� �� �� �5��5��5��5��5r���r��c�������������������������e�Zd�Zd��ZdS�)r���c������������������0�����||�_���������||�_��������||�_��������d�S�rL���)rS��r����r��)r���rS��r����r��s��� r���rV���zRow.__init__���s�������� ��� ��� � � r���NrY���r���r���r���r���r������s#����������������������r���r���c�������������������������e�Zd�Zdd�ZdS�)r���Nr���c����������������������||�_���������|j��������|�_��������|j��������|�_��������||�_��������||�_��������|j�����������������������������|j�����������������������������|j��������������������������������|�_ ��������i�|�_ ��������|�+|���������������������||������������}|D�]} | |�j ��������| j��������<����n�g�} d�}|j��������D�]7}|j��������dk����rt����������| ������������}�| ���������������������|j����������������������8|���������������������| ������������}d} d}t!����������|������������D�]>\��}}| |���������}|�t#����������dd|������������}||�j ��������|<���| |j��������z ��} ||j��������z ��}�?|�3t#����������|j��������|z ��|j��������| z ��d������������}|g|||�<���||�j ��������d<���||�_��������d�S�)N�<Other>r���)r����r����rS��r��r@���rZ��r[��r\��r]��r���r^��rZ��r_��r����rC����get_rows_of_kindsr���r���)r���rv���r����r��r@���r���r���r���r_��r����kinds�oidxr����r����rS��r(���r�����others��� r���rV���zSample.__init__���s�������� ��I�� ��Z�� ��� ��� ���(�(���);�);�D�M�)J�)J�K�K�� ��� ��"��,�,�[�'�B�B�D��� *�� *��()�� �a�f�%�%� *���E��D��}�� +�� +���8�y�(�(��u�:�:�D���L�L���*�*�*�*��)�)�%�0�0�D��D��E�#�D�/�/�� #�� #���3��Q�x���;��a��D�/�/�C�&)�� �d�#���� �����"������D�J��.�� �D�0@�)�L�L��#(�'��T�$�Y��+0�� �i�(��� � � r���)Nr���NrY���r���r���r���r���r������s(��������������)��)��)��)��)��)r���r���c��������������������������e�Zd�ZdZdZd��Zd��Zd(d�Zd��Zd��Z d ��Z d ��Zd��Zd��Z d ��Zd��Zd��Zd��Zd��ZeZd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Z d��Z!d ��Z"d!��Z#d"��Z$d#��Z%d$��Z&d%��Z'd&��Z(d'S�))r"��)�red�green�bluer����magenta�cyanr����r,���c����������� �������\����� ��d��_���������|��_��������|j��������x��_��������}|j��������x��_��������}|r:|j�����������������������������|������������}|j�����������������������������|��������������_��������n|j ��������� ������������������������������������_��������t����������|������������x��_��������� t������������j��������t����������d���������������_��������t!������������j��������d���������������_��������t%������������j����������������������_����������j����������j��������d<�����j�����������������������������d��j������������������������j�����������������������������d ��j������������������������j�����������������������������d ��j������������������������j�����������������������������d��j������������������������j�����������������������������d��j����������������������t!������������j��������d ���������������_��������t%������������j����������������������_����������j����������j��������d<���ddg}t9��������������������������_���������������������������������j��������d|��j����������j����������������������_ ��������g�d�}t9��������������������������_!��������t!������������j��������d���������������_"��������t%������������j"����������������������_#����������j#����������j"��������d<���t%������������j"��������d���������������_$�����������%����������������������j$��������|��j!����������j&�����������������������j#���������'��������������������d��j$����������������������t9��������������������������_(��������t%������������j"��������d���������������_)�����������%����������������������j)��������dg��j(����������j*�����������������������j#���������'��������������������d��j)����������������������tW������������j����������j��������j,����������������������_-��������|�.����������������������j����������j-����������������������_/��������t!������������j��������d���������������_0��������t%������������j0����������������������_1����������j1����������j0��������d<�����j1�����������������������������d��j2������������������������j1�����������������������������d��j3����������������������t������������j��������dth�������������������������_5��������tm������������j5��������d��j��������d���������������_7�����������8��������������������|�������������d���_9��������tu��������������������������_;����������j;���������<��������������������d�������������t{������������j5��������d��j;����������j>��������t����������� ��������������_?��������t�������������j����������������������_A��������t������������j����������������������_B��������t�������������jB��������t�����������jE����������jF����������jG���������!��������������_H��������t�������������j5��������d"��jH��������jI����������jH��������jJ��������d#��jH��������jK����������jH��������jL���������$��������������_M��������t�������������j5��������d%��jH��������jN����������jH��������jO��������d&��jH��������jP����������jH��������jQ����������jH��������jR���������'��������������_S����������jM����������jH��������_M����������jS����������jH��������_S��������g���_T��������i���_U��������d(D�]u}��jH���������V��������������������|������������}t�������������j5��������|��jX��������������������}|�Y��������������������|jZ�����������������������jT���������[��������������������|�������������|��jU��������|<����vt���������������������������_]����������j]���������<��������������������d)���������������j���������^��������������������d*��j]����������j_���������+�������������t���������������������������_`����������j`���������<��������������������d)���������������j���������^��������������������d,��j`����������ja���������+�������������t���������������������������_b����������jb���������<��������������������d)���������������j���������^��������������������d-��jb����������jc���������+�������������t���������������jB��������������������x} ��_e��������t�������������jB����������jg���������.������������x} ��_h����������jM��������j���������i��������������������ddd/d/t������������0���������������jS��������j���������i��������������������d)dd/d/�1���������������jT��������d���������j���������i��������������������dd)d)t�����������d/d/�2���������������jT��������d)���������j���������i��������������������d)d)d)t�����������d/d/�2���������������j7���������i��������������������ddd/d/�1���������������j?���������i��������������������dd/d/d/�1�������������t�������������j����������������������_l����������j���������m��������������������t������������3���������������j���������m��������������������t������������3���������������j ���������m��������������������t������������3���������������j"���������m��������������������t������������3���������������j-��������jo���������m��������������������t������������3���������������j0���������m��������������������t������������3���������������j���������i��������������������dd4t�����������t�����������z���t�����������z����5����������������r������������������������������������ �s��������������������d6��jt�����������������������je���������u����������������������j!���������v������������������������������������jF������������������������w��������������������|�������������| j���������x�����������������������������������| �y��������������������t�������������jH��������j���������{����������������������������������| j���������{�����������������������������������������������������������| j���������x�����������������������������������d7��_|����������j���������}������������������������������������j���������~����������������������������������f��_��������d8d9d:d:d;�}���������������������������������������� ��fd<�}�|���������������d�S�)=Nr���r����)r����r����Filer��r����zNew Profile Browser)r����r=���zOpen ProfilezClose WindowzClear Cache�Exit�Pane)r���rY��r���Graph)r{��r��r���)r���r���r���r���r����TablezTable header)r����Header)r����r����zTable scrollbar)r�����On�Offr���Help�About)r���r����r��)r����r=���r����Collectr����)r7��r���r���r���samples)r��r?���r����r��r��r��r���bytes)r��r?���r����r��r��r��r(��r{��r���zShow Control Panelr����z Show Graphz Show Table)r+��r����)r����r����r��r ��r����r��r��)r���r����)r����r��r�����<Map>)r\���i���)���r���)ik���=���)r*������))r���r���r���)r���r���r���)r���r���r���)r���r���r���c��������������������������j����������������������������������������������j��������������������������������������������j�������������������������������������������z���}�|��j���������j��������������������������������������������j���������j�������������������������������������������z���z ���_���������j��������������������������������������������_���������j��������������������������������������������_��������d�_ ���������� ��������������������d�j���������������������d�_��������d�S�)Nr���z<Configure>r���) rf��r���r��r���r����tf_wanted_margin�lastwr����lasth�in_configurere����event_configure�inited)�rxr��r���s��� ��r���� initfinalz*ProfileBrowser.__init__.<locals>.initfinal� ��s���������G��������'�'�)�)�D�J�,B�,B�,D�,D�D�B�$&����*�*�,�,�t�w�}�/H�/H�/J�/J�J�%L�D�!����/�/�1�1�D�J���0�0�2�2�D�J� !�D���J�J�}�d�&:�;�;�;��D�K�K�Kr���)�r3��r���rv���r��rh����path�abspath�dirname� initialdirrw����getcwd�Toplevelr��r����r&���menubarr ��� filebuttonr;����filemenu�add_command�cmd_new�cmd_open� cmd_close�cmd_clear_cache�cmd_exit� panebutton�panemenur ����graphtypevar�modechooser� cmd_graphtype�graphbutton� var_tablemode�tablebutton� tablemenu� headermenu�addmodechooser� cmd_tablemode�add_cascade�var_tablescrollbar�tablescrollbarmenu�cmd_tablescrollbarr���r��r���r��rv��� helpbutton�helpmenu� cmd_about�cmd_helpr����� ctrlframera���� exitbutton�set_filename� id_collectr��� collectingr���r%���cmd_collect� collectbuttonrt���r|����disptabr���r����r7��r���r���r���r���r���r���r����xcontrolr���r���r���r���r3��r���r���r���r$��r����update_tableframer���r���rC���r"���var_showcontrolr$���cmd_showcontrol� var_showgraph� cmd_showgraph� var_showtable� cmd_showtabler=��rf��r&���cmd_dt_moved�d_tr����r!��r���fillerr���r����r���r'��r�����gridmainre���� event_mapr���r����� load_filenamerH��r;��r����r����minsize�winfo_screenwidth�winfo_screenheight�maxsize�setusergeometry)r���r���r#��rv���rh����choicesr��r���r���rf��rj���minsizesr5��r��s���` @r���rV���zProfileBrowser.__init__���sm ��������������� ���3�"�x�'���f��� .��x�'�'��1�1�H�!�h�.�.�x�8�8�D�O�O�!�f�m�m�o�o�D�O�%�� �� �� �� �U���T�Z��1�=�=�=���$�T�\��?�?�?����T�_�-�-�� �"&�-������ �!�!�'���� "�� ?�� ?�� ?�� �!�!��� �!�N�N�N�� �!�!����!�O�O�O�� �!�!���)=�� "�� ?�� ?�� ?�� �!�!��� �!�F�F�F�$�T�\��?�?�?����T�_�-�-�� �"&�-������ �� �� �&�K�K����+�+��L�'�7���t�1�3��3��� �� �� ���'�[�[���%�d�l��A�A�A����d�.�/�/���#'�>���� ��t�/�~�F�F�F�������O������ �� �� �� ��"�"����"�H�H�H�"+�+�+���"&���$5�#7��#7��#7���� ����#� "�#��#��#� �� �� �� ��"�"���(�� #�� *�� *�� *��%�T�\�4�8�3F�G�G����*�*�4�:�t��G�G���$�T�\��?�?�?����T�_�-�-�� �"&�-������ �!�!����!�H�H�H�� �!�!��� �!�F�F�F���J��� �� �� ����!���f�d�m�,1�3��3��3���� ���(�#�#�#���� �(�(�������A����(���i�26�/�15�1A�06�8��8��8��� ��4�8�_�_�� ��T�Z������� ��t�|�+6�+B�+/�+;�,0�,=�!��!��!����$�D�N�),�*.�,�*=�)-��);�)2�15��1G�04��0E� &��&��&�� ��$�D�N�),�*.�,�*=�)-��);�)0�15��1G�04��0E�04��0L�&��&��&�� ��!%� ���� $� ������� ����� 0�� 0�D��\�-�-�d�3�3�F�#�����(>�@��@�G��!�!�'�"3�4�4�4��N�!�!�'�*�*�*�(/�D���%�%�)�|�|����� � ��#�#�#�� �%�%�&��)��(�� &�� *�� *�� *� �(�\�\�������q�!�!�!�� �%�%���'��&�� &�� (�� (�� (� �(�\�\�������q�!�!�!�� �%�%���'��&�� &�� (�� (�� (� �"�$���5�5�5��T�W� ���4�;L�M�M�M�M��d�h�� �� � �Q�q�q�q�� �K�K�K�� �� � �Q�q�q�q� �A�A�A���q���$�$��!��!�!�!�� %�� E�� E�� E���q���$�$��!��!�!�!�� %�� E�� E�� E������1�1�1��=�=�=�����A�a�a�a��@�@�@��T�Z�(�(�������$��'�'�'�����$��'�'�'�����4��(�(�(�����4��(�(�(����#�#��#�.�.�.�����$��'�'�'������q��1��Q���?�?�?�� � ���� � � �7�D�N�+�+�+������*�.�.�0�0�$�2B�C�C�C����8�$�$�$�� �"�"�$�$�$�� � �c�$�,�,�9�9�;�;��(�/�/�1�1�3��3�� 4�� 4�� 4�� � �"�"�$�$�$�!���� �4�4�6�6�� �5�5�7�7�9����!� �!�!� �� ��� ������ �� �� �� �� �� �� � �����r���c������������������0�����|�����������������������d�������������d�S�)N�about)rX��r}���s��� r���rW��zProfileBrowser.cmd_about� ��s������� � �g�����r����helpc�����������������������|�j���������j��������}|�j�������������������������������������������d���������} �d|�j�������������������������������������������d<���|�j��������������������������������������������|�j���������j�����������������������������|�j��������t����������|�j���������j��������|�������������������������}|�j ��������� ��������������������|�������������||�j�������������������������������������������d<���d�S�#�||�j�������������������������������������������d<���w�xY�w)NrZ��r���)�inpickle)rv���rw���r��r���r����r���� gsltextviewerr���pbhelpr���r��)r����picknamerw���rY��r���s��� r���rX��zProfileBrowser.cmd_help� ��s������� �X�[���*�+�+�-�-�h�7�� <�4;�D�J�%�%�'�'��1��J�������� �+�+�� � ����(�;�;��,�����A�� �H�%�%�a�(�(�(�4;�D�J�%�%�'�'��1�1�1��G�D�J�%�%�'�'��1�;�;�;�;s����B C��C6c������������������8�����|�j���������������������������������������������d�S�rL���)r|���r~���r}���s��� r���rC��zProfileBrowser.cmd_clear_cache� ��s������� ��� � � � � r���c������������������8�����|�j���������������������������������������������d�S�rL���)r��r���r}���s��� r���rB��zProfileBrowser.cmd_close ��s������� �������r���c������������������������|�j��������������������������������������������r|�������������������������������������d�S�|�j���������(|�j�����������������������������|�j���������������������d�|�_��������d�S�d�S�rL���)r]��r����� event_collectr\��r��rq���ru��s��� r���r^��zProfileBrowser.cmd_collect ��se��������?��� � �� '���� � � � � ���*�� �'�'���8�8�8�"&������+�*r���c����������������������|�j��������������������������������������������\��}}|r�||�j��������j��������k����r |�j�����������������������������|�j����������������������n*|�j���������|�d�����������}|�j�����������������������������|�������������|�j��������D�])}|���������������������t����������|�j�����������������������������������*|�j ��������� ��������������������d|�j��������������������|�_��������d�S�)Nr���) r|���r����r���r���r���r���r���r���r����r��rl���r���r\��)r����or"��r����rK���s��� r���r���zProfileBrowser.event_collect ��s��������z�!�!�#�#���1��� 1��D�L�)�)�)���'�'�� �3�3�3�3��Z�����_����&�&�r�*�*�*��^�� 1�� 1������D�J���0�0�0�0��*�*�*�4��1C�D�D����r���c����������������������|�xj���������dz ��c_���������|�j�������������������������������������������|�j�������������������������������������������z���}||�j��������j�������������������������������������������|�j��������j�������������������������������������������z���z ��}t����������||������������}||�j��������j�������������������������������������������|�j��������j�������������������������������������������z���z ��}|�j�����������������������������|d������������\��}}|�j ��������}||z��}|�j�����������������������������||z ��d�������������|�j��������� �����������������������������������|�xj���������dz��c_���������d�S�r���)r1��r��r���r���rj��r���rf��r���rF��r.��rJ��)r���r���r4���mx�_� wanted_margins��� r���ri��zProfileBrowser.cmd_dt_moved ��s(������ ���Q������Z� #� #� %� %�� �(>�(>�(@�(@� @����4�8�>�-�-�/�/�$�(�.�2L�2L�2N�2N�N� O�����R�[�[����4�7�=�,�,�.�.����1J�1J�1L�1L�L� M����#�#�B��*�*���A��-� �� �b�������r�M�)�1�-�-�-�����������Q�����r���c������������������8�����|�j���������������������������������������������d�S�rL���)r���r��r}���s��� r���rD��zProfileBrowser.cmd_exit? ��s�������� � �����r���c�����������������������|�j������������������������������|�j�������������������������������������������|�j���������������������|�������������������������������������d�S�rL���)r���r���rG��r����r|���rP��r}���s��� r���rI��zProfileBrowser.cmd_graphtypeB ��sC��������!�!�$�"3�"7�"7�"9�"9�4�:�F�F�F��������r���c������������������D�����|�j������������������������������|�j���������������������d�S�rL���)r���r$��r#��r}���s��� r���r@��zProfileBrowser.cmd_newF ��s ��������$�$�T�]�3�3�3�3�3r���c�����������������������t�����������j�����������������������������|�j��������|�j��������ddg�������������}|�����������������������������������}|r|����������������������|�������������d�S�d�S�)N)zHeapy data filesz.hpy)z All filesr���)r9��� filetypes)rA��� filedialog�Openr��r9���showrn��)r����opr#��s��� r���rA��zProfileBrowser.cmd_openI ��sp������ � � $� $�T�Z��15��0L�0B�02� �%��'��'����7�7�9�9���� )����x�(�(�(�(�(� )�� )r���c������������������.�����|��������������������������������������d�S�rL���)�grid_thingsr}���s��� r���rd��zProfileBrowser.cmd_showcontrolV ��s�������������r���c������������������t����|�j��������������������������������������������r�|�j�������������������������������������������rq|�j�����������������������������|�j��������j���������d�������������|�j�����������������������������|�j��������j��������|�j��������j��������z ��d�������������|�j��������� �����������������������������������|�� �����������������������������������d�S�rU��)re��r����rg��rf��rF��r���r���r���r��rJ��r���r}���s��� r���rf��zProfileBrowser.cmd_showgraphY ��s���������!�!�#�#�� $��(:�(>�(>�(@�(@�� $��G�N�N�D�G�.�.��2�2�2��L����� 5���8I� I�1�M�M�M��L�!�!�#�#�#��������r���c�����������������������|�j������������������������������|�j�������������������������������������������|�j���������������������|�j���������������������������������������������d�S�rL���)rf��r���rK��r����r���r����r}���s��� r���rP��zProfileBrowser.cmd_tablemodeb ��sB�����������*�.�.�0�0�$�2B�C�C�C���������r���c������������������"����|�j���������}|�j�������������������������������������������}|dk����r d|_��������|���������������������dd��������������d�S�|dk����rd|_��������|���������������������d�������������d�S�|dk����rd|_��������|���������������������d�������������d�S�J��)Nr����r���r���r"��r���r#��)rf��rR��r����r���r����r���)r���rf��r)���s��� r���rT��z!ProfileBrowser.cmd_tablescrollbarf ��s������� �W���#�'�'�)�)����;�;� !�B���I�I�A�A�I�.�.�.�.�.� �$�Y�Y� !�B���O�O�A������ �%�Z�Z� !�B���O�O�A�������Hr���c������������������6����|�j���������������������������������������������d|�j��������������������������������������������|�j��������������������������������������������|�j��������������������������������������������|�j��������������������������������������������fz��}|�j������������������������������|�������������d�S�)Nz%dx%d+%d+%d)r��r����r���r���r���r����geometry)r����gs��� r���rs��zProfileBrowser.setusergeometryu ��s�������� � ��������J�"�"�$�$��J�#�#�%�%��J�"�"�$�$��J�"�"�$�$� &�� &�� � � ���A�����r���c�����������������������t����������||�������������}t����������|������������}||d<���|����������������������||||�������������|S�)Nr��r����)r ��r;���rO��)r���r��r��rt���cmdvarr=���r���r����s��� r���rH��zProfileBrowser.modechooser� ��sG�������E��-�-�-���F�|�|����v�����D�'�6�7�;�;�;�� r���c����������������������� � ���� fd�� �� fd�}g�� |D�]i}t������������������������}� ���������������������|�������������|���������������������|d����������������������|D�]&}|���������������������||||||d���������k�������������������'�j�� ���������������d�S�)Nc�������������������l������������������������������d���������������������d���D����������������������������������������d�S�)Nr���c������������������6�����g�|�]}|��������������������������������������S�r���)r����)rP���vs��� r���rQ��zDProfileBrowser.addmodechooser.<locals>.setcmdvar.<locals>.<listcomp>� ��s ������ 7� 7� 7�Q������ 7� 7� 7r���)r����join)r����varss�����r���� setcmdvarz0ProfileBrowser.addmodechooser.<locals>.setcmdvar� ��s6��������J�J�s�x�x� 7� 7�$� 7� 7� 7�8�8�9�9�9�9�9r���c�������������������0�����������������������������������������d�S�rL���r���)r=���r���s�����r���ro��z*ProfileBrowser.addmodechooser.<locals>.cmd� ��s��������I�K�K�K��G�I�I�I�I�Ir���r���)r=���r����r ���r�����columnbreak)r ���rC���r���r���)r���r����rt��r���r=���ro��r����varr0���r���r���s��� `` @@r���rO��zProfileBrowser.addmodechooser� ��s����������� :�� :�� :�� :�� :�� :� �� �� �� �� �� ������ �� �B��+�+�C��K�K������G�G�B�q�E�N�N�N��� �� ���$�$���� ��"#�b��e���%��������� �� � �����r���c������������������@����|�j��������������������������������������������}|�j��������������������������������������������}|�j��������������������������������������������|�j��������j���������������������������������������������|�j��������j���������������������������������������������|�j��������j���������������������������������������������|�j��������������������������������������������|�j ��������j���������������������������������������������|�� �����������������������������������|�j���������������������������������������������|�������������������������������������d�S�rL���) r��r���r���rY���grid_forgetr���rj��rf��r`��rk��rl��rH���sizewidgets)r����ow�ohs��� r���r���zProfileBrowser.grid_things� ��s������� �Z� #� #� %� %�� �Z� $� $� &� &����"�"�$�$�$����&�&�(�(�(����"�"�$�$�$��� �!�!�#�#�#��� � �"�"�"����%�%�'�'�'�� � ����� �#�#�%�%�%��������r���c������������������z����d}|�j��������������������������������������������}|r*|�j�����������������������������|ddddt������������������������|dz ��}d}|�j�������������������������������������������}|�j�������������������������������������������}||f}|r6|�j��������j�����������������������������d|t����������t����������z���dd��������������|dz ��}|r6|r4|�j ��������j�����������������������������d|t����������t����������z�����������������|dz ��}|r1|�j��������j�����������������������������d|t����������t����������z���dd��������������|s|r/|�j�����������������������������|dt����������t����������z�����������������|dz ��}|�j �����������������������������dd�������������|�j ��������j�����������������������������|dt����������t����������z�����������������|�j�����������������������������dd�������������d�S�)Nr���r���r����)r����r����r��r��r ��r����r��r����)rc��r����rY��r����r!��re��rg��r���r��r'��rj��rf��r`��rk��r��� resizable)r���r����rK���r����r���r����gts��� r���rl��zProfileBrowser.gridmain� ��s��������� �$�$�&�&���� ��N���C��+,�1�1�Q�� �� H�� H�� H��1�H�C�����"�"�$�$����"�"�$�$����V���� ��L��#�#��&��1��)*��� $�� &�� &�� &�� �a�K�F��� ��� ��H�N���A�f�Q�q�S��A�A�A��a�K�F��� !��G�M���1�V�A�a�C�a�a��� !�� !�� !��� ��� ��L���#�a�%&�q�S�� �� �� �� �� �1�H�C�����A�q�!�!�!������3�q��1���=�=�=�� ���Q��"�"�"�"�"r���c������������������b����|j���������|�j��������urd�S�|�j��������sd�S�|�j��������rd�S�|�j�������������������������������������������}|�j�������������������������������������������}||�j��������k����r ||�j��������k����rd�S�|�xj��������dz ��c_��������||�_��������||�_��������|�������������������������������������|�xj��������dz��c_��������d�S�r ��) �widgetr��r3��r1��r���r���r/��r0��r���)r���rn����curw�curhs��� r���r2��zProfileBrowser.event_configure� ��s��������<�t�z�)�)��F��{�� ��F���� ��F��z�%�%�'�'���z�&�&�(�(���4�:���$�$�*�"4�"4��F����Q������ ��� ����������Q�����r���c������������������8 ����|�j���������������������������������������������|�j��������������������������������������������}|�j��������������������������������������������}|�j�������������������������������������������}|�j�������������������������������������������}g�}|�j�������������������������������������������r|� ��������������������|�j ���������������������|�j�������������������������������������������r|� ��������������������|�j���������������������|s|� ��������������������|�j ���������������������i�}d}|D�]J}|j���������} | �����������������������������������} | �����������������������������������}| |z ��|z���}||z ��dz ��} |p| }| ||<����K|�j�������������������������������������������r |�j��������j���������} n2|�j�������������������������������������������r |�j ��������j���������} n|�j ��������j���������} | �����������������������������������}| �����������������������������������}||z ��|z���}||z ��dz ��}| |�j ��������j���������u�r>|�j�������������������������������������������s%||�j �������������������������������������������d���������z ��dz ��}|s|�rd|�j��������������������������������������������r8|�j��������������������������������������������rt!����������|�j ��������j��������������������������������������������������������}|||�j��������j��������������������������������������������z���z��}|�j �����������������������������||z��||�j �����������������������������\��}} |�j�����������������������������||z ��||�j������������������������������|�j���������������������������������������������|�j�����������������������������t+����������|�j ��������j��������������������������������������������|�j��������j���������������������������������������������������������������������n�|�j�������������������������������������������r'|�j �����������������������������|||�j ������������������������������n�|�j�������������������������������������������r'|�j�����������������������������|||�j������������������������������n^|�j �����������������������������|||�j ������������������������������|�j �����������������������������|�j �������������������������������������������d���������d�������������|�j�������������������������������������������r|�j ��������������������������������������������d�S�d�S�d�S�)Nr���rR��r����r����r���)r��r����r���r���r<��r���r���re��r����rC���r���rg��rf��rk��rc��r��r!���rF��rH��rj��r;��r����r��rJ��)r���r���r����mbx�mby�sfs�dys�didhr���r�����diy�dihr���r?���fx�fw�cw�fdw�dpropr���s��� r���r���zProfileBrowser.sizewidgets� ��s:������ �������z�%�%�'�'���z�&�&�(�(���l�&�&�(�(���l�&�&�(�(������!�!�#�#�� %��J�J�t�|�$�$�$���!�!�#�#�� ��J�J�t�w������ $��J�J�t�{�#�#�#������� �� �B���A��-�-�/�/�C��.�.�"�"�C��s��S��B����Q��B��:�2�D��C��G�G���!�!�#�#�� "��� �A�A� � � #� #� %� %�� "���"�A�A���!�A� �]�]�_�_�� �]�]�_�_�� �#�X��]���R�i�!�m�����!�!�!�$�*>�*B�*B�*D�*D�!����,�,�.�.�q�1�1�A�5�C��� (�3�� (��!�%�%�'�'�� D�D�,>�,B�,B�,D�,D�� D��d�l�0�<�<�>�>�?�?�������)B�)B�)D�)D�!D�E����,�,�S�5�[�#�d�l�:K�L�L���B�����s�R�x��T�W��6�6�6�� �+�+�-�-�-���"�"�3�t�|�'9�'F�'F�'H�'H�'+�w�}�'A�'A�'C�'C�$E��$E��F��F��F��F���#�'�'�)�)�� D���#�#�C��T�\�):�;�;�;�;��#�'�'�)�)�� D�����s�C���L�1�1�1�1���"�"�3��D�K�(8�9�9�9���#�#�D�K�$7�$7�$9�$9�!�$<�d�C�C�C��!�%�%�'�'�� (���%�%�'�'�'�'�'�% (�� (�" (�� (r���c������������������<�����|�j������������������������������||�������������d�S�rL���)r���rF��)r���r ��r��s��� r���rF��zProfileBrowser.resize=��s ����������B��#�#�#�#�#r���c�����������������������|�j������������������������������d�������������|�j������������������������������d|�j���������������������|�j���������������������������������������������d�S�)Nr)���<Unmap>)r���unbindre����event_unmapr���rr���s��� r���rm��zProfileBrowser.event_mapA��sI������� ���'�"�"�"�� ��� �4�#3�4�4�4�� �������r���c������������������z�����|�j������������������������������d�������������|�j������������������������������d|�j���������������������d�S�)Nr���r)��)r��r���re���rm��rr���s��� r���r���zProfileBrowser.event_unmapF��s6������� ���)�$�$�$�� ������0�0�0�0�0r���c������������������n����|�j��������������������������������������������d���������} �d|�j��������������������������������������������d<���|�j���������������������������������������������|r|�j��������j�����������������������������|������������} �|�j�����������������������������|�������������|�j��������� ��������������������|�j���������������������|�j ��������D�])}|���������������������t����������|�j����������������������������������*|�� ��������������������|�������������|�������������������������������������|�j�����������������������������d�������������|�j ��������d������������������������������d�������������|�j ��������d������������������������������d�������������|�������������������������������������|�j�����������������������������d��������������|r$|�j��������j�����������������������������|������������|�_��������n�#�t*����������$�r��t-����������d������������������������������������������������|�j��������j��������j�������������������������������������������\��}}}t6����������j�����������������������������|�j���������d|z��dd ���������������������|�j��������j��������j��������� ��������������������||������������������������z��z���� �������������Y�nw�xY�w||�j��������������������������������������������d<���d�S�#�||�j��������������������������������������������d<���w�xY�w)NrZ��r���r���r����r���� tracebackzError when loading %r: z%sr���r?��)!r��r���r����rv���r6��r7��r|���r����r���r���r���r���r����r[��� xrange_fitrx��r���� yrange_fitrf��r8��r9��� Exception� __import__� print_exc�_root�sys�exc_inforA��rB��rC��r���r����format_exception_only)r���r#��rY��rK����etyper ���rO��s��� r���rn��zProfileBrowser.load_filenameJ��s�������*�+�+�-�-�h�7��# <�4;�D�J�%�%�'�'��1��J�������� ;��8�=�0�0��:�:�� F�� ����)�)�)����'�'�� �3�3�3����5��5�A��O�O�C�� �O�O�4�4�4�4��!�!�(�+�+�+����!�!�!���)�)�!�,�,�,���q�!�-�-�a�0�0�0���q�!�-�-�a�0�0�0����!�!�!�����Q��'�'�'���F�&*�h�m�&;�&;�H�&E�&E�D�O���3��� �� �� ��;�'�'�1�1�3�3�3�#'�8�>�#5�#>�#>�#@�#@� ��u�b��"�,�,��:�3�h�>��r�w�w�t�x�~�'?�'U�'U�!�5�(*��(*�� +�� +��+�+��-����������� ����8�5<�D�J�%�%�'�'��1�1�1��G�D�J�%�%�'�'��1�;�;�;�;s2����AJ��8F;��D)J��;B7I5�2J��4I5�5J��J4c������������������8�����|�j���������������������������������������������d�S�rL���)rf��r����r}���s��� r���rb��z ProfileBrowser.update_tableframeq��s��������������r���c�����������������������|dk����rdS�|�j���������t����������t����������|������������������������t����������|�j���������������������z�����������S�)Nr��r����)�colorsr/����hashr����)r���r����s��� r���r���zProfileBrowser.getkindcolort��s:�������9����7��;�s�4��:�:����T�[�1A�1A�A�B�Br���c������������������Z�����||�_���������|sd}d|z��}|�j�����������������������������|�������������d�S�)Nz <No File>zHeapy Profile Browser: %s)r#��rv��r���)r���r#��r���s��� r���r[��zProfileBrowser.set_filenamez��s<������ �� ��� #�"�H�+�h�6������%� � � � � r���c�����������������������|��������������������������������������|�j��������|�j��������k����r|�������������������������������������|�j���������|�������������������������������������n|�������������������������������������|�������������������������������������d�S�rL���)r��r���r���r���r��r+��r����trackr}���s��� r���� setnormposzProfileBrowser.setnormpos���sq�������������9���#�#��O�O�����8���N�N������������ � �����r���c�����������������������d�S�rL���r���r}���s��� r���� redraw_allzProfileBrowser.redraw_all���r5��r���c������������������:�����|�j������������������������������d�������������d�S�rU��)�rcontrolr���r}���s��� r����trackoffzProfileBrowser.trackoff���s������� �!�!�!�$�$�$�$�$r���c������������������^�����|�j������������������������������t����������|�j���������������������������������d�S�rL���)ra��rH��r����r|���r}���s��� r���r���zProfileBrowser.xrange_fit���s&������� ���#�d�j�/�/�*�*�*�*�*r���c������������������<�����|�j������������������������������d��������������d�S�)Nr���r���)r���r2��r}���s��� r���r���zProfileBrowser.yrange_fit���s!�������� � �q� �)�)�)�)�)r���N)rx��))r���r���r���r���r���rV���rW��rX��rC��rB��r^��r���ri��rD��rI��r@��rA��rd��rf��rh��rP��rT��rs��rH��rO��r���rl��r2��r���rF��rm��r���rn��rb��r���r[��r���r���r���r���r���r���r���r���r"��r"�����sH������������� K�F��K�n��n��n�b�����<��<��<��<� !��!��!������ '�� '�� '�E��E��E������B����������4��4��4�)��)��)������������"�M������ �� �� ������$����������6����� $#��$#��$#�L�����0@(��@(��@(�H$��$��$������ 1��1��1�%<��%<��%<�N�����C��C��C�!��!��!� �� �� � �� �� �%��%��%�+��+��+�*��*��*��*��*r���r"��c�������������������� �����e�Zd�ZdZdd�Zd��ZdS�)�_GLUECLAMP_)z_parent:Usez_parent:pbhelpz_root.guppy.etc:textViewz _root:hashlibz_root:osz _root.os:pathz _root:timez_root.guppy.gsl:TextNc������������������v�����t����������|�������������}|���������������������|�������������|������������������������������������dS�)a=��pb( [filename: profilefilename+]) Create a Profile Browser window. Argument filename: profilefilename+ The name of a file containing profile data. See also Heapy Profile Browser[1] Screenshot[2] References [0] heapy_Use.html#heapykinds.Use.pb [1] ProfileBrowser.html [2] pbscreen.jpgN)r��r$��r ��)r���r#���pas��� r����pbz_GLUECLAMP_.pb���s6������ ��� � �� ���x�(�(�(� ��� � � � � r���c������������������������|�d�������������d�S�)Nz /tmp/x.hpyr���r}���s��� r����tpgz_GLUECLAMP_.tpg���s��������\�����r���rL���)r���r���r���� _imports_r���r���r���r���r���r���r������s>�������������� �I��������(��������r���r���)#rA���tkinter.filedialog�tkinter.messagebox�guppy.etc.Descriptorr���r ���r���r%���r*���r1���r9���r;���rN���rU���rR���ra���r[���rt���r����r����rg��rS��r���r���r���r���r��r&��r=��rd��r��r���r���r"��r���r���r���r����<module>r������sx�����������������������������1��1��1��1��1��1�,��,��,��,��,�I��,��,��,��$�� �� �� �$ �� �� ������"��"��"��"��"�4��"��"��"�0���������i�������,��,��,��,��,���,��,��,����������&�������0j��j��j��j��j��j��j��j�ZAN��AN��AN��AN��AN��AN��AN��AN�HH$��H$��H$��H$��H$��H$��H$��H$�V���^(��^(��^(��^(��^(��^(��^(��^(�B X (��X (��X (��X (��X (��X (��X (��X (�v=6��=6��=6��=6��=6��=6��=6��=6�@+��+��+��+��+��+��+��+�\$$��$$��$$��$$��$$��$$��$$��$$�N9.��9.��9.��9.��9.��9.��9.��9.�x<5��<5��<5��<5��<5��<5��<5��<5�~l��l��l��l��l��l��l��l�^���������������,^��^��^��^��^��^��^��^�B5��5��5��5��5��5��5��5�,���������������*��*��*��*��*��*��*��*�Z^ *��^ *��^ *��^ *��^ *��^ *��^ *��^ *�B!��!��!��!��!��!��!��!��!��!r���