Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_dis.cpython-310.pyc
o

�9j���@s\ddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
dd�Ze�jj
ZGdd�d�Zdejjjd	fZd
ZdejjjdfZd
ejjjdfZdejjeejjeejjefZdd�Zdejjd	ejjdfZdZdd�Zdejjd	ejjdejjd	ejjdejjd	fZgfdd�Z de jjd	e!e jjd	e jjde jjd	fZ"dd�Z#e#jj$dd�e#_dZ%e&gd��Z'd Z(d!Z)d"Z*d#Z+d$Z,d%Z-d&Z.d'Z/d(Z0d)Z1d*Z2d+Z3d,ejd	ejdejd-ejdejd.ejd-ejdfZ4d/d0�Z5d1e5jjd	fZ6d2d3�Z7d4d5�Z8d6e7jjd	e7jjde7jjd.fZ9d7e8jjd	e8jjde8jjd.fZ:d8d9�Z;d:d;�Z<d<d=�Z=d>d?�Z>d@e>jjd	e!e>jjd	e>jjd.fZ?dAe?e!e>jjd	e>jjde!e>jjdfZ@dBe@e!e>jjde>jjdfZAGdCdD�dDejB�ZCGdEdF�dFeC�ZDejEjFdu�r�dGZGndHZGdIeG�dJ�ZHeI�dZgdL�dMdN��ZJdOZKeJjLjjMd	ZNdPZOdQZPdRZQdSZRdTdU�ZSdVZTGdWdX�dXejB�ZU�d[dYdZ�ZVd[d\�ZWd	ZXeVjjd	ZYeVjjMdZZeZjeYZ[eZjMdZ\e\jeYZ]d	Z^ej_Z_e_d]d^d_d`dadddbdc�e_dddeddfdfdddbdc�e_ddded	dgdgd.ddbdc�e_dhdidddjdkddbdc�e_d]d^deZe`eZ�d_ddbdc�e_d]d^d.dldmdnddbdc�e_dodpdqdqdrdsddbdc�e_dtduddvdvdwddbdc�e_dxdyddzdzd{d|dbdc�e_d}d~ddfdfdddbdc�e_d}d~d	dgdgd�ddbdc�e_d]d^d-djd�d�ddbdc�e_d]d^dkd	d�d�ddbdc�e_d�d�dddjd�ddbdc�e_d�d�dddjd�ddbdc�e_d]d^d|d�d�d�ddbdc�e_d�d�d|d|djd�ddbdc�e_d�d	dddjd�ddbdc�e_d�d�ddvdvd�d_dbdc�e_d�d�dddjd�ddbdc�gZae_d]d^d-d�d�dddbdc�e_dddeddfdfdddbdc�e_dddeddgdgd.ddbdc�e_dddedd�d�dkddbdc�e_ddded	d�d�d_ddbdc�e_dhdid.d.djdnddbdc�e_d]d^de\e`e\�dsddbdc�e_d]d^d.d�d�dwddbdc�e_dodpdqdqdrd{ddbdc�e_dtdudd�d�dddbdc�e_dxdyddzdzd�d-dbdc�e_d}d~ddfdfd�ddbdc�e_d}d~ddgdgd�ddbdc�e_d}d~dd�d�d�ddbdc�e_d}d~d	d�d�d�ddbdc�e_d�d�d.d.djd�ddbdc�e_d�d	dddjd�ddbdc�e_d�d�dd�d�d�dkdbdc�e_d�d�dddjd�ddbdc�gZbe_dxdyddzdzdd.dbdc�e_d}d~ddfdfdddbdc�e_d}d~d	dgdgd.ddbdc�e_d}d~dd�d�dkddbdc�e_d}d~dd�d�d_ddbdc�e_d�d�dd�d�dnddbdc�e_d�d�d	dvdvdsddbdc�e_d�d�dkdkdjdwddbdc�e_d�d	dddjd{ddbdc�e_d]d^ddd�dddbdc�e_d�d�dddjd�ddbdc�gZcge_dxdydd�d�dddbdc��e_d]d^d	dnd�dddbdc��e_d�d�d	d	djd.ddbdc��e_d�d�dddjdkddbdc��e_d�d�d�d�d�d_ddKdc��e_dtdudd�d�dnddbdc��e_dxdyd	dzdzdsd.dbdc��e_d�d�dd�d�dwddbdc��e_d�d�d	d	djd{ddbdc��e_d�d	dddjdddbdc��e_d�d�dd�d�d�d-dbdc��e_d]d^dd.d�d�ddbdc��e_d�d�dd�d�d�ddbdc��e_d�d�d�d�d�d�ddbdc��e_d�d�d.d_d�d�dkdbdc��e_d�d�dd�d�d�d|dKdc��e_d]d^ddkd�d�ddbdc��e_d�d�d.d�d�d�ddbdc��e_d�d�d�d�d�d�ddbdc��e_d�d	dddjd�d_dbdc��e_d�d�d-d�d�d�ddbdc��e_d�d�d.d_d�d�d|dKdc��e_dxdyd	dzdzd�dndKdc��e_d]d^d.d�d�d�ddbdc��e_d�d�d	d	djd�ddbdc��e_d�d	dddjd�ddbdc��e_d�d�dd�d�d�d�dKdc��e_d�d�d�d�d�d�ddbdc��e_dxdyd	dzdzd�dsdKdc��e_d�d�dd�d�d�ddbdc��e_d�d�d	d	djd�ddbdc��e_d�d	dddjd�ddbdc��e_d�d�dd�d�d�d�dbdc��e_d]d^d-d	d�d�ddbdc��e_d�d�dddjd�ddbdc��e_dtdudd�d�d�ddbdc��e_d�d�dd�d�d�dwdbdc��e_d]d^ddkd�d�ddbdc��e_d�d�d.d�d�d�ddbdc��e_d�d�d�d�d�d�ddbdc��e_d�d�d�d�d�d�d�dbdc��e_d�d�dd�d�d�d{dKdc��e_d]d^dd.d�d�ddbdc��e_d�d�dd�d�d�ddbdc��e_d�d�d�d�d�d�ddbdc��e_d�d�dkd�d�d�d�dbdc��e_d�d�dd�d�d�d�dKdc��e_d�d�d�d�d�d�ddbdc��e_dxdyd	dzdzd�d�dKdc��e_d]d^dkd�d�d�ddbdc��e_d�d�d	d	djd^ddbdc��e_d�d	dddjdiddbdc��e_d�d�d�d�d�d�d�dKdc��e_d�d�dkd�d�d�ddbdc��e_d]d^d-d	d�d�d�dbdc��e_d]d^d|dd�d�ddbdc��e_d�d�dddjd�ddbdc��e_d�d	dddjd�ddbdc��e_d�d�dddjdyddbdc��e_d�d�d�d�d�d�ddbdc��e_d�d.dddjd�d�dKdc��e_dxdydd�d�d�ddbdc��e_d��ddӐd�dd�ddbdc��e_d�d	dddj�dddbdc��e_d�d	dddj�dddbdc��e_d�d	dddj�dddbdc��e_dxdyd	dzdzdp�ddbdc��e_d]d^d_�d�d�d	ddbdc��e_d�d�d	d	djd~ddbdc��e_d�d	dddj�d
ddbdc��e_�d�ddddj�d
ddbdc��e_d�d�d��d�d�dddbdc��e_�d�ddddj�dd�dKdc��e_d�d�dd�d�d��ddKdc��e_�d�dds�d�d�dddbdc��e_dtdud	�d�d�dddbdc��e_dxdyd	dzdz�dd�dbdc��e_d]d^dq�d�d�dddbdc��e_d�d�d	d	dj�dddbdc��e_d�d	dddj�d ddbdc��e_d�d�dddj�d!ddbdc��e_d]d^ddd��d"�ddbdc��e_d�d.dddj�d#ddbdc��e_d�d.dddj�d$ddbdc��e_d�d�dddj�d%ddbdc��e_d�d	dddj�d&ddbdc��e_d�d�d��d'�d(�d)ddbdc��e_�d*�d+dddj�dddKdc��e_d�d�d�d,�d-�d.ddbdc��e_�d�dd	d	dj�d/ddbdc��e_d�d	dddj�d,ddKdc��e_d�d	dddj�d0ddbdc��e_d�d	dddj�d1ddbdc��e_�d�ddddj�d2ddbdc��e_d�d	dddj�d3ddbdc��e_d�d�dddj�d4ddbdc��e_dxdyd	dzdz�d5d�dbdc��e_d]d^dn�d6�d7�d8ddbdc��e_d�d�d	d	dj�d9ddbdc��e_d�d	dddj�d:ddbdc��e_d]d^ddd��d;ddbdc��e_d�d�dddj�d<ddbdc��e_d�d�dddj�d�ddKdc��e_dxdyd	dzdz�d=d�dbdc��e_d]d^dn�d6�d7�d>ddbdc��e_d�d�d	d	dj�d?ddbdc��e_d�d	dddj�d@ddbdc��e_d]d^ddd��dAddbdc��e_d�d�dddj�dBddbdc��e_d�d�dddj�d'�ddKdc��e_dxdyd	dzdz�dCd�dbdc��e_d]d^dn�d6�d7�dDddbdc��e_d�d�d	d	dj�dEddbdc��e_d�d	dddj�dFddbdc��e_d]d^ddd��dGddbdc��e_d�d�dddj�dHddbdc��e_dxdyd	dzdzd�ddKdc��e_d]d^dn�d6�d7�dIddbdc��e_d�d�d	d	dj�dJddbdc��e_d�d	dddj�dKddbdc��e_�d�ddddj�dLddbdc��Zd�dM�dN�Zee_d]d^ddd�deejjdbdc�e_d�d�dddjdddbdc�gZfG�dO�dP��dPe�ZgG�dQ�dR��dRejB�ZhG�dS�dT��dTe�ZiG�dU�dV��dVejB�ZjG�dW�dX��dXej�Zke�dYk�
r�e�l�dSdS(\�)�captured_stdout)�BytecodeTestCaseNcCs$dd�}|�}|jr|j}|js
|S)Nc
Ss<zddW|Sty}z
|j}WYd}~|Sd}~ww�N�r)�	Exception�
__traceback__)�e�tb�r
�$/usr/lib/python3.10/test/test_dis.py�_errors
���zget_tb.<locals>._error)�tb_next)rr	r
r
r�get_tb
s�rc@s,eZdZdd�Zedd��Zedd��ZdS)�_CcC�|dk|_dS�Nr��x)�selfrr
r
r�__init__�z_C.__init__cCs|dk}dSrr
rr
r
r�sm sz_C.smcCrrr)�clsrr
r
r�cm$sz_C.cmN)�__name__�
__module__�__qualname__r�staticmethodr�classmethodrr
r
r
rrs
ra>%3d           0 LOAD_FAST                1 (x)
              2 LOAD_CONST               1 (1)
              4 COMPARE_OP               2 (==)
              6 LOAD_FAST                0 (self)
              8 STORE_ATTR               0 (x)
             10 LOAD_CONST               0 (None)
             12 RETURN_VALUE
