Edit File: dis.pyc
� ��7ec�����������@���s����d��Z��d�d�l�Z�d�d�l�Z�d�d�l�Td�d�l�m�Z�d�d�d�d�d �d �g�e�Z�[�e�j�e�j�e�j�e�j �e �f�Z�d�d���Z �d�d���Z�d�d ���Z�d�d�d�d�d���Z�e�Z�d����Z�d����Z�d����Z�e�d�k�r��e����n��d�S(���s0���Disassembler of Python byte code into mnemonics.i����N(���t���*(���t���__all__t���dist���disassemblet���distbt���discot���findlinestartst ���findlabelsc���������C���sH��|��d�k�r�t����d�St�|��t�j���r5�|��j�}��n��t�|��d���rP�|��j�}��n��t�|��d���rk�|��j�}��n��t�|��d���r��|��j �j ����}�|�j����x��|�D]U�\�}�}�t�|�t���r��d�|�GHy�t �|���Wn�t�k �r��}�d�G|�GHn�XHq��q��WnN�t�|��d���rt�|����n2�t�|��t���r.t�|����n�t�d�t�|����j���d�S( ���sn���Disassemble classes, methods, functions, or code. With no argument, disassemble the last traceback. Nt���im_funct ���func_codet���__dict__s���Disassembly of %s:s���Sorry:t���co_codes(���don't know how to disassemble %s objects(���t���NoneR���t ���isinstancet���typest���InstanceTypet ���__class__t���hasattrR���R ���R ���t���itemst���sortt ���_have_codeR���t ���TypeErrorR���t���strt���disassemble_stringt���typet���__name__(���t���xR���t���namet���x1t���msg(����(����s���/usr/lib64/python2.7/dis.pyR������s6���� c���������C���sl���|��d�k�rR�y �t�j�}��Wn�t�k �r5�t�d���n�Xx�|��j�rN�|��j�}��q9�Wn��t�|��j�j�|��j ���d�S(���s2���Disassemble a traceback (default: last traceback).s ���no last traceback to disassembleN( ���R���t���syst���last_tracebackt���AttributeErrort���RuntimeErrort���tb_nextR���t���tb_framet���f_codet���tb_lasti(���t���tb(����(����s���/usr/lib64/python2.7/dis.pyR���3���s���� �c���������C���sa��|��j��}�t�|���}�t�t�|������}�t�|���}�d�}�d�}�d�}�x|�|�k��r\|�|�} �t�| ���} �|�|�k�r��|�d�k�r��Hn��d�|�|�Gn�d�G|�|�k�r��d�Gn�d�G|�|�k�r��d�Gn�d�Gt�|���j�d���Gt �| �j �d���G|�d �}�| �t�k�rXt�|�|���t�|�|�d ���d �|�}�d�}�|�d�}�| �t�k�rT|�d�}�n��t�|���j�d ���G| �t �k�r�d�t�|��j�|���d�GqX| �t�k�r�d�|��j�|�d�GqX| �t�k�r�d�t�|�|���d�GqX| �t�k�r�d�|��j�|�d�GqX| �t�k�rd�t�|�d�GqX| �t�k�rX|�d�k�rB|��j�|��j�}�n��d�|�|�d�GqXn��HqH�Wd�S(���s���Disassemble a code object.i����s���%3ds��� s���-->s���>>s��� i���i���i���i���i���l������i���t���(t���)s���(to N(���R���R���t���dictR���t���lenR���t���ordt���reprt���rjustt���opnamet���ljustt ���HAVE_ARGUMENTt���EXTENDED_ARGt���hasconstt ���co_constst���hasnamet���co_namest���hasjrelt���haslocalt���co_varnamest ���hascomparet���cmp_opt���hasfreet���co_cellvarst���co_freevars(���t���cot���lastit���codet���labelst ���linestartst���nt���it���extended_argt���freet���ct���opt���oparg(����(����s���/usr/lib64/python2.7/dis.pyR���=���s\���� �� * c���������C���s���t��|����}�t�|����}�d�}�x�|�|�k��r�|��|�}�t�|���} �|�|�k�rV�d�Gn�d�G|�|�k�rm�d�Gn�d�Gt�|���j�d���Gt�| �j�d���G|�d�}�| �t�k�r�t�|��|���t�|��|�d���d �} �|�d �}�t�| ���j�d���G| �t�k�r$|�rd�t�|�| ���d �Gq�d�| �Gq�| �t �k�rZ|�d��k �rOd�|�| �d �Gq�d�| �Gq�| �t�k�rd�t�|�| ���d �Gq�| �t�k�r�|�r�d�|�| �d �Gq�d�| �Gq�| �t �k�r�d�t�| �d �Gq�n��Hq!�Wd��S(���Ni����s���-->s��� s���>>s��� i���i���i���i���i���i���R'���R(���s���(%d)s���(to (���R���R*���R+���R,���R-���R.���R/���R0���R2���R4���R���R6���R7���R9���R:���(���R@���R?���t���varnamest���namest ���constantsRA���RC���RD���RG���RH���RI���(����(����s���/usr/lib64/python2.7/dis.pyR���n���sH���� �� & c���������C���s����g��}�t��|����}�d�}�x��|�|�k��r��|��|�}�t�|���}�|�d�}�|�t�k�r�t�|��|���t�|��|�d���d�}�|�d�}�d�}�|�t�k�r��|�|�}�n�|�t�k�r��|�}�n��|�d�k�r��|�|�k�r��|�j�|���q��q��q�q�W|�S(���s`���Detect all offsets in a byte code which are jump targets. Return the list of offsets. i����i���i���i���i����(���R*���R+���R0���R6���t���hasjabst���append(���R@���RA���RC���RD���RG���RH���RI���t���label(����(����s���/usr/lib64/python2.7/dis.pyR�������s&���� & c��� ������c���s����g��|��j��d�d�d���D]�}�t�|���^�q�}�g��|��j��d�d�d���D]�}�t�|���^�qF�}�d�}�|��j�}�d�}�xZ�t�|�|���D]I�\�}�}�|�r��|�|�k�r��|�|�f�V|�}�n��|�|�7}�n��|�|�7}�q��W|�|�k�r��|�|�f�Vn��d�S(���s����Find the offsets in a byte code which are start of lines in the source. Generate pairs (offset, lineno) as described in Python/compile.c. i����Ni���i���(���t ���co_lnotabR+���R���t���co_firstlinenot���zip( ���R@���RG���t���byte_incrementst���line_incrementst ���lastlinenot���linenot���addrt ���byte_incrt ���line_incr(����(����s���/usr/lib64/python2.7/dis.pyR�������s����// c����������C���s����t��j�d�rf�t��j�d�r:�t��j�j�d���t��j�d���n��t��j�d�}��|��sZ�|��d�k�rl�d�}��ql�n�d�}��|��d�k�r��t��j�}�n�t�|����}�|�j����}�|��d�k �r��|�j ����n�d�}��t �|�|��d���}�t�|���d�S(���s*���Simple test program to disassemble a file.i���i���s���usage: python dis.py [-|file] t���-s���<stdin>t���execN(���R���t���argvt���stderrt���writet���exitR���t���stdint���opent���readt���closet���compileR���(���t���fnt���ft���sourceR@���(����(����s���/usr/lib64/python2.7/dis.pyt���_test����s"���� t���__main__(���t���__doc__R���R���t���opcodeR���t���_opcodes_allt ���MethodTypet���FunctionTypet���CodeTypet ���ClassTypeR���R���R���R���R���R���R���R���R���R���Rh���R���(����(����(����s���/usr/lib64/python2.7/dis.pyt���<module>���s(��� # 1 '