ra          0 LOAD_FAST                1 (1)
          2 LOAD_CONST               1 (1)
          4 COMPARE_OP               2 (==)
          6 LOAD_FAST                0 (0)
          8 STORE_ATTR               0 (0)
         10 LOAD_CONST               0 (0)
         12 RETURN_VALUE
a=%3d           0 LOAD_FAST                1 (x)
              2 LOAD_CONST               1 (1)
              4 COMPARE_OP               2 (==)
              6 LOAD_FAST                0 (cls)
              8 STORE_ATTR               0 (x)
             10 LOAD_CONST               0 (None)
             12 RETURN_VALUE
�a%3d           0 LOAD_FAST                0 (x)
              2 LOAD_CONST               1 (1)
              4 COMPARE_OP               2 (==)
              6 STORE_FAST               0 (x)
              8 LOAD_CONST               0 (None)
             10 RETURN_VALUE
zBDisassembly of %s:
%s
Disassembly of %s:
%s
Disassembly of %s:
%s
cCst|�dSr��print)�ar
r
r�_f[sr#z�%3d           0 LOAD_GLOBAL              0 (print)
              2 LOAD_FAST                0 (a)
              4 CALL_FUNCTION            1
              6 POP_TOP

%3d           8 LOAD_CONST               1 (1)
             10 RETURN_VALUE
z�          0 LOAD_GLOBAL              0 (0)
          2 LOAD_FAST                0 (0)
          4 CALL_FUNCTION            1
          6 POP_TOP
          8 LOAD_CONST               1 (1)
         10 RETURN_VALUE
cCstdd�D]}qdS)Nr�
)�range)�resr
r
r�	bug708901us
��r'a�%3d           0 LOAD_GLOBAL              0 (range)
              2 LOAD_CONST               1 (1)

%3d           4 LOAD_CONST               2 (10)

%3d           6 CALL_FUNCTION            2
              8 GET_ITER
        >>   10 FOR_ITER                 2 (to 16)
             12 STORE_FAST               0 (res)

%3d          14 JUMP_ABSOLUTE            5 (to 10)

%3d     >>   16 LOAD_CONST               0 (None)
             18 RETURN_VALUE
�cCsJdd�|D�d��)NrcSsg|]}|�qSr
r
)�.0�sr
r
r�
<listcomp>�szbug1333982.<locals>.<listcomp>rr
rr
r
r�
bug1333982�s�r,a%3d           0 LOAD_ASSERTION_ERROR
              2 LOAD_CONST               2 (<code object <listcomp> at 0x..., file "%s", line %d>)
              4 LOAD_CONST               3 ('bug1333982.<locals>.<listcomp>')
              6 MAKE_FUNCTION            0
              8 LOAD_FAST                0 (x)
             10 GET_ITER
             12 CALL_FUNCTION            1

%3d          14 LOAD_CONST               4 (1)

%3d          16 BINARY_ADD
             18 CALL_FUNCTION            1
             20 RAISE_VARARGS            1
cC�dS�Nr
r
r
r
r�bug42562�sr/s�)�co_linetablezG          0 LOAD_CONST               0 (None)
          2 RETURN_VALUE
)
�r�	�r1r�d�)�Srz�          0 EXTENDED_ARG             1
          2 NOP
          4 EXTENDED_ARG             1
          6 LOAD_CONST             297 (297)
          8 RETURN_VALUE
z�%3d           0 LOAD_GLOBAL              0 (spam)
              2 POP_TOP
              4 LOAD_CONST               0 (None)
              6 RETURN_VALUE
z�%4d           0 LOAD_GLOBAL              0 (spam)
               2 POP_TOP
               4 LOAD_CONST               0 (None)
               6 RETURN_VALUE
z�Disassembly of f:
  4           0 LOAD_CONST               0 (None)
              2 RETURN_VALUE

Disassembly of g:
  5           0 LOAD_CONST               0 (None)
              2 RETURN_VALUE

zx + 1z�  1           0 LOAD_NAME                0 (x)
              2 LOAD_CONST               0 (1)
              4 BINARY_ADD
              6 RETURN_VALUE
�	x = x + 1z�  1           0 LOAD_NAME                0 (x)
              2 LOAD_CONST               0 (1)
              4 BINARY_ADD
              6 STORE_NAME               0 (x)
              8 LOAD_CONST               1 (None)
             10 RETURN_VALUE
z+
x: int = 1
y: fun(1)
lst[fun(0)]: int = 1
a�  2           0 SETUP_ANNOTATIONS
              2 LOAD_CONST               0 (1)
              4 STORE_NAME               0 (x)
              6 LOAD_NAME                1 (int)
              8 LOAD_NAME                2 (__annotations__)
             10 LOAD_CONST               1 ('x')
             12 STORE_SUBSCR

  3          14 LOAD_NAME                3 (fun)
             16 LOAD_CONST               0 (1)
             18 CALL_FUNCTION            1
             20 LOAD_NAME                2 (__annotations__)
             22 LOAD_CONST               2 ('y')
             24 STORE_SUBSCR

  4          26 LOAD_CONST               0 (1)
             28 LOAD_NAME                4 (lst)
             30 LOAD_NAME                3 (fun)
             32 LOAD_CONST               3 (0)
             34 CALL_FUNCTION            1
             36 STORE_SUBSCR
             38 LOAD_NAME                1 (int)
             40 POP_TOP
             42 LOAD_CONST               4 (None)
             44 RETURN_VALUE
zx = 0
while 1:
    x += 1aP  1           0 LOAD_CONST               0 (0)
              2 STORE_NAME               0 (x)

  2           4 NOP

  3     >>    6 LOAD_NAME                0 (x)
              8 LOAD_CONST               1 (1)
             10 INPLACE_ADD
             12 STORE_NAME               0 (x)

  2          14 JUMP_ABSOLUTE            3 (to 6)
a�%3d           0 SETUP_FINALLY            7 (to 16)

%3d           2 LOAD_CONST               1 (1)
              4 LOAD_CONST               2 (0)
    -->       6 BINARY_TRUE_DIVIDE
              8 POP_TOP
             10 POP_BLOCK

%3d          12 LOAD_FAST                1 (tb)
             14 RETURN_VALUE

%3d     >>   16 DUP_TOP
             18 LOAD_GLOBAL              0 (Exception)
             20 JUMP_IF_NOT_EXC_MATCH    29 (to 58)
             22 POP_TOP
             24 STORE_FAST               0 (e)
             26 POP_TOP
             28 SETUP_FINALLY           10 (to 50)

%3d          30 LOAD_FAST                0 (e)
             32 LOAD_ATTR                1 (__traceback__)
             34 STORE_FAST               1 (tb)
             36 POP_BLOCK
             38 POP_EXCEPT
             40 LOAD_CONST               0 (None)
             42 STORE_FAST               0 (e)
             44 DELETE_FAST              0 (e)

%3d          46 LOAD_FAST                1 (tb)
             48 RETURN_VALUE
        >>   50 LOAD_CONST               0 (None)
             52 STORE_FAST               0 (e)
             54 DELETE_FAST              0 (e)
             56 RERAISE                  1

%3d     >>   58 RERAISE                  0
��cCs|�d|d�d|�d|d��S)N� �4r
�r"�b�c�dr
r
r�_fstringZsr@a�%3d           0 LOAD_FAST                0 (a)
              2 FORMAT_VALUE             0
              4 LOAD_CONST               1 (' ')
              6 LOAD_FAST                1 (b)
              8 LOAD_CONST               2 ('4')
             10 FORMAT_VALUE             4 (with format)
             12 LOAD_CONST               1 (' ')
             14 LOAD_FAST                2 (c)
             16 FORMAT_VALUE             2 (repr)
             18 LOAD_CONST               1 (' ')
             20 LOAD_FAST                3 (d)
             22 LOAD_CONST               2 ('4')
             24 FORMAT_VALUE             6 (repr, with format)
             26 BUILD_STRING             7
             28 RETURN_VALUE
cCsz|W|�S|�wr.r
�r"r=r
r
r�_tryfinallyosrBcCszW|�dS|�wrr
)r=r
r
r�_tryfinallyconstusrCa�%3d           0 SETUP_FINALLY            6 (to 14)

%3d           2 LOAD_FAST                0 (a)
              4 POP_BLOCK

%3d           6 LOAD_FAST                1 (b)
              8 CALL_FUNCTION            0
             10 POP_TOP
             12 RETURN_VALUE
        >>   14 LOAD_FAST                1 (b)
             16 CALL_FUNCTION            0
             18 POP_TOP
             20 RERAISE                  0
a�%3d           0 SETUP_FINALLY            6 (to 14)

%3d           2 POP_BLOCK

%3d           4 LOAD_FAST                0 (b)
              6 CALL_FUNCTION            0
              8 POP_TOP
             10 LOAD_CONST               1 (1)
             12 RETURN_VALUE
        >>   14 LOAD_FAST                0 (b)
             16 CALL_FUNCTION            0
             18 POP_TOP
             20 RERAISE                  0
ccs�|VdSr.r
rr
r
r�_g���
rDcCs�|VdSr.r
rr
r
r�_ag�rErFc�s�t|�2z3dHW}q6dSr.)rF)r�itemr
r
r�_co�s��rHcs�fdd�}|S)Ncs�fdd��D�S)�funcdoccsg|]}�|�qSr
r
)r)�zrr
rr+�sz#_h.<locals>.foo.<locals>.<listcomp>r
r��yrr�foo�sz_h.<locals>.foor
)rLrMr
rKr�_h�srNa�%3d           0 LOAD_CLOSURE             0 (y)
              2 BUILD_TUPLE              1
              4 LOAD_CONST               1 (<code object foo at 0x..., file "%s", line %d>)
              6 LOAD_CONST               2 ('_h.<locals>.foo')
              8 MAKE_FUNCTION            8 (closure)
             10 STORE_FAST               1 (foo)

%3d          12 LOAD_FAST                1 (foo)
             14 RETURN_VALUE
a%s
Disassembly of <code object foo at 0x..., file "%s", line %d>:
%3d           0 LOAD_CLOSURE             0 (x)
              2 BUILD_TUPLE              1
              4 LOAD_CONST               1 (<code object <listcomp> at 0x..., file "%s", line %d>)
              6 LOAD_CONST               2 ('_h.<locals>.foo.<locals>.<listcomp>')
              8 MAKE_FUNCTION            8 (closure)
             10 LOAD_DEREF               1 (y)
             12 GET_ITER
             14 CALL_FUNCTION            1
             16 RETURN_VALUE
a�%s
Disassembly of <code object <listcomp> at 0x..., file "%s", line %d>:
%3d           0 BUILD_LIST               0
              2 LOAD_FAST                0 (.0)
        >>    4 FOR_ITER                 6 (to 18)
              6 STORE_FAST               1 (z)
              8 LOAD_DEREF               0 (x)
             10 LOAD_FAST                1 (z)
             12 BINARY_ADD
             14 LIST_APPEND              2
             16 JUMP_ABSOLUTE            2 (to 4)
        >>   18 RETURN_VALUE
c@seZdZdZdBdd�ZdCdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Zd<d=�Z d>d?�Z!d@dA�Z"dS)D�DisTestsN���TcKs�t��}t�|��+|rtj|fi|��ntj||fi|��Wd�|��SWd�|��S1s7wY|��Sr.)�io�StringIO�
contextlib�redirect_stdout�dis�disassemble�getvalue�r�func�lasti�wrapper�kwargs�outputr
r
r�get_disassembly�s
��
��zDisTests.get_disassemblycCs|�||d�S)NF)r^)rrYrZr
r
r�get_disassemble_as_string�rz"DisTests.get_disassemble_as_stringcCst�dd|�S)Nz\b0x[0-9A-Fa-f]+\bz0x...)�re�sub)r�textr
r
r�strip_addresses�rzDisTests.strip_addressescCs0|j|dd�}||kr|�|�}|�||�dS)Nr��depth)r^rc�assertEqual)rrY�expected�gotr
r
r�do_disassembly_test�s
zDisTests.do_disassembly_testcCs>|�tjdd�|�tjdtj�|�tjdtj�dS)N�NOPr2�
LOAD_CONST�
STORE_NAME)rfrU�opmap�assertIn�hasconst�hasname�rr
r
r�
test_opmapszDisTests.test_opmapcCs|�tjtjdd�dS)N�	LOAD_FAST)rfrU�opnamermrqr
r
r�test_opname�zDisTests.test_opnamecCs,|�tjdtj�|�tjdtj�dS)N�EXTENDED_ARGrl)rfrUrmrw�
HAVE_ARGUMENTrqr
r
r�test_boundaries	szDisTests.test_boundariesc	Cs|ttj�D]6\}}|dvrq|j|d��tj}|tjkr$|dtj7}|�t|�|�Wd�n1s6wYqdS)N)�BUILD_MAP_UNPACK_WITH_CALL�BUILD_TUPLE_UNPACK_WITH_CALL�JUMP_IF_NOT_EXC_MATCH)rtr)	�	enumeraterUrt�subTest�
_OPNAME_WIDTHrx�_OPARG_WIDTH�assertLessEqual�len)r�opcodert�widthr
r
r�test_widths
s
���zDisTests.test_widthscC�|�tt�dSr.)rir#�dis_frqr
r
r�test_dis�zDisTests.test_discCr�r.)rir'�
dis_bug708901rqr
r
r�test_bug_708901r�zDisTests.test_bug_708901cCs	|�tt�dSr.)�skipTestrir,�dis_bug1333982rqr
r
r�test_bug_1333982szDisTests.test_bug_1333982cCr�r.)rir/�dis_bug42562rqr
r
r�test_bug_42562'r�zDisTests.test_bug_42562cCr�r.)ri�code_bug_45757�
dis_bug_45757rqr
r
r�test_bug_45757*szDisTests.test_bug_45757cCs�dd�}tdd�D]}t|d}|�||�|�q	tddd�D]}t|d}|�||�|�q tddd�D]}t|d}|�||�|�q7d	d
lm}|�|t�dS)NcSs0i}dd�dg|dg�}t||�|dS)Nzdef foo():
 �z
 zspam
rM��join�exec��count�	namespacerYr
r
rrY/s
z'DisTests.test_big_linenos.<locals>.funcri,r��r$i�r)�
dis_module)r%�_BIG_LINENO_FORMATri�_BIG_LINENO_FORMAT2�testr��dis_module_expected_results)rrY�irgr�r
r
r�test_big_linenos.szDisTests.test_big_linenoscCsfdd�}dd�}tdd�D]
}|�||�||d��q
|�|d�|dd��|�|d	�|d	d��dS)
NcSs.i}dd�dg|�d}t||�|dS)Nz
def foo(x):
 �;r7z

 return xrMr�r�r
r
rrYGs
z'DisTests.test_big_offsets.<locals>.funccsZ�fdd�t|�D�}|d�d|�d|dfg7}d|ddd�|d<d	�|�S)
Ncs@g|]}d�d|�d|d�d|d�d|df�qS)z�           %*d LOAD_FAST                0 (x)
           %*d LOAD_CONST               1 (1)
           %*d BINARY_ADD
           %*d STORE_FAST               0 (x)
�rr9�r
)r)r���wr
rr+Ns
�.�z?DisTests.test_big_offsets.<locals>.expected.<locals>.<listcomp>zK
  3        %*d LOAD_FAST                0 (x)
           %*d RETURN_VALUE
r�rz  2rr(r�)r%r�)r�r�r*r
r�rrgMs
��
z+DisTests.test_big_offsets.<locals>.expectedrr8r9i�i�)r%ri)rrYrgr�r
r
r�test_big_offsetsFszDisTests.test_big_offsetscCs4|�tt�|�tt�|�tt�|�tt�dSr.)	ri�expr_str�dis_expr_str�simple_stmt_str�dis_simple_stmt_str�annot_stmt_str�dis_annot_stmt_str�compound_stmt_str�dis_compound_stmt_strrqr
r
r�test_disassemble_strbszDisTests.test_disassemble_strcCs|�tjjt�dSr.)rir#�__code__�co_code�
dis_f_co_coderqr
r
r�test_disassemble_byteshszDisTests.test_disassemble_bytescCr�r.)rir�dis_crqr
r
r�test_disassemble_classkr�zDisTests.test_disassemble_classcCs|�td�jt�dSr)rirr�dis_c_instance_methodrqr
r
r� test_disassemble_instance_methodn�z)DisTests.test_disassemble_instance_methodcCstd�jjj}|�|t�dSr)rrr�r�ri�dis_c_instance_method_bytes)r�method_bytecoder
r
r�&test_disassemble_instance_method_bytesq�z/DisTests.test_disassemble_instance_method_bytescC�|�tjt�dSr.)rirr�dis_c_static_methodrqr
r
r�test_disassemble_static_methodu�z'DisTests.test_disassemble_static_methodcCr�r.)rirr�dis_c_class_methodrqr
r
r�test_disassemble_class_methodxr�z&DisTests.test_disassemble_class_methodcC�(|�t�}|�td��}|�||�dSr)r^rDrf)r�gen_func_disas�	gen_disasr
r
r�test_disassemble_generator{�
z#DisTests.test_disassemble_generatorcCr�r)r^rFrf)r�agen_func_disas�
agen_disasr
r
r� test_disassemble_async_generator�r�z)DisTests.test_disassemble_async_generatorcCs4|�t�}td�}|��|�|�}|�||�dSr)r^rH�closerf)r�coro_func_disas�coro�
coro_disasr
r
r�test_disassemble_coroutine�s


z#DisTests.test_disassemble_coroutinecCr�r.)rir@�dis_fstringrqr
r
r�test_disassemble_fstring�r�z!DisTests.test_disassemble_fstringcCs|�tt�|�tt�dSr.)rirB�dis_tryfinallyrC�dis_tryfinallyconstrqr
r
r�test_disassemble_try_finally�sz%DisTests.test_disassemble_try_finallycCs0zt`Wn	ty
Ynw|�ttjd�dSr.)�sys�last_traceback�AttributeError�assertRaises�RuntimeErrorrUrqr
r
r�
test_dis_none�s�zDisTests.test_dis_nonec
Cs|zt`Wn	ty
YnwzddWnty,}z|j}|t_WYd}~nd}~ww|�|jj|j�}|�	d|�dSr)
r�r�r�rrr_�tb_frame�f_code�tb_lastiri)rrr	�tb_disr
r
r�test_dis_traceback�s���zDisTests.test_dis_tracebackcCs|�ttjt��dSr.)r��	TypeErrorrU�objectrqr
r
r�test_dis_object�r�zDisTests.test_dis_objectcsT�fdd�}|tdd�|tdd�|tdd�|tdd�|tdd�|t�dS)Ncs,�jtfi|��}��|�}��||�dSr.)r^rNrcrf)rgr\rUrqr
r�check�s
z2DisTests.test_disassemble_recursive.<locals>.checkrrdrrr()�dis_nested_0�dis_nested_1�dis_nested_2)rr�r
rqr�test_disassemble_recursive�sz#DisTests.test_disassemble_recursive�rPT)rP)#rrr�maxDiffr^r_rcrirrruryr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r
r
r
rrO�sB


rOc@seZdZddd�ZdS)�DisWithFileTestsrPTcKsJt��}|rtj|fd|i|��|��Stj||fd|i|��|��S)N�file)rQrRrUrVrWrXr
r
rr^�s�z DisWithFileTests.get_disassemblyNr��rrrr^r
r
r
rr��sr�z0: Nonez60: 'Formatted details of methods, functions, or code.'z�Name:              code_info
Filename:          (.*)
Argument count:    1
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  1
Stack size:        3
Flags:             OPTIMIZED, NEWLOCALS, NOFREE
Constants:
   zN
Names:
   0: _format_code_info
   1: _get_code_object
Variable names:
   0: xT)rc
	/s<�|f��������fdd�	������|���f	VdS)Nc
st�����|����	dSr.r )r>�r"r=r?r�frrLrJr
rr��rvztricky.<locals>.fr
)
r"r=rrLrJr>r?r�args�kwdsr
r�r�tricky�s�r�a.Name:              tricky
Filename:          (.*)
Argument count:    5
Positional-only arguments: 2
Kw-only arguments: 3
Number of locals:  10
Stack size:        9
Flags:             OPTIMIZED, NEWLOCALS, VARARGS, VARKEYWORDS, GENERATOR
Constants:
   0: None
   1: <code object f at (.*), file "(.*)", line (.*)>
   2: 'tricky.<locals>.f'
Variable names:
   0: a
   1: b
   2: x
   3: y
   4: z
   5: c
   6: d
   7: e
   8: args
   9: kwds
Cell variables:
   0: [abedfxyz]
   1: [abedfxyz]
   2: [abedfxyz]
   3: [abedfxyz]
   4: [abedfxyz]
   5: [abedfxyz]apFilename:          (.*)
Argument count:    1
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  1
Stack size:        10
Flags:             OPTIMIZED, NEWLOCALS, NESTED
Constants:
   0: None
Names:
   0: print
Variable names:
   0: c
Free variables:
   0: [abedfxyz]
   1: [abedfxyz]
   2: [abedfxyz]
   3: [abedfxyz]
   4: [abedfxyz]
   5: [abedfxyz]z�Name:              <module>
Filename:          <disassembly>
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  0
Stack size:        2
Flags:             NOFREE
Constants:
   0: 1
Names:
   0: xz�Name:              <module>
Filename:          <disassembly>
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  0
Stack size:        2
Flags:             NOFREE
Constants:
   0: 1
   1: None
Names:
   0: xz�Name:              <module>
Filename:          <disassembly>
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  0
Stack size:        2
Flags:             NOFREE
Constants:
   0: 0
   1: 1
Names:
   0: xc	�s^�dIdHt2z3dHW}q6t4IdH�}Wd�IdHdS1IdHs(wYdSr)r=r>)r"r?r
r
r�	async_defIs�
>r�a5Name:              async_def
Filename:          (.*)
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  2
Stack size:        9
Flags:             OPTIMIZED, NEWLOCALS, NOFREE, COROUTINE
Constants:
   0: None
   1: 1
Names:
   0: b
   1: c
Variable names:
   0: a
   1: dc@s\eZdZejefeefee	fe
efee
feefeefgZdd�Zdd�Zdd�Zdd�Zd	S)
�
CodeInfoTestscCs,d|_|jD]
\}}|�t�|�|�qdS�Nr�)r��
test_pairs�assertRegexrU�	code_info)rrrgr
r
r�test_code_infols�zCodeInfoTests.test_code_infoc	Cs�d|_|jD]9\}}t��
}t�|�Wd�n1swY|�|��|d�t��}tj||d�|�|��|�qdS)Nr��
�r�)	r�r�rrU�	show_coder�rWrQrR)rrrgr]r
r
r�test_show_codeqs��zCodeInfoTests.test_show_codecCs|�ttjt��dSr.)r�r�rUr�r�rqr
r
r�test_code_info_object{r�z#CodeInfoTests.test_code_info_objectcCs|�t�d�d�dS)Nr�0x0)rfrU�pretty_flagsrqr
r
r�test_pretty_flags_no_flags~r�z(CodeInfoTests.test_pretty_flags_no_flagsN)rrrrUr��code_info_code_infor��code_info_tricky�co_tricky_nested_f�code_info_tricky_nested_fr��code_info_expr_strr��code_info_simple_stmt_strr��code_info_compound_stmt_strr��code_info_async_defr�r�r�r�rr
r
r
rr�as�

r�cs(d��fdd�	}t��ddgid�|S)	Nr(r9cs&d����fdd�	}t�����|S)Nr8r�cst����||�dSr.r )rr�r<r
r�inner�r��outer.<locals>.f.<locals>.inner�r8r�r )r>r?rrA)r>r?rr��s�outer.<locals>.fr�r�Hello world!�r(r9r )r"r=r�r
rAr�outer�srcCs�td�D]}t|�|dkrq|dkrnqtd�|r0t|�|d8}|dkr)q|dkr.n|std�z?zddWn
tyHtd�Ynw|�}td	�Wd�n1sZwYWtd
�dSWtd
�dSWtd
�dStd
�w)Nr$r9r��I can haz else clause?r�%Who let lolcatz into this test suite?r�%Here we go, here we go, here we go...�Never reach this�OK, now we're done)r%r!�ZeroDivisionError)r��dodgyr
r
r�jumpy�s<���
���rrkr4r�rz(3, 4)F)rtr��arg�argval�argrepr�offset�starts_line�is_jump_target�LOAD_CLOSURE�r"r=�BUILD_TUPLE�fr�r�rz'outer.<locals>.f'r$�
MAKE_FUNCTION�r2zdefaults, closure��
STORE_FAST�}r���LOAD_GLOBAL�tr!���
LOAD_DEREF���z''��1��
BUILD_LIST�g��	BUILD_MAP�i�rz'Hello world!'��
CALL_FUNCTION�� �POP_TOP�"rs�|�$�RETURN_VALUEr6�&r
z(5, 6)r>r?rz!'outer.<locals>.f.<locals>.inner'rr�Noner%�10�GET_ITER�D�FOR_ITER�]��,zto 44r�r;�
COMPARE_OP�k�<�POP_JUMP_IF_FALSE�r�zto 30�
JUMP_ABSOLUTE�qzto 8�6�>��*zto 42�JUMP_FORWARD�n�4zto 52�(rz'I can haz else clause?'�.�0�2��`zto 96�6�8�:�<�>�@�
�B�INPLACE_SUBTRACT�F�H�J�Lr5�Rzto 82�N�P�T�V�\zto 92�X�hzto 104�Z�POP_JUMP_IF_TRUE�szto 56�^�rz''Who let lolcatz into this test suite?'�b�
SETUP_FINALLY�z�?��zto 232�xzto 120�j�l�0�BINARY_TRUE_DIVIDE��p�	POP_BLOCK�W�zto 146�v�DUP_TOPrr|�yr1zto 144�~���rz''Here we go, here we go, here we go...'���
POP_EXCEPT�Y���zto 204��RERAISE�w��
SETUP_WITH��zto 174�r��rz'Never reach this'�����������zto 218��WITH_EXCEPT_START�1�zto 180��������rz"OK, now we're done"������������������������������������������cCr-r.r
r
r
r
r�simplesr�csLeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	�Z
S)�InstructionTestscst�j|�d|_dSr.)�superrr�)rr���	__class__r
rr�s
zInstructionTests.__init__cCst�t�}|�t|�t�dSr.�rU�get_instructionsr�rf�list�expected_opinfo_simple�r�actualr
r
r�test_default_first_line�s
z(InstructionTests.test_default_first_linecCs"tjtdd�}|�t|�t�dS�N��
first_liner�r�r
r
r�test_first_line_set_to_None��z,InstructionTests.test_first_line_set_to_NonecC�"tjttd�}|�t|�t�dSr�)rUr�r�expected_outer_linerfr��expected_opinfo_outerr�r
r
r�
test_outer�r�zInstructionTests.test_outercCsNt��t�}Wd�n1swYtj|td�}|�t|�t�dSr�)rrrUr��expected_f_linerfr��expected_opinfo_f)rr�r�r
r
r�test_nested�s
�zInstructionTests.test_nestedcCsPt��t��}Wd�n1swYtj|td�}|�t|�t�dSr�)rrrUr��expected_inner_linerfr��expected_opinfo_inner)rrr�r
r
r�test_doubly_nested�s

�z#InstructionTests.test_doubly_nestedcCr�r�)rUr�r�expected_jumpy_linerfr��expected_opinfo_jumpyr�r
r
r�
test_jumpy�r�zInstructionTests.test_jumpy)rrrrr�r�r�r�r�r��
__classcell__r
r
r�rr��sr�c@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�
BytecodeTestsc	Csvttd�jdtjfD]%}|j|d��t�|�}|�|jt	j
�Wd�n1s*wYq
|�ttjt
��dS�Nrza=1)�obj)r#rrr�r~rU�Bytecode�assertIsInstance�codeobj�types�CodeTyper�r�r�)rr�r=r
r
r�test_instantiation�s
��z BytecodeTests.test_instantiationc	Csrttd�jdtjfD],}|j|d��tt�|��}tt�|��}|�	||�Wd�n1s1wYq
dSr�)
r#rrr�r~r�rUr�r�rf)rr��
via_object�
via_generatorr
r
r�test_iteration�s���zBytecodeTests.test_iterationcCr�r�)rUr�rr�rfr�r�r�r
r
r�test_explicit_first_line�r�z&BytecodeTests.test_explicit_first_linecCslt�t���}|���d�d}ttjj�}|�||�tjtdd���}|���d�d}|�|d�dS)Nr:ri^r��350)	rUr�r��strip�	partition�strr��co_firstlinenorf)rr�rgr
r
r�test_source_line_in_disassembly�sz-BytecodeTests.test_source_line_in_disassemblycCs4d|_tjD]\}}t�|�}|�|��|�qdSr�)r�r�r�rUr�r��info)rrrgr=r
r
r�	test_info�s

�zBytecodeTests.test_infocCst�t���}|�|t�dSr.)rUr�r#rfr�r�r
r
r�test_disassembled�r�zBytecodeTests.test_disassembledcCs8t�}tj�|�}|jr|j}|js|�|j|j�dSr.)rrUr��from_tracebackr
rf�current_offsetr��rr	r=r
r
r�test_from_traceback�sz!BytecodeTests.test_from_tracebackcCs&t�}tj�|�}|�|��t�dSr.)rrUr�rrf�
dis_tracebackrr
r
r�test_from_traceback_dis�sz%BytecodeTests.test_from_traceback_disN)rrrr�r�r�r�rrrrr
r
r
rr��s	r�c@s$eZdZdd�Zdd�Zdd�ZdS)�TestBytecodeTestCasecCs8tddd�}|�|dd�|�|d�|�|dd�dS)N�a = 1�<string>r�rkr�	LOAD_NAMEr"��compile�assertInBytecode�assertNotInBytecode�r�coder
r
r�*test_assert_not_in_with_op_not_in_bytecode�sz?TestBytecodeTestCase.test_assert_not_in_with_op_not_in_bytecodecCs8tddd�}|�|d�|�|dd�|�|dd�dS)Nr	r
r�rkrrrrr
r
r�+test_assert_not_in_with_arg_not_in_bytecode�sz@TestBytecodeTestCase.test_assert_not_in_with_arg_not_in_bytecodecCsJtddd�}|�t��|�|dd�Wd�dS1swYdS)Nr	r
r�rkr)r
r��AssertionErrorrrr
r
r�'test_assert_not_in_with_arg_in_bytecode�s"�z<TestBytecodeTestCase.test_assert_not_in_with_arg_in_bytecodeN)rrrrrrr
r
r
rr�srcs>eZdZd
�fdd�Zdd�Zdd�Zd	d
�Zdd�Z�ZS)�TestDisTraceback�returnNcs&zt`Wn	ty
Ynwt���Sr.)r�r�r�r��setUprqr�r
rr�s�
zTestDisTraceback.setUpcCsJt��}t�|��t�|�Wd�|��S1swY|��Sr.�rQrRrSrTrU�distbrW�rr	r]r
r
rr^�s
��z TestDisTraceback.get_disassemblycCs8|�t��
t��Wd�dS1swYdSr.)r�r�rUrrqr
r
r�test_distb_emptys
"�z!TestDisTraceback.test_distb_emptycCs"t�}|t_|�|�d�t�dSr.)rr�r�rfr^r�rr	r
r
r�test_distb_last_tracebacksz*TestDisTraceback.test_distb_last_tracebackcCst�}|�|�|�t�dSr.)rrfr^rrr
r
r�test_distb_explicit_argsz(TestDisTraceback.test_distb_explicit_arg)rN)	rrrrr^rrrr�r
r
r�rr�src@seZdZdd�ZdS)�TestDisTracebackWithFilecCsNt��}t�|��tj||d�Wd�|��S1swY|��S)Nr�rrr
r
rr^s
��z(TestDisTracebackWithFile.get_disassemblyNr�r
r
r
rr sr �__main__)T)rr)m�test.supportr�test.support.bytecode_helperr�unittestr�rUrQr`r�rSrr�r��TRACEBACK_CODErrr�r�r�r�rr�rr�rr�r#r�r�r'r�r,�__file__r�r/�replacer��bytesr�r�r�r�r�r�r�r�r�r�r�r�r�rr@r�rBrCr�r�rDrFrHrNr�r�r��TestCaserOr�r��__doc__�code_info_constsrrr�r�__func__�	co_constsrrrrr	r�r
r�rrr��_line_offset�
code_object_fr��code_object_innerr�r��Instruction�reprr�r�r�r�r�r�r�r�rrr �mainr
r
r
r�<module>s�

�

�
�
��

��





��



��	%��-�


��


��



��


��

��T
�!#	


�����������	�
���
������������������� �!�"�#�$�%�&�'�(�)�*�+�,�-�.�/�0�1�2�3�4�5�6�7�8�9�:�;�<�=�>�?�@�A�B�C�D�E�F�G�H�I�J� K�L�M�N�O�P�Q�R�S�T�U�V�W�X�Y�Z�[�\�]�^�_�`�a�b�c�d�e�f�g�h�i�j�k�l�m�n�o�p�q�r�s�t�u�v�w�x�y�}�$8	�

Youez - 2016 - github.com/yon3zu
LinuXploit