403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.123
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/test_dis.cpython-315.opt-1.pyc
R
>lqj��c"�3�]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]PH$s	]PH(s
]PH,s]PH0s]QH4GsGsGsGsGsGsGs]QHTGs\O.Q*sQs\2O4O6sQQ2sQ\O<O>O@\O<O>O@]*1*s!Qs"Q	\OFO>O@\OFO>O@]*1*s$Q
\OJO>O@\OJO>O@]*1*s&Q\O<ON8Q\!8Q
\OFON8Q\$8Q
\OJON8Q\&8Q0
s(Qs)Q\)O>O@\)O>O@]*\)O>O@]*1*s*Q\)O>O@\)O>O@]*\)O>O@]*1*s+Qs,Qs-Qs.Q\.O>O@\.O>O@]*\.O>O@]*\.O>O@]*\.O>O@]*\.O>O@]*1*s/,1Qks0Q\0O>O@\0O>O@]*\1\0O>O@]*\0O>O@]*\0O>O@]*1*s2Qs3\3O>OiQQ5\3mQs5\6\O.Q*]\O.Q*]�\O.Q*]\O.Q*])\O.Q*],
2s7Q s8\6\Or]�\Or]�\Or]�\O.Q!*]�,2s:Q"s;Q#s<Q$s=Q%\=O>O@\=O>O@]*1*s>Q&s?Q's@Q(sAQ)sBQ*sCQ+sDQ,sEQ-sFQ.sGQ/sHQ0sIQ1sJQ2sKQ3sLQ4sMQ5sNQ6\O@\O@]*\O@]*\O@]*\O@]*\O@]*\O@]*\O@]*1*sOQ7sPQ8\PO>O@\PO>O@]*1*sQQ9sRQ:\RO>O@\RO>O@]*\RO>O@]*\RO>O@]*\RO>O@]*\RO>O@]*\RO>O@]*1*sSQ;sTQ<\TO>O@\TO>O@]*\TO>O@]*\TO>O@]*\TO>O@]*\TO>O@]*\TO>O@]*1*sUQ=sVQ>sWQ?\VO>O@\VO>O@]*\VO>O@]*\VO>O@]*\VO>O@]*1*sXQ@\WO>O@\WO>O@]*\WO>O@]*\WO>O@]*\WO>O@]*1*sYQAsZQBs[QCs\QDs]QE\]O>O@\]O>O@]*\1\]O>O@]*\]O>O@]*1*s^QF\^\1\]O>O@]*\]O>O@]*\]O>O@]*]\1\]O>O@]*\1\]O>O@]*1
*s_QG\_\1\]O>O@]*\]O>O@]*1*s`CQQHksaQI\aO>O@\aO>O@]*\aO>O@]*1*sbQJscQK\cO>O@\cO>O@]*\cO>O@]*\cO>O@]*1*sdQLseQM\eO>O@\eO>O@]*1*sfQNQO\O�2shQPQQ\h2siQRQS\i2sj\O�O�eQTsmLQUsmQV\mQW0sn\oCQQX,-QYkk2spQZsq\pO�O>O�]*stQ[suQ\svQ\swQ]sxQ^syQ_szQ`Qa\O�2s{CQQbks|Qcs}]s~\|O>O@]*
s\|O>O�]*s�\�O@\*
s�\�O�]*s�\�O@\*
s�]s�Qds�Qes�\COCOs�\�Qf]QgQg]]P	PQh5\�Qf]QiQi]]P
PQh5\�Qj]]P]]P	]CQ,Qk5	\�Q]CQQl]]P	]Qh5\�Qm]QgQg]
]
P
]Qh5\�Qm]QiQi]]P
]Qh5\�Qn]]P]]P
]Qh5\�Q]\�\�\�2]]P
]Qh5\�QoPPP]]P
]Qh5\�Qp]]Qq]]P
]Qh5\�Qp]]Qr]]P
]Qh5\�Qs]QtQt]]P
]Qh5\�Qu]QvQw]]P	],CQNQk5	\�Qx]QgQg]$]$P
]Qh5\�Qx]QiQi]&]&P
]Qh5\�Qy]PQz](](P
]Qh5\�Q{]]P]*]*P
]Qh5\�Q|]]P],],P
]Qh5\�Q}]]P].].P
]Qh5\�Q]Q~Q]0]0P
]Qh5\�Q�]]P]2]2P
]CQCQ,Qk5	\�Q�PPP]:]:P
]Qh5\�Qm]QtQt]<]<P	]Qh5\�QPPP]>]>P
]Qh5,s�\�Q�]]P]]P	PQh5\�Qf]Q�Q�]]P
PQh5\�Qf]Q�Q�]]P
PQh5\�Qj]]P]]P	]CQ,Qk5	\�Q]CQQ�]
]
P	]Qh5\�Qm]QgQg]]P
]Qh5\�Qm]QiQi]]P
]Qh5\�Qm]Q�Q�]]P
]Qh5\�Qm]Q�Q�]]P
]Qh5\�Qn]]P]]P
]Qh5\�Q]\�\�\�2]]P
]Qh5\�QoPPP]]P
]Qh5\�Qp]]Qq]]P
]Qh5\�Qp]]Qr]]P
]Qh5\�Qs]Q�Q�]]P
]Qh5\�Qu]QvQw] ] P	],CQNQk5	\�Qx]QgQg]*]*P
]Qh5\�Qx]QiQi],],P
]Qh5\�Qx]Q�Q�].].P
]Qh5\�Qx]Q�Q�]0]0P
]Qh5\�Q�]]P]2]2P
]CQCQ,Qk5	\�Q�PPP]:]:P
]Qh5\�Qm]Q�Q�]<]<P	]Qh5\�QPPP]>]>P
]Qh5,s�\�Q�]]P]]P	PQh5\�Qj]]P]]P	]CQ,Qk5	\�Qu]QvQw]]P	],CQNQk5	\�Qx]QgQg]]P
]Qh5\�Qx]QiQi]]P
]Qh5\�Qx]Q�Q�]]P
]Qh5\�Qx]Q�Q�]]P
]Qh5\�Q�]CQQ�]]P
]Qh5\�Q�]]P]]P
]CQCQ,Qk5	\�Q�PPP]"]"P
]Qh5\�Qy]PQ�]$]$P
]Qh5\�QPPP]&]&P
]Qh5,s�,\�Qj]]P]]P	]CQ,Qk5	M\�Qu]Q�Q�]]P	],CQNQk5	M\�Q{]
]
P]]P
]Qh5M\�Q�]]P]]P
]CQCQ,Qk5	M\�Q�]]P]]P
]CQ,Qk5	M\�Q�]!]bQ�]]P
]]CQ,Q�5
M\�Qs]Q�Q�] ] P
]Qh5M\�Qu]QvQw]"]"P	],CQNQk5	M\�Qm]Q�Q�],],P
]Qh5M\�Q�]]P].].P
]CQCQ,Qk5	M\�Q�PPP]6]6P
]Qh5M\�Qm]Q�Q�]8]8P	]Qh5M\�Q{]]P]:]:P
]Qh5M\�Q�]Q�Q�]<]<P
]CQ,Qk5	M\�Q�]]JQ�]@]@P
]CQ,Qk5	M\�Q�PPP]D]DP
]Qh5M\�Q�]]Q�]F]FP	]CQ,Qk5	M\�Qm]Q�Q�]J]JP	]]Q�5	M\�Q{]]P]L]LP
]Qh5M\�Q�]�Q�Q�]N]NP
]CQ,Qk5	M\�Q�]]\Q�]R]RP
]CQ,Qk5	M\�Q�PPP]V]VP
]Qh5M\�Q�] ]Q�]X]XP
]CQ,Qk5	M\�Q�PPP]\]\P	]]Q�5	M\�Q�PPP]^]^P
]Qh5M\�Q!]
]|Q�]`]`P
]Qh5M\�Q�PPP]b]bP	]]Q�5	M\�Q�PPP]d]dP
]Qh5M\�Qu]QvQw]f]fP	]
,CQNQk5	M\�Q]Q�Q�]p]pP
]
Qh5M\�Q�]]P]r]rP
]
CQCQ,Qk5	M\�Q�PPP]z]zP
]
Qh5M\�Q�]Q�Q�]|]|P	]]Q�5	M\�Q�PPP]~]~P
]CQCQ ,Qk5	M\�Q�](]�Q�]�]�P
]CQ,Qk5	M\�Q�PPP]�]�P
]Qh5M\�Qu]QvQw]�]�P	],CQNQk5	M\�Qm]Q�Q�]�]�P
]Qh5M\�Q�]]P]�]�P
]CQCQ,Qk5	M\�Q�PPP]�]�P
]Qh5M\�Qm]Q�Q�]�]�P	]
Qh5M\�Q{]]P]�]�P
]
Qh5M\�Q�]]Q�]�]�P
]
CQCQ!,Qk5	M\�Qs]Q�Q�]�]�P
]
Qh5M\�Qm]Q�Q�]�]�P	]Qh5M\�Q{]]P]�]�P
]Qh5M\�Q�]�Q�Q�]�]�P
]CQ,Qk5	M\�Q�]]�Q�]�]�P
]CQ,Qk5	M\�Q�PPP]�]�P
]Qh5M\�Q�]%]|Q�]�]�P	]CQ,Qk5	M\�Qm]Q�Q�]�]�P	]]Q�5	M\�Q{]]P]�]�P
]Qh5M\�Q�]Q�Q�]�]�P
]CQ,Qk5	M\�Q�]]�Q�]�]�P
]CQ,Qk5	M\�Q�PPP]�]�P
]Qh5M\�Q�].]|Q�]�]�P
]CQ,Qk5	M\�Q!]]�Q�]�]�P	]]Q�5	M\�Qu]QvQw]�]�P	]],CQNQ�5
M\�Q]Q�Q�]�]�P
]Qh5M\�Q�]]P]�]�P
]CQCQ,Qk5	M\�Q�PPP]�]�P
]Qh5M\�QPPP]�]�P	]]	Q�5	M\�Q{]]P]�]�P	]Qh5M\�Q{]]P]�]�P
]Qh5M\�Q�]]Q�]�]�P
]CQCQ!,Qk5	M\�Q�PPPQ�Q�P
]Qh5M\�Qm]Q�Q�Q�Q�P	]Qh5M\�Q�]]PQ�Q�P
]Qh5M\�Q�]]Q�Q�Q�P
]Qh5M\�Q�]]PQ�Q�P
]Qh5M\�Q�]]PQ�Q�P
]Qh5M\�Q�]]Q�Q�Q�P
]Qh5M\�Q�]]PQ�Q�P
]CQCQ,Qk5	M\�Qs]Q�Q�Q�Q�P
]Qh5M\�Qu]QvQwQ�Q�P	],CQNQk5	M\�Q]Q�Q�Q�Q�P
]Qh5M\�Q�]]PQ�Q�P
]CQCQ,Qk5	M\�Q�PPPQ�Q�P
]Qh5M\�Qy]PQ�Q�Q�P	]Qh5M\�Qy]PQ�Q�Q�P
]Qh5M\�Qy]PQ�Q�Q�P
]Qh5M\�Q�]]PQ�Q�P
]CQCQ,Qk5	M\�Q�PPPQ�Q�P
]Qh5M\�Qu]QvQwQ�Q�P	]]
,CQNQ�5
M\�Q]Q�Q�Q�Q�P
]Qh5M\�Q�]]PQ�Q�P
]CQCQ,Qk5	M\�Q�PPPQ�Q�P
]Qh5M\�Qy]PQ�Q�Q�P
]Qh5M\�QPPPQ�Q�P
]Qh5M\�Q�PPPQ�Q�P	]Qh5M\�Q�PPPQ�Q�P
]Qh5M\�Q�PPPQ�Q�P
]CQCQ ,Qk5	M\�Q�]Q�Q�Q�Q�P
]CQ,Qk5	M\�Q�PPPQ�Q�P
]Qh5M\�Q�]]PQ�Q�P
]Qh5M\�Q�PPPQ�Q�P
]]Q�5	M\�Q�PPPQ�Q�P
]Qh5M\�Q�PPPQ�Q�P
]Qh5M\�Q�PPPQ�Q�P
]Qh5M\�Q�PPPQ�Q�P
]Qh5M\�Q�]Q�Q�Q�Q�P
]Qh5M\�Q�]]PQ�Q�P	PQh5M\�Q�PPPQ�Q�P
PQh5M\�Q�]]PQ�Q�P
PQh5M\�Q�PPPQ�Q�P
PQh5M\�Qu]Q�Q�Q�Q�P	],CQNQk5	M\�Q�PPPQ�Q�P
]Qh5M\�Q�]Q�Q�Q�Q�P
]CQ,Qk5	M\�Q�PPPQ�Q�P
]Qh5M\�Q�PPPQ�Q�P
]Qh5M\�Qu]QvQwQ�Q�P	],CQNQk5	M\�Q]Q�Q�Q�Q�P
]Qh5M\�Q�]]PQ�Q�P
]CQCQ,Qk5	M\�Q�PPPQ�Q�P
]Qh5M\�Q�PPPQ�Q�P
]Qh5M\�Q�]8Q�Q�Q�Q�P
]Qh5M\�Q�]]PQ�Q�P	]]Q�5	M\�Q�]]PQ�Q�P	PQh5M\�Q�PPPQ�Q�P
PQh5M\�Q�]]PQ�Q�P
PQh5M\�Q�PPPQ�Q�P
PQh5M\�Qu]QvQwQ�Q�P	],CQNQk5	M\�Q]Q�Q�Q�Q�P
]Qh5M\�Q�]]PQ�Q�P
]CQCQ,Qk5	M\�Q�PPPQ�Q�P
]Qh5M\�Q�]]PCQCQP
]Qh5M\�Q�]]PCQCQP	PQh5M\�Q�PPPCQCQP
PQh5M\�Q�]]PCQCQP
PQh5Ms�CQs�\�Qj]]P]]P	\�O>O@Qh5\�Qy]PQ�]]P
\�O>O@Qh5\�QPPP]]P
\�O>O@Qh5,s�CQCQ\2s�CQCQ\�2s�CQ	CQ
\�\h2s�CQCQ\2s�CQ
CQ\O�2s�CQCQ\h2s�CQCQ\�2s�CQ"CQks�CQCQ\O�2s�\'CQ6Xc\CO42P!P!(#�)�captured_stdout�requires_debug_ranges�requires_specialization�cpython_only�	os_helper�
import_helper�
reset_code)�BytecodeTestCase�CACHEc�\�QoU2oUO%cUOoJ U!)c�f�]]*W![coSOoPo=S!Po=hh9h��)�	Exception�
__traceback__)�e�tbs  �"C:\Python315\\Lib\test\test_dis.py�_error�get_tb.<locals>._errors5��	!�
��E��	���	!����B��	��	!�s�	�	0�0�+�0)�tb_next)rrs  r�get_tbrs'���
��B�
�*�*�*�
�Z�Z��
�I�c�H`�\sQs]'snQs\Q2s\Q2sQs	Us
P!)�_Cc��U]6HUmP!r
��x)�selfrs&&r�__init__�_C.__init__(s
���a���rc��U]6HoP!r
�rs&r�sm�_C.sm+s��
��F�rc��U]6HUmP!r
r)�clsrs&&r�cm�_C.cm/s
���Q���rr)�__name__�
__module__�__qualname__�__firstlineno__r�staticmethodr#�classmethodr'�__static_attributes__�__classdictcell__��
__classdict__s@rrr's2������������rraV%3d           RESUME                   0

%3d           LOAD_FAST_BORROW         1 (x)
              LOAD_SMALL_INT           1
              COMPARE_OP              72 (==)
              LOAD_FAST_BORROW         0 (self)
              STORE_ATTR               0 (x)
              LOAD_COMMON_CONSTANT     7 (None)
              RETURN_VALUE
a&          RESUME                   0
          LOAD_FAST_BORROW         1
          LOAD_SMALL_INT           1
          COMPARE_OP              72 (==)
          LOAD_FAST_BORROW         0
          STORE_ATTR               0
          LOAD_COMMON_CONSTANT     7 (None)
          RETURN_VALUE
aU%3d           RESUME                   0

%3d           LOAD_FAST_BORROW         1 (x)
              LOAD_SMALL_INT           1
              COMPARE_OP              72 (==)
              LOAD_FAST_BORROW         0 (cls)
              STORE_ATTR               0 (x)
              LOAD_COMMON_CONSTANT     7 (None)
              RETURN_VALUE
a&%3d           RESUME                   0

%3d           LOAD_FAST_BORROW         0 (x)
              LOAD_SMALL_INT           1
              COMPARE_OP              72 (==)
              STORE_FAST               0 (x)
              LOAD_COMMON_CONSTANT     7 (None)
              RETURN_VALUE
zDisassembly of z:
z
Disassembly of �
c��[U2]!r
��print)�as&r�_fr8ms��	�!�H�ra%3d           RESUME                   0

%3d           LOAD_GLOBAL              1 (print + NULL)
              LOAD_FAST_BORROW         0 (a)
              CALL                     1
              POP_TOP

%3d           LOAD_SMALL_INT           1
              RETURN_VALUE
aD%3d          0       RESUME                   0

%3d          4       LOAD_GLOBAL              1 (print + NULL)
            14       LOAD_FAST_BORROW         0 (a)
            16       CALL                     1
            24       POP_TOP

%3d         26       LOAD_SMALL_INT           1
            28       RETURN_VALUE
a!%-14s           RESUME                   0

%-14s           LOAD_GLOBAL              1 (print + NULL)
%-14s           LOAD_FAST_BORROW         0 (a)
%-14s           CALL                     1
%-14s           POP_TOP

%-14s           LOAD_SMALL_INT           1
%-14s           RETURN_VALUE
z�          RESUME                   0
          LOAD_GLOBAL              1
          LOAD_FAST_BORROW         0
          CALL                     1
          POP_TOP
          LOAD_SMALL_INT           1
          RETURN_VALUE
c�0�[]]
2FDoJ	P!r
)�range)�ress r�	bug708901r<�s���Q�����ra%3d           RESUME                   0

%3d           LOAD_GLOBAL              1 (range + NULL)
              LOAD_SMALL_INT           1

%3d           LOAD_SMALL_INT          10

%3d           CALL                     2
              GET_ITER                 0
      L1:     FOR_ITER                 3 (to L2)
              STORE_FAST               0 (res)

%3d           JUMP_BACKWARD            5 (to L1)

%3d   L2:     END_FOR
              POP_ITER
              LOAD_COMMON_CONSTANT     7 (None)
              RETURN_VALUE
c��P!�Nr"rs&r�
bug1333982r?�s��	ra�%3d           RESUME                   0

%3d           LOAD_COMMON_CONSTANT     0 (AssertionError)
              LOAD_CONST               1 (<code object <genexpr> at 0x..., file "%s", line %d>)
              MAKE_FUNCTION
              LOAD_FAST_BORROW         0 (x)
              CALL                     0

%3d           LOAD_SMALL_INT           1

%3d           BINARY_OP                0 (+)
              CALL                     0
              RAISE_VARARGS            1
c��P!r>r"r"rr�bug42562rA����r����co_linetablezh          RESUME                   0
          LOAD_COMMON_CONSTANT     7 (None)
          RETURN_VALUE
�EXTENDED_ARG�NOP�
LOAD_CONST�RETURN_VALUEz�          EXTENDED_ARG             1
          NOP
          EXTENDED_ARG             1
          LOAD_CONST             297
          RETURN_VALUE
�JUMP_FORWARDz�  L1:     EXTENDED_ARG           255
          EXTENDED_ARG         65535
          EXTENDED_ARG         16777215
          JUMP_FORWARD            -4 (to L1)
c��P!r>r")r7�b�cs&&,r�
func_w_kwargsrN
rBrc�$�[]]]Q5P!)r�rM)rNr"rr�wrap_func_w_kwargsrQs���!�Q�!�ra�%3d           RESUME                   0

%3d           LOAD_GLOBAL              1 (func_w_kwargs + NULL)
              LOAD_SMALL_INT           1
              LOAD_SMALL_INT           2
              LOAD_SMALL_INT           5
              LOAD_CONST               1 (('c',))
              CALL_KW                  3
              POP_TOP
              LOAD_COMMON_CONSTANT     7 (None)
              RETURN_VALUE
a_  0           RESUME                   0

  1           LOAD_SMALL_INT           0
              LOAD_CONST               1 (('*',))
              IMPORT_NAME              2 (math + eager)
              CALL_INTRINSIC_1         2 (INTRINSIC_IMPORT_STAR)
              POP_TOP
              LOAD_COMMON_CONSTANT     7 (None)
              RETURN_VALUE
z�  0           RESUME                   0

  1           LOAD_NAME                0 (a)
              CALL_INTRINSIC_1         5 (INTRINSIC_UNARY_POSITIVE)
              RETURN_VALUE
a  0           RESUME                   0

  1           BUILD_LIST               0
              LOAD_NAME                0 (a)
              LIST_EXTEND              1
              CALL_INTRINSIC_1         6 (INTRINSIC_LIST_TO_TUPLE)
              RETURN_VALUE
z�  1           RESUME                   0

%3d           LOAD_GLOBAL              0 (spam)
              POP_TOP
              LOAD_COMMON_CONSTANT     7 (None)
              RETURN_VALUE
z�   1           RESUME                   0

%4d           LOAD_GLOBAL              0 (spam)
               POP_TOP
               LOAD_COMMON_CONSTANT     7 (None)
               RETURN_VALUE
aDisassembly of f:
  4           RESUME                   0
              LOAD_COMMON_CONSTANT     7 (None)
              RETURN_VALUE

Disassembly of g:
  5           RESUME                   0
              LOAD_COMMON_CONSTANT     7 (None)
              RETURN_VALUE

zx + 1z�  0           RESUME                   0

  1           LOAD_NAME                0 (x)
              LOAD_SMALL_INT           1
              BINARY_OP                0 (+)
              RETURN_VALUE
z	x = x + 1a%  0           RESUME                   0

  1           LOAD_NAME                0 (x)
              LOAD_SMALL_INT           1
              BINARY_OP                0 (+)
              STORE_NAME               0 (x)
              LOAD_COMMON_CONSTANT     7 (None)
              RETURN_VALUE
z+
x: int = 1
y: fun(1)
lst[fun(0)]: int = 1
a�  --           MAKE_CELL                0 (__conditional_annotations__)

   0           RESUME                   0

   2           LOAD_CONST               1 (<code object __annotate__ at 0x..., file "<dis>", line 2>)
               MAKE_FUNCTION
               STORE_NAME               4 (__annotate__)
               BUILD_SET                0
               STORE_NAME               0 (__conditional_annotations__)
               LOAD_SMALL_INT           1
               STORE_NAME               1 (x)
               LOAD_NAME                0 (__conditional_annotations__)
               LOAD_SMALL_INT           0
               SET_ADD                  1
               POP_TOP

   3           LOAD_NAME                0 (__conditional_annotations__)
               LOAD_SMALL_INT           1
               SET_ADD                  1
               POP_TOP

   4           LOAD_SMALL_INT           1
               LOAD_NAME                2 (lst)
               LOAD_NAME                3 (fun)
               PUSH_NULL
               LOAD_SMALL_INT           0
               CALL                     1
               STORE_SUBSCR
               LOAD_COMMON_CONSTANT     7 (None)
               RETURN_VALUE
z2
def foo(a: int, b: str) -> str:
    return a * b
a�  0           RESUME                   0

  2           LOAD_CONST               0 (<code object __annotate__ at 0x..., file "<dis>", line 2>)
              MAKE_FUNCTION
              LOAD_CONST               1 (<code object foo at 0x..., file "<dis>", line 2>)
              MAKE_FUNCTION
              SET_FUNCTION_ATTRIBUTE  16 (annotate)
              STORE_NAME               0 (foo)
              LOAD_COMMON_CONSTANT     7 (None)
              RETURN_VALUE
zx = 0
while 1:
    x += 1av  0           RESUME                   0

  1           LOAD_SMALL_INT           0
              STORE_NAME               0 (x)

  2   L1:     NOP

  3           LOAD_NAME                0 (x)
              LOAD_SMALL_INT           1
              BINARY_OP               13 (+=)
              STORE_NAME               0 (x)
              JUMP_BACKWARD           12 (to L1)
a�%4d            RESUME                   0

%4d            NOP

%4d    L1:     LOAD_SMALL_INT           1
                LOAD_SMALL_INT           0
            --> BINARY_OP               11 (/)
                POP_TOP

%4d    L2:     LOAD_FAST_CHECK          1 (tb)
                RETURN_VALUE

  --    L3:     PUSH_EXC_INFO

%4d            LOAD_GLOBAL              0 (Exception)
                CHECK_EXC_MATCH
                POP_JUMP_IF_FALSE       24 (to L9)
        L4:     NOT_TAKEN
        L5:     STORE_FAST               0 (e)

%4d    L6:     LOAD_FAST                0 (e)
                LOAD_ATTR                2 (__traceback__)
                STORE_FAST               1 (tb)
        L7:     POP_EXCEPT
                LOAD_COMMON_CONSTANT     7 (None)
                STORE_FAST               0 (e)
                DELETE_FAST              0 (e)

%4d            LOAD_FAST                1 (tb)
                RETURN_VALUE

  --    L8:     LOAD_COMMON_CONSTANT     7 (None)
                STORE_FAST               0 (e)
                DELETE_FAST              0 (e)
                RERAISE                  1

%4d    L9:     RERAISE                  0

  --   L10:     COPY                     3
                POP_EXCEPT
                RERAISE                  1
ExceptionTable:
  L1 to L2 -> L3 [0]
  L3 to L4 -> L10 [1] lasti
  L5 to L6 -> L10 [1] lasti
  L6 to L7 -> L8 [1] lasti
  L8 to L10 -> L10 [1] lasti
c�&�UQUQ
QU8QU8Q
0!)� �4r"�r7rLrM�ds&&&&r�_fstringrWs%���S��!�A��a��u�A�a�W�!�W�%�%ra�%3d           RESUME                   0

%3d           LOAD_FAST_BORROW         0 (a)
              FORMAT_SIMPLE
              LOAD_CONST               0 (' ')
              LOAD_FAST_BORROW         1 (b)
              LOAD_CONST               1 ('4')
              FORMAT_WITH_SPEC
              LOAD_CONST               0 (' ')
              LOAD_FAST_BORROW         2 (c)
              CONVERT_VALUE            2 (repr)
              FORMAT_SIMPLE
              LOAD_CONST               0 (' ')
              LOAD_FAST_BORROW         3 (d)
              CONVERT_VALUE            2 (repr)
              LOAD_CONST               1 ('4')
              FORMAT_WITH_SPEC
              BUILD_STRING             7
              RETURN_VALUE
c�b�U9^tt^2]oPPP2]oP!)%fh]oP!9hr
r"�rMr�ys&  r�_withr[s#��	
��
��
�	�A�
��	�A�s��.	�.	a%4d           RESUME                   0

%4d           LOAD_FAST_BORROW         0 (c)
               COPY                     1
               LOAD_SPECIAL             1 (__exit__)
               SWAP                     2
               SWAP                     3
               LOAD_SPECIAL             0 (__enter__)
               CALL                     0
       L1:     POP_TOP

%4d           LOAD_SMALL_INT           1
               STORE_FAST               1 (x)

%4d   L2:     LOAD_COMMON_CONSTANT     7 (None)
               LOAD_COMMON_CONSTANT     7 (None)
               LOAD_COMMON_CONSTANT     7 (None)
               CALL                     3
               POP_TOP

%4d           LOAD_SMALL_INT           2
               STORE_FAST               2 (y)
               LOAD_COMMON_CONSTANT     7 (None)
               RETURN_VALUE

%4d   L3:     PUSH_EXC_INFO
               WITH_EXCEPT_START
               TO_BOOL
               POP_JUMP_IF_TRUE         2 (to L6)
       L4:     NOT_TAKEN
       L5:     RERAISE                  2
       L6:     POP_TOP
       L7:     POP_EXCEPT
               POP_TOP
               POP_TOP
               POP_TOP

%4d           LOAD_SMALL_INT           2
               STORE_FAST               2 (y)
               LOAD_COMMON_CONSTANT     7 (None)
               RETURN_VALUE

  --   L8:     COPY                     3
               POP_EXCEPT
               RERAISE                  1
ExceptionTable:
  L1 to L2 -> L3 [2] lasti
  L3 to L4 -> L8 [4] lasti
  L5 to L7 -> L8 [4] lasti
c	�� �S9^tt^2EPiw�K
]oPPP2EPiw�K
]oP!KK
)EPiw�K
%fh]oP!9h3hr>r"rYs&  r�
_asyncwithr]Ys/����q�q�
���q�q�	�A��q�q�q�	�A�s@�A�1
�A�5�A�3�
A�A�A	�A�A	�	A	�Aa�%4d            RETURN_GENERATOR
                POP_TOP
        L1:     RESUME                   0

%4d            LOAD_FAST                0 (c)
                COPY                     1
                LOAD_SPECIAL             3 (__aexit__)
                SWAP                     2
                SWAP                     3
                LOAD_SPECIAL             2 (__aenter__)
                CALL                     0
                GET_AWAITABLE            1
                PUSH_NULL
                LOAD_COMMON_CONSTANT     7 (None)
        L2:     SEND                     4 (to L5)
        L3:     YIELD_VALUE              1
        L4:     RESUME                   3
                JUMP_BACKWARD_NO_INTERRUPT 6 (to L2)
        L5:     END_SEND
        L6:     POP_TOP

%4d            LOAD_SMALL_INT           1
                STORE_FAST               1 (x)

%4d    L7:     LOAD_COMMON_CONSTANT     7 (None)
                LOAD_COMMON_CONSTANT     7 (None)
                LOAD_COMMON_CONSTANT     7 (None)
                CALL                     3
                GET_AWAITABLE            2
                PUSH_NULL
                LOAD_COMMON_CONSTANT     7 (None)
        L8:     SEND                     4 (to L11)
        L9:     YIELD_VALUE              1
       L10:     RESUME                   3
                JUMP_BACKWARD_NO_INTERRUPT 6 (to L8)
       L11:     END_SEND
                POP_TOP

%4d            LOAD_SMALL_INT           2
                STORE_FAST               2 (y)
                LOAD_COMMON_CONSTANT     7 (None)
                RETURN_VALUE

%4d   L12:     CLEANUP_THROW
       L13:     JUMP_BACKWARD_NO_INTERRUPT 28 (to L5)
       L14:     CLEANUP_THROW
       L15:     JUMP_BACKWARD_NO_INTERRUPT 10 (to L11)
       L16:     PUSH_EXC_INFO
                WITH_EXCEPT_START
                GET_AWAITABLE            2
                PUSH_NULL
                LOAD_COMMON_CONSTANT     7 (None)
       L17:     SEND                     5 (to L21)
       L18:     YIELD_VALUE              1
       L19:     RESUME                   3
                JUMP_BACKWARD_NO_INTERRUPT 6 (to L17)
       L20:     CLEANUP_THROW
       L21:     END_SEND
                TO_BOOL
                POP_JUMP_IF_TRUE         2 (to L24)
       L22:     NOT_TAKEN
       L23:     RERAISE                  2
       L24:     POP_TOP
       L25:     POP_EXCEPT
                POP_TOP
                POP_TOP
                POP_TOP

%4d            LOAD_SMALL_INT           2
                STORE_FAST               2 (y)
                LOAD_COMMON_CONSTANT     7 (None)
                RETURN_VALUE

  --   L26:     COPY                     3
                POP_EXCEPT
                RERAISE                  1
       L27:     CALL_INTRINSIC_1         3 (INTRINSIC_STOPITERATION_ERROR)
                RERAISE                  1
ExceptionTable:
  L1 to L3 -> L27 [0] lasti
  L3 to L4 -> L12 [5]
  L4 to L6 -> L27 [0] lasti
  L6 to L7 -> L16 [2] lasti
  L7 to L9 -> L27 [0] lasti
  L9 to L10 -> L14 [3]
  L10 to L13 -> L27 [0] lasti
  L14 to L15 -> L27 [0] lasti
  L16 to L18 -> L26 [4] lasti
  L18 to L19 -> L20 [8]
  L19 to L22 -> L26 [4] lasti
  L23 to L25 -> L26 [4] lasti
  L25 to L27 -> L27 [0] lasti
c�0�UU2!S2h9hr>r"�r7rLs&&r�_tryfinallyr`�s����	�����s��	c�2�U2]!S2h9hr
r")rLs&r�_tryfinallyconstrb�s����	�����s�	a�%4d           RESUME                   0

%4d           NOP

%4d   L1:     LOAD_FAST_BORROW         0 (a)

%4d   L2:     LOAD_FAST_BORROW         1 (b)
               PUSH_NULL
               CALL                     0
               POP_TOP
               RETURN_VALUE

  --   L3:     PUSH_EXC_INFO

%4d           LOAD_FAST                1 (b)
               PUSH_NULL
               CALL                     0
               POP_TOP
               RERAISE                  0

  --   L4:     COPY                     3
               POP_EXCEPT
               RERAISE                  1
ExceptionTable:
  L1 to L2 -> L3 [0]
  L3 to L4 -> L4 [1] lasti
a�%4d           RESUME                   0

%4d           NOP

%4d           NOP

%4d           LOAD_FAST_BORROW         0 (b)
               PUSH_NULL
               CALL                     0
               POP_TOP
               LOAD_SMALL_INT           1
               RETURN_VALUE

  --   L1:     PUSH_EXC_INFO

%4d           LOAD_FAST                0 (b)
               PUSH_NULL
               CALL                     0
               POP_TOP
               RERAISE                  0

  --   L2:     COPY                     3
               POP_EXCEPT
               RERAISE                  1
ExceptionTable:
  L1 to L2 -> L2 [1] lasti
c#� �Uw�	P!3hr>r"rs&r�_grds
���
�G�s�	c� �U3w�	P!3hr>r"rs&r�_agrfs
���
�G�s�
c��H �[U2Piw�K
oJKBP!3hr>)rf)r�items& r�_coris"����!�f�
�
�d��
�f�s�
"����"��"c�`�U1QkoU!)c�h:`�[9PIc,U1QkR2DMJ	!U1QkR22!)�funcdocc3�B:�SF �DoRU*w�	J	P!3hr>r")�.0�zrs& �r�	<genexpr>�"_h.<locals>.foo.<locals>.<genexpr>"s��1���1�a�A��E�E�1�s�)�list�rrZsf�r�foo�_h.<locals>.foo s%����t�%�1�%�t�%�t�%�1�%�%�%rr")rZrtsf r�_hrvs���&��Jra�  --           MAKE_CELL                0 (y)

%4d           RESUME                   0

%4d           LOAD_FAST_BORROW         0 (y)
               BUILD_TUPLE              1
               LOAD_CONST               0 (<code object foo at 0x..., file "%s", line %d>)
               MAKE_FUNCTION
               SET_FUNCTION_ATTRIBUTE   8 (closure)
               STORE_FAST               1 (foo)

%4d           LOAD_FAST_BORROW         1 (foo)
               RETURN_VALUE
a!%s
Disassembly of <code object foo at 0x..., file "%s", line %d>:
  --           COPY_FREE_VARS           1
               MAKE_CELL                0 (x)

%4d           RESUME                   0

%4d           LOAD_GLOBAL              0 (list)
               COPY                     1
               LOAD_COMMON_CONSTANT     5 (list)
               IS_OP                    0 (is)
               POP_JUMP_IF_FALSE       22 (to L3)
               NOT_TAKEN
               POP_TOP
               BUILD_LIST               0
               LOAD_FAST_BORROW         0 (x)
               BUILD_TUPLE              1
               LOAD_CONST               %d (<code object <genexpr> at 0x..., file "%s", line %d>)
               MAKE_FUNCTION
               SET_FUNCTION_ATTRIBUTE   8 (closure)
               LOAD_DEREF               1 (y)
               CALL                     0
               PUSH_NULL
       L1:     FOR_ITER                 3 (to L2)
               LIST_APPEND              3
               JUMP_BACKWARD            5 (to L1)
       L2:     END_FOR
               POP_ITER
               RETURN_VALUE
       L3:     PUSH_NULL
               LOAD_FAST_BORROW         0 (x)
               BUILD_TUPLE              1
               LOAD_CONST               1 (<code object <genexpr> at 0x..., file "%s", line %d>)
               MAKE_FUNCTION
               SET_FUNCTION_ATTRIBUTE   8 (closure)
               LOAD_DEREF               1 (y)
               CALL                     0
               CALL                     1
               RETURN_VALUE
a�%s
Disassembly of <code object <genexpr> at 0x..., file "%s", line %d>:
  --           COPY_FREE_VARS           1
               RESUME                   4

%4d           LOAD_FAST                0 (.0)
               GET_ITER                 0
               RETURN_GENERATOR
               POP_TOP
       L1:     RESUME                   0
       L2:     FOR_ITER                15 (to L3)
               STORE_FAST               1 (z)
               LOAD_DEREF               2 (x)
               LOAD_FAST_BORROW         1 (z)
               BINARY_OP                0 (+)
               YIELD_VALUE              0
               RESUME                   9
               POP_TOP
               JUMP_BACKWARD           17 (to L2)
       L3:     END_FOR
               POP_ITER
               LOAD_COMMON_CONSTANT     7 (None)
               RETURN_VALUE

  --   L4:     CALL_INTRINSIC_1         3 (INTRINSIC_STOPITERATION_ERROR)
               RERAISE                  1
ExceptionTable:
  L1 to L4 -> L4 [2] lasti
c��Xq2V#1!r>r")rrZr7rLs&&  r�	load_testrx�s���q��4�Kra	%3d           RESUME_CHECK{: <6}       0

%3d           LOAD_FAST_LOAD_FAST      1 (x, y)
              STORE_FAST_STORE_FAST   50 (b, a)

%3d           LOAD_FAST_BORROW_LOAD_FAST_BORROW 35 (a, b)
              BUILD_TUPLE              2
              RETURN_VALUE
c�D�,QN]*FDo[U2J	P!)r)r���rx)�is r�	loop_testr~�s��
��]�]���!��ra�%3d           RESUME_CHECK{: <6}       0

%3d           BUILD_LIST               0
              LOAD_CONST               1 ((1, 2, 3))
              LIST_EXTEND              1
              LOAD_SMALL_INT           3
              BINARY_OP                5 (*)
              GET_ITER_VIRTUAL         0
      L1:     FOR_ITER_LIST           14 (to L2)
              STORE_FAST               0 (i)

%3d           LOAD_GLOBAL_MODULE       1 (load_test + NULL)
              LOAD_FAST_BORROW         0 (i)
              CALL_PY_GENERAL          1
              POP_TOP
              JUMP_BACKWARD_{: <6}    16 (to L1)

%3d   L2:     END_FOR
              POP_ITER
              LOAD_COMMON_CONSTANT     7 (None)
              RETURN_VALUE
c��QCuoP!).r")�_s r�extended_arg_quickr��s���E�Q�ra>%3d           RESUME                   0

%3d           LOAD_CONST               0 (Ellipsis)
              EXTENDED_ARG             1
              UNPACK_EX              256
              POP_TOP
              STORE_FAST               0 (_)
              LOAD_COMMON_CONSTANT     7 (None)
              RETURN_VALUE
c�8`�\sQsQsnQsQsQsQsQsUs	P!)�DisTestBase��z2Common utilities for DisTests and TestDisTracebackc�4�[OQQU2!)z\b0x[0-9A-Fa-f]+\bz0x...)�re�sub)r�texts&&r�strip_addresses�DisTestBase.strip_addresses�s���v�v�+�W�d�;�;rc	��PPq2]oSFDso[OQU2oUO2Tt,tFDo[U2MJ	tovq�UO	V�2UO	V�2X�q2U]*
oJu	U!ttoh)rz"  L(\d+) to L(\d+) -> L\d+ \[\d+\])r��match�groups�int�assertGreaterEqual)
r�lines�
prev_start�prev_end�count�line�m�g�start�ends
&&        r�!assert_exception_table_increasing�-DisTestBase.assert_exception_table_increasing�s��!�2�H����D����>��E�A�*+�(�(�*�5�*�Q�#�a�&�*�5�J�E��#�#�C�/��#�#�E�4�#(���Q�J�E�
����6s�Bc�X�V6wcUOU2oUOV2P!r>)r��assertEqual)r�got�expecteds&&&r�do_disassembly_compare�"DisTestBase.do_disassembly_compare�s%���?��&�&�s�+�C�����'rr")
r)r*r+r,�__doc__r�r�r�r/r0r1s@rr�r��s����8�<�
�(�(rr�c�.`�\sQsQsnPsQ7QksQ8QksQsQsQs	Qs
QsQ	sQ
s
\2Q2s\2Q2s\2Q
2sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs Qs!Qs"Qs#Q s$Q!s%Q"s&Q#s'Q$s(Q%s)Q&s*Q's+Q(s,Q)s-Q*s.Q+s/\0Q,2s1\2\3Q-22s4\2\3Q.22s5\2\3Q/22s6\2\3Q022s7\2\3Q122s8\2Q22s9Q3s:\2Q42s;\2Q52s<Q6s=Us>P!)9�DisTests��c�R�[O2o[OU29^tt^2U%c[OU1-U@L[O
V1-U@PPP2UO
2!)%fhSO
2!9hr>)�io�StringIO�
contextlib�redirect_stdout�dis�disassemble�getvalue�r�func�lasti�wrapper�kwargs�outputs&&&&, r�get_disassembly�DisTests.get_disassembly�so�������
�
'�
'��
/�
/������'��'�����6�v�6�	0�
��� � �0�
/�
��� � �s�B�1B�B&	�B&	c�(�UOVP
2!�F)r�)rr�r�s&&&r�get_disassemble_as_string�"DisTests.get_disassemble_as_string�s���#�#�D��7�7rc��PUmUOU1Q]-U@oUOVB2[UQ2%c�[O
2o[OU29^tt^2[OUO1-U@PPP2UOUO2U2P!P!)%fhK49h)N�depth�__code__)�maxDiffr�r��hasattrr�r�r�r�r��discor�r�)rr�r�r�r��	got_discos&&&,  r�do_disassembly_test�DisTests.do_disassembly_test�s�������"�"�4�;�q�;�F�;���#�#�C�2��4��$�$����
�I��+�+�I�6�6��	�	�$�-�-�2�6�2�7��'�'�	�(:�(:�(<�h�G�	%�6�6�s�5#C�C	�
C	c�*�UO[OQ*]2UO[OQ*[O2UO[OQ*[O
2P!)r
rH�
STORE_NAME)r�r��opmap�assertIn�hasconst�hasname�rs&r�
test_opmap�DisTests.test_opmapsQ��������7�+�Q�/��
�
�c�i�i��-�s�|�|�<��
�
�c�i�i��-�s�{�{�;rc��UO[O[OQ**Q2P!)�	LOAD_FAST)r�r��opnamer�r�s&r�test_opname�DisTests.test_opnames$��������C�I�I�k�$:�;�[�Irc�r�UO[OQ*[O2P!)rF)r�r�r�rFr�s&r�test_boundaries�DisTests.test_boundariess!��������>�2�C�4D�4D�Erc	��[,QN2o[[O2FD�vq#V17fUO	Q2%cJ$U[
O7cJ;UOUQ59^tt^2[OoU[O7cU][O**
oUO[U2U2PPP2J�	P!)%fhJ�9h)�JUMP_BACKWARD_NO_INTERRUPT�INSTRUMENTED)r�)r��!LOAD_FAST_BORROW_LOAD_FAST_BORROW�INSTRUMENTED_CALL_FUNCTION_EX�YIELD_FROM_CORO_CHECK�ANNOTATIONS_PLACEHOLDER)
�set�	enumerater�r��
startswith�opcode�_specialized_opmap�subTest�
_OPNAME_WIDTH�hasarg�_OPARG_WIDTH�assertLessEqual�len)r�long_opcodes�opr��widths&    r�test_widths�DisTests.test_widthss����7�8��
$�C�J�J�/�J�B��%��):�):�>�)J�)J����2�2�2�����V��,�,��)�)������#��Q��!1�!1�1�1�E��$�$�S��[�%�8�	-�,�0�
-�,�,�s�>%C+	�$9C+	�+C<
�4C<
c�<�UO[[2P!r>)r�r8�dis_fr�s&r�test_dis�DisTests.test_dis���� � ��U�+rc�@�UO[[P	Q5P!)T)�show_offsets)r�r8�dis_f_with_offsetsr�s&r�test_dis_with_offsets�DisTests.test_dis_with_offsets"s��� � ��%7�d� �Krc
���Qo[[O[22oSFD|oUO	UQ59^tt^2SO[9PIc&QUO2D%cJP
L	P	LQUO222PPP2J~	[[V22o[U*oUO[UP	Q5P!)%fhJ�9h)c���[9PIc,QUO2DMJ	3LQUO22oU]*8QU]*8QU]*8QU]*80!)c3�<�SF �D
peQLSw�	J	P!3h)N�?r"�rn�ps& rrp�WDisTests.test_dis_with_all_positions.<locals>.format_instr_positions.<locals>.<genexpr>(s��O���O�q�)�3��2�O�s��
�:�-)�tuple�	positions)�instr�valuess& r�format_instr_positions�DDisTests.test_dis_with_all_positions.<locals>.format_instr_positions'sM���U�L�E�O�O�L�U�U�L�E�O�O�L�L�F�$*�1�I�I�v�a�y�y�&��)�)�V�A�Y�O�Or)r�c3�4�SF �D	pPIw�	J	P!3hr>r"r�s& rrp�7DisTests.test_dis_with_all_positions.<locals>.<genexpr>.s��?���?�a�T�M�?�s���show_positions)rrr��get_instructionsr8r��
assertTrue�allr�r��map�dis_f_with_positions_formatr�)rr�instrsr�r�r�s&     r�test_dis_with_all_positions�$DisTests.test_dis_with_all_positions%s���	P��c�*�*�2�.�/���E����E��*�*������#K�5�?�?�#K����#K�5�?�?�#K� K�L�+�*���#�4�=�>�	�.��:��� � ��X�d� �C�	+�*�*�s�C&	�C&	�="C&	�&C7
�/C7
c��Qo[[OU2QQ2O]*oQO	,QN2oUOV#P	Q5P!)z%def f():
   try: pass
   finally:passr��execr3r)z/1:0-1:0              RESUME                   0�z2:3-3:15             NOPrz63:11-3:15            LOAD_COMMON_CONSTANT     7 (None)z!3:11-3:15            RETURN_VALUErz"  --         L1:     PUSH_EXC_INFOrz/3:11-3:15            RERAISE                  0rz/  --         L2:     COPY                     3z  --                 POP_EXCEPTz/  --                 RERAISE                  1zExceptionTable:z  L1 to L2 -> L2 [1] lastir)�compile�ast�parse�	co_consts�joinr�)r�code�f�expects&   r�test_dis_with_some_positions�%DisTests.test_dis_with_some_positions3sT��"��
�C�I�I�d�O�S�&�1�;�;�A�>�����
���&	
� � ��4� �@rc�J�Qo[OU2oUO]*oUO]*O]*oP9UmUm[
UQQ2O]*oQO,QN2oUOVVP	Q5P!)zdef f():
	x = 1r�rr3r)z-1:0-1:0            RESUME                   0rz-2:5-2:6            LOAD_SMALL_INT           1z12:?-2:?            STORE_FAST               0 (x)z42:?-2:?            LOAD_COMMON_CONSTANT     7 (None)z2:?-2:?            RETURN_VALUEr)
rr�body�targets�
col_offset�end_col_offsetrrrr�)rr�treer��ass_xrrs&      r�$test_dis_with_linenos_but_no_columns�-DisTests.test_dis_with_linenos_but_no_columnsOs���"���y�y�����y�y��|���	�	�!��$�$�Q�'��24�4���5�/��D�#�v�&�0�0��3�����
���	
� � ��4� �@rc��QoUOOQQ5UmQO,QN2oUOVP	Q5P!)c��P!r>r"r"rrr�.DisTests.test_dis_with_no_positions.<locals>.fe���rrrDr3r)z$          RESUME                   0z+          LOAD_COMMON_CONSTANT     7 (None)z          RETURN_VALUEr)r��replacerr�)rrrs&  r�test_dis_with_no_positions�#DisTests.test_dis_with_no_positionsdsJ��	��Z�Z�'�'�S�'�9��
����
���	
� � ��4� �@rc�<�UO[[2P!r>)r�r<�
dis_bug708901r�s&r�test_bug_708901�DisTests.test_bug_708901qs��� � ��M�:rc�`�UOQ2UO[[2P!)Fzneed asserts, run without -O)�skipTestr�r?�dis_bug1333982r�s&r�test_bug_1333982�DisTests.test_bug_1333982ts$����M�M�8�9�� � ��^�<rc�<�UO[[2P!r>)r�rA�dis_bug42562r�s&r�test_bug_42562�DisTests.test_bug_42562|s��� � ��<�8rc�<�UO[[2P!r>)r��code_bug_45757�
dis_bug_45757r�s&r�test_bug_45757�DisTests.test_bug_45757s��� � ���?rc�<�UO[[2P!r>)r��bug46724�dis_bug46724r�s&r�test_bug_46724�DisTests.test_bug_46724�s��� � ��<�8rc�<�UO[[2P!r>)r�rQ�dis_kw_namesr�s&r�
test_kw_names�DisTests.test_kw_names�s��� � �!3�\�Brc��UOQ[2UOQ[2UOQ[2P!)zfrom math import *z+az(*a,))r��dis_intrinsic_1_2�dis_intrinsic_1_5�dis_intrinsic_1_6r�s&r�test_intrinsic_1�DisTests.test_intrinsic_1�s6��� � �!5�7H�I�� � ��'8�9�� � ��*;�<rc�J�UOQUOQ22P!)z8CALL_INTRINSIC_2         1 (INTRINSIC_PREP_RERAISE_STAR)ztry: pass
except* Exception: x)r�r�r�s&r�test_intrinsic_2�DisTests.test_intrinsic_2�s!���
�
�P��*�*�+L�M�	Orc���Qo[]Q2FD/o[U]**oUOUU2U2J1	[QQ]
2FD/o[U]**oUOUU2U2J1	[QQ]
2FD/o[U]**oUOUU2U2J1	]QHGoUOU[2P!)c��-oQPOQ,U*Q,*2*o[V!2UQ*!)zdef foo():
 z
 zspam
rt)rr)r��	namespacer�s&  rr��'DisTests.test_big_linenos.<locals>.func�s:���I�"�R�W�W�e�W�u�_��z�-I�%J�J�D���!��U�#�#r�,��i�)�
dis_module)r:�_BIG_LINENO_FORMATr��_BIG_LINENO_FORMAT2�testrV�dis_module_expected_results)rr�r}r�rVs&    r�test_big_linenos�DisTests.test_big_linenos�s���	$��q�#��A�)�Q��U�3�H��$�$�T�!�W�h�7��
�s�D�"�%�A�)�Q��U�3�H��$�$�T�!�W�h�7�&��t�T�2�&�A�*�a�!�e�4�H��$�$�T�!�W�h�7�'�	$�� � ��-H�Irc��UO[[2UO[[2UO[
[2UO[[2UO[[2P!r>)r��expr_str�dis_expr_str�simple_stmt_str�dis_simple_stmt_str�annot_stmt_str�dis_annot_stmt_str�fn_with_annotate_str�dis_fn_with_annotate_str�compound_stmt_str�dis_compound_stmt_strr�s&r�test_disassemble_str�DisTests.test_disassemble_str�sX��� � ��<�8�� � ��2E�F�� � ��1C�D�� � �!5�7O�P�� � �!2�4I�Jrc�d�UO[OO[2P!r>)r�r8r��co_code�
dis_f_co_coder�s&r�test_disassemble_bytes�DisTests.test_disassemble_bytes�s��� � ����!4�!4�m�Drc�<�UO[[2P!r>)r�r�dis_cr�s&r�test_disassemble_class�DisTests.test_disassemble_class�r�rc�Z�UO[]2O[2P!r
)r�rr�dis_c_instance_methodr�s&r� test_disassemble_instance_method�)DisTests.test_disassemble_instance_method�s��� � ��A����1F�Grc��[]2OOOoUO	U[
2P!r
)rrr�rkr��dis_c_instance_method_bytes)r�method_bytecodes& r�&test_disassemble_instance_method_bytes�/DisTests.test_disassemble_instance_method_bytes�s,���Q�%�.�.�1�1�9�9��� � ��2M�Nrc�P�UO[O[2P!r>)r�rr#�dis_c_static_methodr�s&r�test_disassemble_static_method�'DisTests.test_disassemble_static_method�s��� � ����(;�<rc�P�UO[O[2P!r>)r�rr'�dis_c_class_methodr�s&r�test_disassemble_class_method�&DisTests.test_disassemble_class_method�s��� � ����(:�;rc��UO[2oUO[]22oUOV!2P!r
)r�rdr�)r�gen_func_disas�	gen_disass&  r�test_disassemble_generator�#DisTests.test_disassemble_generator�s4���-�-�b�1���(�(��A��/�	�����3rc��UO[2oUO[]22oUOV!2P!r
)r�rfr�)r�agen_func_disas�
agen_disass&  r� test_disassemble_async_generator�)DisTests.test_disassemble_async_generator�s4���.�.�s�3���)�)�#�a�&�1�
�����5rc��UO[2o[]2oUO2UOU2oUOV12P!r
)r�ri�closer�)r�coro_func_disas�coro�
coro_disass&   r�test_disassemble_coroutine�#DisTests.test_disassemble_coroutine�sB���.�.�s�3���1�v���
�
���)�)�$�/�
�����5rc�<�UO[[2P!r>)r�rW�dis_fstringr�s&r�test_disassemble_fstring�!DisTests.test_disassemble_fstring�s��� � ��;�7rc�<�UO[[2P!r>)r�r[�dis_withr�s&r�test_disassemble_with�DisTests.test_disassemble_with�s��� � ���1rc�<�UO[[2P!r>)r�r]�
dis_asyncwithr�s&r�test_disassemble_asyncwith�#DisTests.test_disassemble_asyncwith�s��� � ��]�;rc�p�UO[[2UO[[2P!r>)r�r`�dis_tryfinallyrb�dis_tryfinallyconstr�s&r�test_disassemble_try_finally�%DisTests.test_disassemble_try_finally�s$��� � ��n�=�� � �!1�3F�Grc��[;[;UO	[
[OP2P![cK;h9h[cKEh9hr>)�sys�last_exc�AttributeError�last_traceback�assertRaises�RuntimeErrorr�r�s&r�
test_dis_none�DisTests.test_dis_none�sV��	���	��"�	
���,�����6��
�	��	���	��	�s,�7�A�	A�A�A�	A�A�Ac�<�PUm[;]]*UOWOOUO2oUOPU2P![cK[h9h[c"oSO
oS[mPo=K|Po=hh9hr>)r�r�r�r�rrr�r��tb_frame�f_code�tb_lastir�)rrr�tb_diss&   r�test_dis_traceback�DisTests.test_dis_traceback�s������	��"�	�
�a�C�
�/�/����0B�0B�B�K�K�P��� � ��v�.���	��	��
�	����B��C�L�L��	�s4�A�	A/�	A,�(A,�+A,�/	B�9B�:B�Bc�b�UO[[O[22P!r>)r��	TypeErrorr��objectr�s&r�test_dis_object�DisTests.test_dis_objects�����)�S�W�W�f�h�7rc�`�U1QkoU[]Q5U[]Q5U[]Q5U[]Q5U[PQ5U[2P!)c�~:�RO[1-U@oROU2oROV 2P!r>)r�rvr�r�)r�r�r�rs&, �r�check�2DisTests.test_disassemble_recursive.<locals>.checks6����&�&�r�4�V�4�C��&�&�s�+�C����S�+r)r�)�dis_nested_0�dis_nested_1�dis_nested_2)rr�sf r�test_disassemble_recursive�#DisTests.test_disassemble_recursivesD���	,�
	�l�!�$�
�l�!�$�
�l�!�$�
�l�!�$�
�l�$�'�
�l�rc��[OQP2P![c'oSOSO2Po=P!Po=hh9h)�))r��_try_compiler�assertIsNone�__context__)rrs& r�)test__try_compile_no_context_exc_on_error�2DisTests.test__try_compile_no_context_exc_on_errors<��	-����S�"�%���	-����a�m�m�,�,��	-�s��	A
�A
�A�A
c���QoUOU2oUOQ2FD
oQU7fJL	UOQ2UOQW2UO	QU2P!)c��V �[Piw�K
o[JK
B[P!3hr>)�async_iter1�l2�l3)�letters r�afunc�3DisTests.test_async_for_presentation.<locals>.afuncs!��� +�
�
�f��
���s�)� �� �
)� �	)r3�
END_ASYNC_FORz,No END_ASYNC_FOR in disassembly of async for�to�from)r��split�fail�assertNotInr�)rr��disassemblyr�s&   r�test_async_for_presentation�$DisTests.test_async_for_presentationsf��	�
�+�+�E�2���%�%�d�+�D��$�&��,�
�I�I�D�E�����t�$��
�
�f�d�#rc�|�[OQ2o[UO2FD
oU2J	P!)�_testinternalcapi)r�
import_moduler:�SPECIALIZATION_THRESHOLD)rr�r�s&  r�code_quicken�DisTests.code_quicken(s0��)�7�7�8K�L���(�A�A�B�A�
�C�Crc��UOQ2UO[P	Q5o[OO2o[OU%cQLP2oUOV2P!)c��[]]2!�rr|r"rr�<lambda>�2DisTests.test_super_instructions.<locals>.<lambda>1s
��)�A�q�/r��adaptive�_JIT)	r�r�rxr��_jit�
is_enabled�dis_load_test_quickened_code�formatr�)rr��jitr�s&   r�test_super_instructions� DisTests.test_super_instructions.s\��	
���1�2��"�"�9�t�"�<���h�h�!�!�#��/�6�6��v�"�M���#�#�C�2rc�`�Qo[QPQ2nUOU1Qk2UORP	Q5o[OO2oSO
U%cQLP2oUOV$2P!)z�  0           RESUME_CHECK{: <6}       0

  1           LOAD_CONST               0 ('a')
              LOAD_ATTR_SLOT           0 (__class__)
              RETURN_VALUE
z
'a'.__class__�evalc� :�[R--2!r>�r��cos�rr��4DisTests.test_load_attr_specialize.<locals>.<lambda>B����$�r�2�r�"2rr�r��rr�r�r�r�r�r�r�)r�load_attr_quickenr�r�r�r�s&    @r�test_load_attr_specialize�"DisTests.test_load_attr_specialize7ss������_�b�&�
1�����2�3��"�"�2��"�5���h�h�!�!�#��$�+�+�c�F�r�B���#�#�C�2rc�`�Qo[QPQ2nUOU1Qk2UORP	Q5o[OO2oSO
U%cQLP2oUOV$2P!)z�  0           RESUME_CHECK{: <6}       0

  1           LOAD_NAME                0 (str)
              PUSH_NULL
              LOAD_SMALL_INT           1
              CALL_STR_1               1
              RETURN_VALUE
zstr(1)r�c� :�[R--2!r>r�r�s�rr��/DisTests.test_call_specialize.<locals>.<lambda>Ur�rr�r�r�)r�call_quickenr�r�r�r�s&    @r�test_call_specialize�DisTests.test_call_specializeHsr������X�r�6�
*�����2�3��"�"�2��"�5���h�h�!�!�#���&�&��v�"�=���#�#�C�2rc��UO[2UO[P	Q5o[OO2oU%cQLPoU%cQLQo[OV42oUOV2P!)Tr�r�zJIT �NO_JIT)	r�r~r�r�r�r��dis_loop_test_quickened_coder�r�)rr�r��
resume_str�jit_strr�s&     r�test_loop_quicken�DisTests.test_loop_quicken[si��	
���)�$��"�"�9�t�"�<���h�h�!�!�#��"�V��
��&�X��/�6�6�z�K���#�#�C�2rc�Z`�[OQ2nU1QkoUP	2UOQUOUP	Q52U1QkoUP
2UOQUOUP	Q52U1QkoU2UOQUOUP	Q52P!)r�c�X:�[RO2FD
oU%fJ
J	P!r>�r:r��rr�r�s& �r�
for_loop_true�NDisTests.test_loop_with_conditional_at_end_is_quickened.<locals>.for_loop_truek�"����,�E�E�F���1��Gr�FOR_ITER_RANGEr�c�X:�[RO2FD
oU%fJ
J	P!r>rr
s& �r�for_loop_false�ODisTests.test_loop_with_conditional_at_end_is_quickened.<locals>.for_loop_falsetrrc�F:�]oURO6cU]*
oJP!r�)r�)r}r�s �r�
while_loop�KDisTests.test_loop_with_conditional_at_end_is_quickened.<locals>.while_loop}s&����A��'�@�@�@��Q���Ar�COMPARE_OP_INT)rr�r�r�)rrrrr�s&   @r�.test_loop_with_conditional_at_end_is_quickened�7DisTests.test_loop_with_conditional_at_end_is_quickenedgs����*�7�7�8K�L��	�
	�d���
�
�&��*�*�=�4�*�H�	J�	�
	�u���
�
�&��*�*�>�D�*�I�	K�	�
	���
�
�&��*�*�:��*�E�	Grc�^�UO[2oUOU[2P!r>)r�r�r��dis_extended_arg_quick_code)rr�s& r�test_extended_arg_quick� DisTests.test_extended_arg_quick�s$���"�"�#5�6���#�#�C�)D�Erc#� �QoU%cUOU2L[U2[[OUP	UQ5P	Q5FD%oUO
Q6XfJUOw�	J'	P!3h)c�T�,o[]*2FDoUOU2J	P!)�*)r:�append)�lr}s  rr�%DisTests.get_cached_values.<locals>.f�s ���A��2�Y�������r)�show_cachesr��r%r
)r�r�_unroll_caches_as_Instructionsr�rr��argrepr)r�	quickenedr�r�instructions&&&  r�get_cached_values�DisTests.get_cached_values�sm���	�����a� �
�q�M�9�#�:N�:N�
�4�(�;
����K��!�!�W�,�!�)�)�)�	�s�A<�AA<�'A<c��QFD�oQFD�oUOQU8QU8029^tt^2U%cQoLQo[UOV22oSFDoUOVS2J	]o]oUO	UOP2U2UO	[
U2U2PPP2J�	J�	P!)%fhJ�9h)Fz
quickened=z, adaptive=z
^(\w+: \d+)?$z^(\w+: 0)?$�FT)r�rrr+�assertRegexr�r�r�)rr)r��pattern�caches�cache�total_caches�empty_cachess&       r�test_show_caches�DisTests.test_show_caches�s���&�I�)���\�\�Z�Y�L��8�+�">�?�?��"2��"0��!�$�"8�"8��"M�N�F�!'���(�(��8�"(�#%�L�#$�L��$�$�V�\�\�"�%5�|�D��$�$�S��[�,�?�@�?�*�'�?�?�?�s�C
�A:C
�C�
Cc���Qo[[OUP	Q5P	Q5FDBoUOQ6Xc#UO]*
oUOoL!UOoJD	UOQ2UO
UOWP
Q5oUO
UOWP
Q5oUOUQW02UOVg2P!)zX
Make sure that with lasti pointing to CACHE, it still shows the current
line correctly
c�&�[[2P!r>)r6r7r"rrr�2DisTests.test_show_currinstr_with_cache.<locals>.f�s	���!�Hrr&r
z@Can't find a CACHE entry in the function provided to do the test)r�r�z--> )
r'r�rr��offsetr�r�r�r/r�)rr�inst�	op_offset�cache_offsetr��assem_op�assem_caches&       r�test_show_currinstr_with_cache�'DisTests.test_show_currinstr_with_cache�s���	�3��$�$�Q�D�9�t�M�M�D��{�{�g�%� �K�K�!�O�	�#�{�{�������M�
�I�I�X�Y��'�'��
�
�)�U�'�S���*�*�1�:�:�\�SX�*�Y��	
����d�6�(�#3�4�����/r�r�����T)rD)?r)r*r+r,r�r�r�r�r�r�r�r�r�r�rr
rr#r*r.r3r7r<rArErKrNr[rhrmrqrurzr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r-r�rrr�r�rrrrr+r5r@r/r0r1s@rr�r��s
�����G�!�8�	H�<�
J�F�9�",�L���D��D���A��A�6��A��A�(A�;�=�9�@�9�C�=�O�J�0K�E�,�H�O�=�<�4�
6�
6�8�2�<�H�	7�/� 8��-�$�"����
��3���3���
3���
3���3���3�"��3���3���G���G�:�F��F�*� �@��@� �0��0rr�c�,`�\sQsQsnQQksQsUsP!)�DisWithFileTestsi�c���[O2oU%c+[OU1QU-U@UO	2![OV1QU-U@UO	2!��file)r�r�r�r�r�r�s&&&&, rr�� DisWithFileTests.get_disassembly�sZ���������G�G�D�0�v�0��0���� � �
�O�O�D�?�f�?��?���� � rr"rC�r)r*r+r,r�r/r0r1s@rrFrF�s����!�!rrFz0: 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:        \d+
Flags:             OPTIMIZED, NEWLOCALS(, HAS_DOCSTRING)?
Constants:
   zN
Names:
   0: _format_code_info
   1: _get_code_object
Variable names:
   0: xrc	/�\````````
 �U1UUUUU
UUU1Qkkn
RRRRRURRR
1	w�	P!3h)c�0:�[RRRRRURRR2	P!r>r5)	rMr7rLrVrrrrZros	&��������rr�tricky.<locals>.f�s���
�a��A�q�!�Q��1�a�(rr")r7rLrrZrorMrVr�args�kwdsrsbbfff$dd*,@r�trickyrQ�s,����
�)�)�
�Q��1�a��A�q�!�
#�#�s�",a-Name:              tricky
Filename:          (.*)
Argument count:    5
Positional-only arguments: 2
Kw-only arguments: 3
Number of locals:  10
Stack size:        \d+
Flags:             OPTIMIZED, NEWLOCALS, VARARGS, VARKEYWORDS, GENERATOR
Constants:
   0: <code object f at (.*), file "(.*)", line (.*)>
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]
   6: [abedfxyz]
   7: [abedfxyz]aqFilename:          (.*)
Argument count:    1
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  1
Stack size:        \d+
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:        \d+
Flags:             0x0
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:        \d+
Flags:             0x0
Constants:
   0: 0
Names:
   0: xc	��� �]EPiw�K
[Piw�K
oJKK	B
[9^tt^2EPiw�K
oPPP2EPiw�K
P!)EPiw�K
%fhP!9h3hr
)rLrM)r7rVs  r�	async_defrSYs<���
�G�G����a�d���1��q�q�q�A�q�q�q�q�q�q�q�sh�A7�$�A7�(�&�(�A7�(�A7�A
�A7�A�A7�A�A7�A4	�A#� A4	�,A4	�.	A7a$Name:              async_def
Filename:          (.*)
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  2
Stack size:        \d+
Flags:             OPTIMIZED, NEWLOCALS, COROUTINE
Constants:
   0: 1
Names:
   0: b
   1: c
Variable names:
   0: a
   1: dc�|`�\sQsQsn\O
\1\\1\	\
1\\1\
\1\\1\\1,sQsQsQsQsQsUsP!)�
CodeInfoTestsipc��QUmUOFD+vqUO[OU2U2J-	P!�rU)r��
test_pairsr/r��	code_info)rrr�s&  r�test_code_info�CodeInfoTests.test_code_info{s2������?�?�K�A����S�]�]�1�-�x�8�+rc	��QUmUOFD�vq[29^tt^2o[OU2PPP2UOWO
2UQ*2[O2o[OVQ5UOUO
2U2J�	P!)%fhK�9h)rUr3rH)	r�rXrr��	show_coder/r�r�r�)rrr�r�s&   r�test_show_code�CodeInfoTests.test_show_code�s�������?�?�K�A� �"�"�f��
�
�a� �#����V�_�_�.���
�>��[�[�]�F��M�M�!�)����V�_�_�.��9�
+�"�"�s�C	�C
�C
c�b�UO[[O[	22P!r>)r�r�r�rYr�r�s&r�test_code_info_object�#CodeInfoTests.test_code_info_object�s�����)�S�]�]�F�H�=rc�T�UO[O]2Q2P!)r�0x0)r�r��pretty_flagsr�s&r�test_pretty_flags_no_flags�(CodeInfoTests.test_pretty_flags_no_flags�s������)�)�!�,�e�4rrB)r)r*r+r,r�rY�code_info_code_inforQ�code_info_tricky�co_tricky_nested_f�code_info_tricky_nested_fr^�code_info_expr_strr`�code_info_simple_stmt_strrf�code_info_compound_stmt_strrS�code_info_async_defrXrZr^rarfr/r0r1s@rrUrUpsh����
�}�}�)�*�
�� ��4�5��#�$��1�2��5�6��%�&��J�9�
:�>�5�5rrUc	�@``�QUU1Qkko[RRP],-Q2U!)r{c�@:``�QUUUU1Qkko[RRRR2U!)�c�(:�[RRRRV2P!r>r5)rrr7rLrMrVs&&����r�inner�outer.<locals>.f.<locals>.inner�s����!�Q��1�a�#r�rr�r5)rMrVrtr7rLsff ��rr�outer.<locals>.f�s ���	$�	$�
�a��A�q���r�Hello world!�r{�r5)r7rLrsff r�outerr|�s(�����

�!�Q��A�r�2�~�.��Hrc���[]
2FD!o[U2U]6cJU]6�fJ L
	[Q2W%c([U2U]*oU]6�cJ%U]6fJ.L[Q2]]*U9^tt^2o[Q2PPP2[Q2P!)%fhK9h[c[Q2K8h9h[Q2h9h)�
�I can haz else clause?�%Who let lolcatz into this test suite?�Never reach this�%Here we go, here we go, here we go...�OK, now we're done)r:r6�ZeroDivisionError)r}�dodgys  r�jumpyr��s���
�2�Y��
�a���q�5���q�5���	�&�'�
�
�a��	�Q����q�5���q�5��
�5�6�$�	�A���Q�%��$�%��	�"�#��Q���7�
�5�6�7��	�"�#�sN�9	C�
C�B-�C�-B=	�6B=	�8C�	C�
C�C�C�C�
C)c��QUO8QUO8QUO8Q0QUO8QUOQUO
Q0*QUO8QUO0*oUOdUQ	UO80*
oUO%cUQ
UO80*
oUQ*!)z  make_inst(opname=z, arg=z	, argval=z, zargrepr=z	, offset=z, start_offset=zstarts_line=z, line_number=z, label=z
, cache_info=z),�
r��arg�argvalr(r:�start_offset�starts_line�line_number�label�
cache_info)r��bases& r�_stringify_instructionr��s����e�l�l�-�V�E�I�I�=�	�%�,�,�IY�Y[�\�
�5�=�=�#�9�U�\�\�N�/�%�J\�J\�I]�]_�`�	a�
�u�(�(�+�>�%�:K�:K�9L�M�	N�	�

�{�{���(�5�;�;�/�*�*�������-�� 0� 0�3�4�4���$�;�rc��[O2o[OU29^tt^2[	2oU2oPPP2[
O[[Q5o[
OW[Q5o[
OW[Q5o[
O[[Q5oQOQ,[[U2NQMPMQM[[U2NQMPMQM[[U2NQMPMQM[[U2NQM2oUO[![!["22Q2oUO[!["2Q	2oUO[![![$22Q
2oUO[![$2Q2o['U2P!)%fhCK�9h)N��
first_liner3zexpected_opinfo_outer = [�]zexpected_opinfo_f = [zexpected_opinfo_inner = [zexpected_opinfo_jumpy = [zrepr(code_object_f)�
code_object_fzrepr(code_object_inner)�code_object_inner)r�r�r�r�r|r�r�expected_outer_line�expected_f_line�expected_inner_liner��expected_jumpy_linerr
r�r)�reprr�r�r6)�ignorerrt�_instructions_outer�_instructions_f�_instructions_inner�_instructions_jumpy�results        r�_prepare_test_casesr��s���
�[�[�]�F�	�	#�	#�F�	+�	+��G�����
,��.�.�u�AT�U���*�*�1��I�O��.�.�u�AT�U���.�.�u�AT�U��
�Y�Y�'�	
�
�'�)<�
=�	
�
�	
�
�		
�

$�	
��'��
9�
	
�
�	
�
�	
�
(�	
��'�)<�
=�	
�
�	
�
�	
�
(�	
��'�)<�
=�	
�
�	
��F�&�^�^�D��m�!4�5�7L�
M�F�
�^�^�D��/��
A�F�
�^�^�D��&7�!8�9�;T�
U�F�
�^�^�D�!2�3�5H�
I�F�	�&�M�=
,�	+�	+�s�G�G	�G	�	MAKE_CELLr7)r�r�r�r(r:r�r�r�rL�RESUME)	r�r�r�r(r:r�r�r�r�z(3, 4)�LOAD_FAST_BORROW�BUILD_TUPLE�
MAKE_FUNCTION�SET_FUNCTION_ATTRIBUTE�closure�defaults�
STORE_FASTr�LOAD_GLOBALr6zprint + NULL�
LOAD_DEREF�LOAD_COMMON_CONSTANTz''�LOAD_SMALL_INT�
BUILD_LIST�	BUILD_MAPryz'Hello world!'�CALL�POP_TOP�COPY_FREE_VARSrMrVz(5, 6)rtr�ze, f�Noner:zrange + NULL�GET_ITER�FOR_ITER�to L4r�r}�
COMPARE_OP�<zbool(<)�POP_JUMP_IF_FALSEzto L2�	NOT_TAKEN�
JUMP_BACKWARD�to L1)	r�r�r�r(r:r�r�r�r��>zbool(>)�POP_JUMP_IF_TRUEzto L3zto L5�END_FOR�POP_ITERrz'I can haz else clause?'�LOAD_FAST_CHECK�TO_BOOLzto L8�	BINARY_OPz-=�to L6zto L7zto L9r�z''Who let lolcatz into this test suite?'�/���COPY��LOAD_SPECIAL�__exit__��SWAP�
��	__enter__��r���r�z'Never reach this'�$�&�.�0�2�4�6�>�@r�z"OK, now we're done"�J�L�T�V�X�
PUSH_EXC_INFO�Z�WITH_EXCEPT_START�\�^�nzto L11�f�j�RERAISE�l�
POP_EXCEPT�p�r�t�vr�zto L10�x�z�|�~�r���CHECK_EXC_MATCH��zto L12����r�z''Here we go, here we go, here we go...'������������������������c��P!r>r"r"rr�simpler�s��drc�(`�\sQsQsnQsQsUsP!)�InstructionTestCasei�c	���STt,tFDp3OPPQ5MJ	ooSTt,tFDpDOPPQ5MJ	ooUOV2P!ttohttoh)N)r�r�)�_replacer�)r�instrs_1�instrs_2�instr_1�instr_2s"""  r�assertInstructionsEqual�+InstructionTestCase.assertInstructionsEqual�sa��U]�^�U]�'�$�$�t��$�E�U]��^�U]�^�U]�'�$�$�t��$�E�U]��^�����,��_��^s
�A�Ar")r)r*r+r,rr/r0r1s@rrr�s����-�-rrc��``�\sQsQsnU1QksQsQsQsQsQs	Qs
Q	s\2Q
2s
\2Q2s\2Q2sQ
sQsQsQsQsQsQsQsQsQsQsQsUsU9s!)�InstructionTestsi�c�6:�[RU_UPUmP!r>)�superrr�)rrO�	__class__s&*�rr�InstructionTests.__init__�s���
���$����rc�f�[O[2oSFDo[U2J	P!r>)r�rr�str)rrr�s&  r�test_instruction_str�%InstructionTests.test_instruction_str�s#���%�%�f�-���E���J�rc�z�[O[2oUO[	U2[
2P!r>�r�rrrrr�expected_opinfo_simple�r�actuals& r�test_default_first_line�(InstructionTests.test_default_first_line�s'���%�%�f�-���$�$�T�&�\�3I�Jrc�~�[O[PQ5oUO[	U2[
2P!�Nr�r*r,s& r�test_first_line_set_to_None�,InstructionTests.test_first_line_set_to_None�s)���%�%�f��>���$�$�T�&�\�3I�Jrc��[O[[Q5oUO	[U2[2P!�r�)r�rr|r�rrr�expected_opinfo_outerr,s& r�
test_outer�InstructionTests.test_outer��*���%�%�e�8K�L���$�$�T�&�\�3H�Irc���[29^tt^2[2oPPP2[OW[Q5oUO[
U2[2P!)%fhKM9hr1)rr|r�rr�rrr�expected_opinfo_f)rrr-s&  r�test_nested�InstructionTests.test_nested�sG��
�
�
���A���%�%�a�O�D���$�$�T�&�\�3D�E��
�s�A$�$A4	�-A4	c��[29^tt^2[22oPPP2[OW[Q5oUO[
U2[2P!)%fhKM9hr1)rr|r�rr�rrr�expected_opinfo_inner)rrtr-s&  r�test_doubly_nested�#InstructionTests.test_doubly_nested�sJ��
�
�
��G�I�E���%�%�e�8K�L���$�$�T�&�\�3H�I��
�s�A)�)A9	�2A9	c��[O[[Q5oUO	[U2[2P!r5)r�rr�r�rrr�expected_opinfo_jumpyr,s& r�
test_jumpy�InstructionTests.test_jumpy�r9rc�^�[QQQ2o[OU2Tt,tFDoUOMJ	oo,QNoUO	V42STt,tFD1oUO
UOUOUO1MJ3	ooUO	Vd2P!ttohttoh)zf(
  x, y, z
)�<test>r)
)rrrr�rrrrrH)rzrzrzr{)rzrzrrrw)rzrz��	�rr{rrrKrKrK)	rr�rr�r��lineno�
end_linenorr )rrr�r�r��pos�named_positionss&      r�test_co_positions�"InstructionTests.test_co_positions�s����)�8�V�<���-�-�d�3�
�3��
�O�O�3�	�
�
��	
����-�!�
� ���Z�Z��������9K�9K�L� �	�
�	
����3��-
��$
s�B%�9B*c	�R�[QQQ2oUOQQ5o[OU2oSFD�oUO	UQ59^tt^2UO
oUO
[U2]2UOQ6XcPPP2JaUOUO2UOUO2UOUO2UOUO2PPP2J�	P!)%fhJ�9h)zx, y, zrGrrrD)r*r�)rr)r�rr�r�r�r�r�r�rLrMrr )rr�code_without_location_tabler-r*r�s&     r�test_co_positions_missing_info�/InstructionTests.test_co_positions_missing_infos����y�(�F�3��&*�l�l��l�&D�#��%�%�&A�B��!�K����+��6�6�'�1�1�	�� � ��Y���3��%�%��1��	7�6�
�!�!�)�"2�"2�3��!�!�)�"6�"6�7��!�!�)�"6�"6�7��!�!�)�":�":�;�7�6�"�6�6�6�s�8D	�D	�A,D	�D&
�D&
c�\`
�QoUOoUOQ*o[OQ*n
[	U
1QkU22o[U2U*
oQ	FCD"oQ	FCDoUO
QU8QU8029^tt^2[V2O2P	Q5TT	t,tFDvq�U%f
UR
6wfJU	MJ	o
oo	[[OV'UQ5UQ5Tt,tFDioUOePLUUOOUOOUOOUOO 1MJk	ooUO#V�2PPP2CJ	CJ%	P!tto	ohttoh)%fhCJ?9h)
c3� �U]*]U*U**
oU'[OU2*
]U**w�	U%c1U'[OU2*]U**w�	P!P!3h�rz)�cmath�sqrtrUs&&& r�roots�EInstructionTests.test_co_positions_with_lots_of_caches.<locals>.roots(s_����1��q�1�u�q�y� �A��2��
�
�1�
�%�!�a�%�0�0���r�E�J�J�q�M�)�a�!�e�4�4��s�AB
�2B
:NNrzr
c3�8:�SF �D
pR6Hw�	J	P!3hr>r")rnr��cache_opcodes& �rrp�IInstructionTests.test_co_positions_with_lots_of_caches.<locals>.<genexpr>0s��#���#�B�<�'�#�s�z	adaptive=z, show_caches=)�strict)r�r%r&r.)r�rkr�r��sumr�r��zip�co_positionsr'r�rr�rLrMrr r�)rr[r�opsr1�
non_cachesr%r�r�r�rcr*�
dis_positionsr^s&            @r�%test_co_positions_with_lots_of_caches�6InstructionTests.test_co_positions_with_lots_of_caches&s����	5�
�~�~���l�l�3����|�|�G�,���6�#�6�6����X��&�
�)�K�)���\�\�Y�X�K��+��"@�A�A�.1��6G�6G�6I�RV�-W�$�-W�M�B�&�"��*<�"�	�-W�!�$�,J�#�J^�J^� ��K�'2�,4�
%�,4�K�
!,� 5� 5� =��'�1�1�8�8�'�1�1�<�<�'�1�1�<�<�'�1�1�@�@�	D��,4�"�
%��$�$�\�A�#B�A�*�)��$��

%�
B�A�A�sC�F
�/F�F�	F�'F
�6F�AF�'F
�F
�F+�"F+c
�~�[QPPP]
]
P	]PPQ5
oUOUOUO2P!)rG�
r�r�r�r(r:r�r�r�r�r�)�	make_instr�r��oparg)rr*s& r�test_oparg_alias�!InstructionTests.test_oparg_aliasIsA���u�$�t�*,�R�b�VZ�hi�qu�,0�2��	
������+�*;�*;�<rc��Qo[O2o[OUOUP	Q5UO	QUO22P!)c�$�U%cSoU!SoU!r>r")rrZror;s&&& rr�7InstructionTests.test_show_caches_with_label.<locals>.fPs������J����Jr�rIr%zL1:)r�r�r�r�r�r�)rrr�s&  r�test_show_caches_with_label�,InstructionTests.test_show_caches_with_labelOs=��	����������
�
��T�:��
�
�e�V�_�_�.�/rc�@�[O2o[OQUP	Q5UOQUO	22[O2o[OQUP	Q5UOQUO	22P!)za is brrzIS_OP                    0 (is)z
a is not bz#IS_OP                    1 (is not)�r�r�r�r�r��rr�s& r�test_is_op_format�"InstructionTests.test_is_op_format[�d�����������v�4�8��
�
�7����9J�K����������6�t�<��
�
�;�V�_�_�=N�Orc�@�[O2o[OQUP	Q5UOQUO	22[O2o[OQUP	Q5UOQUO	22P!)za in brrzCONTAINS_OP              0 (in)z
a not in bz#CONTAINS_OP              1 (not in)rvrws& r�test_contains_op_format�(InstructionTests.test_contains_op_formatdrzrc�V�[OFDo[UPPP]]P	]PPQ5
oUOoUOoUOU2UOU2UO
V2UO
UOU2J�	[OFD~o[UPPP]]P	]PPQ5
oUOoUOoUOU[OU*2UO
[OU*U2J�	P!)Nrj)r�r�rk�
baseopname�
baseopcode�assertIsNotNoner�r�r�r��_specializations)r�namer*rr�s&    r�test_baseopname_and_baseopcode�/InstructionTests.test_baseopname_and_baseopcodems	���I�I�D�#�4�T�$�PR�[\�12��RS�[_�ko�q�K�$�/�/�J�$�/�/�J�� � ��,�� � ��,����T�.����[�/�/��<���-�-�D�#�4�T�$�PR�+,�1�$�\]�ei�uy�{�K�$�/�/�J�$�/�/�J��M�M�$�� 7� 7�
� C�D����V�\�\�*�5�z�B�
.rc
��[QPPP]
]
P	]PPQ5
oUOUO2]do[QV"P]
]
P	]PPQ5
oUO]�UO2[QV"P]�]�P	]PPQ5
oUO]UO2[QV"P]
]
P	]PPQ5
oUO]�UO2P!)rGrjrJr��SEND)rkr��jump_targetr�)rr*�deltas&  r�test_jump_target�!InstructionTests.test_jump_target�s����u�$�t�*,�R�b�VZ�hi�qu�,0�2��	
���+�1�1�2����~�5�*,�R�b�VZ�hi�qu�,0�2��	
�����)@�)@�A� ��E�*,�S�s�X\�jk�sw�,0�2��	
���.��0G�0G�H� �v�5�*,�R�b�VZ�hi�qu�,0�2��	
���-�{�/F�/F�Grc�R`�Qo]*oQo]Q]Q-nU1Qko]]-oV#RVE1oUOU[OQ*P,UN3Q
2UOU[OQ*],UN3Q2UOU[OQ*],UN3Q2UOU[OQ*],UN3Q2UOU[OQ*],UN3Q2UOU[OQ	*],UN3Q2UOU[OQ
*],UN3Q2UOU[OQ*],UN3Q2P!)c�R�[OUoUOVU2!r>)r��ArgResolver�get_argval_argrepr)r�rlr:�	init_args�arg_resolvers&&&* rr�/InstructionTests.test_argval_argrepr.<locals>.f�s#���?�?�I�6�L��2�2�6�&�I�Irr7rLc�:�RU*!r>r")r}�namess&�rr��6InstructionTests.test_argval_argrepr.<locals>.<lambda>�s	����a�rr�rHr�r�r�r�r��CALL_INTRINSIC_1)rrrzr{)Nr)r�1)r7r7)�r�)r�r�)rz�
kwdefaults)r{z<<)rz�INTRINSIC_IMPORT_STAR)r�r�r�)rrr:r�varname_from_oparg�
labels_maprOr�s&      @r�test_argval_argrepr�$InstructionTests.test_argval_argrepr�sk���	J��� �	��C��C� ��0���!�W�
��5�*<�I������6�<�<�	�2�D�@�4�@�*�M�����6�<�<��5�q�@�4�@�(�K�����6�<�<�
�6��A�D�A�:�N�����6�<�<��8�"�D�t�D�m�T�����6�<�<��5�q�@�4�@�*�M�����6�<�<�(@�A�1�L�t�L�N_�`�����6�<�<��4�a�?�$�?��K�����6�<�<�(:�;�Q�F��F�Hd�erc�`�QQ[O2nU1Qko]*oUOU[OQ*]U2Q2UOU[OQ*]U2Q2P!)c�.`�\sQsQsnQsQsQsUsP!)�@InstructionTests.test_custom_arg_resolver.<locals>.MyArgResolveri�c��U]*!r
r")rr�r�r:s&&&&r�offset_from_jump_arg�UInstructionTests.test_custom_arg_resolver.<locals>.MyArgResolver.offset_from_jump_arg�s���Q�w�rc��]U*!rXr")rr:s&&r�get_label_for_offset�UInstructionTests.test_custom_arg_resolver.<locals>.MyArgResolver.get_label_for_offset�s���6�z�!rr")r)r*r+r,r�r�r/r0r1s@r�
MyArgResolverr��s����
�
"�
"rr�c�8:�RUoUOVU2!r>)r�)r�rlr:r�r�r�s&&&* �rr�4InstructionTests.test_custom_arg_resolver.<locals>.f�s ���(�)�4�L��2�2�6�&�I�Irr��
SETUP_FINALLY)rzr�)r{r�)r�r�r�r�r�)rrr:r�s&  @r�test_custom_arg_resolver�)InstructionTests.test_custom_arg_resolver�sd���	"�C�O�O�	"�	J�������6�<�<��8�!�V�D�l�S�����6�<�<��8�!�V�D�l�Src�0�[OU2!r>)r��_get_instructions_bytes�rrs&&rr�!InstructionTests.get_instructions�s���*�*�4�0�0rc���[[O[22oSFD)oUO	UO
UO2J+	Qo[[OQ*][OQ*][OQ*]�,2o[OU2oUUOU22oUO	]UO
2UO	]UO2[[OQ*][OQ*][OQ*][OQ*][OQ*]�[OQ*],2oUUOU22oUO	]UO
2UO	]UO2[[OQ*][OQ*][OQ*]�[OQ*][OQ*][OQ*][OQ*][OQ*]�[OQ*],2o[UOU22oUO	]U]*O
2UO	]U]*O2UO	]U]*O
2UO	]U]*O2P!)c�4�[OQU2!)c��U!r>r"r_s&&rr��GInstructionTests.test_start_offset.<locals>.last_item.<locals>.<lambda>�s��!r)�	functools�reduce)�iterables&r�	last_item�5InstructionTests.test_start_offset.<locals>.last_item�s���#�#�O�X�>�>rr�rFr�r
)rrr��Bytecoder8r�r:r��bytesr�r��_make_labels_mapr)r�instructionsr*r�rr��jumps&      r�test_start_offset�"InstructionTests.test_start_offset�s����C�L�L��,�-��'�K����[�/�/��1I�1I�J�(�	?���L�L��%�t��L�L��(�$��L�L�+�,�d�
���
�)�)�$�/�
���.�.�t�4�5������D�K�K�(�����D�-�-�.���L�L��%�t��L�L��(�$��L�L��(�$��L�L��(�$��L�L�+�,�d��L�L��!�4�

�����.�.�t�4�5������D�K�K�(�����D�-�-�.���L�L��%�t��L�L��(�$��L�L�+�,�d��L�L��!�4��L�L��(�$��L�L��(�$��L�L��(�$��L�L�+�,�d��L�L��!�4�

�
���D�1�1�$�7�8������L��O�2�2�3�����L��O�8�8�9�����\�!�_�3�3�4�����L��O�8�8�9rc��[[OQ*][OQ*][OQ*][OQ*][OQ*][OQ*][OQ*][OQ*][OQ*][OQ*],2o[UO	U22oUO]U]*O2UO]
U]*O2UO]U]*O2UO]U]*O2UO]U]*O2UO]U]*O2[[OUO22o[V"Q*2FD+vq4UOUOUO2J-	P!)r�r
r�r��rNN)
r�r�r�rrrr�r=�
end_offsetr�r�� test_cache_offset_and_end_offsetrbr�)rrr��prev�currs&    rr��1InstructionTests.test_cache_offset_and_end_offset�s�����L�L��'���L�L��!�4��L�L��!�4��L�L��!�4��L�L��!�4��L�L��%�t��L�L�� �$��L�L��!�4��L�L��!�4��L�L��!�4�
����D�1�1�$�7�8������L��O�8�8�9�����\�!�_�7�7�8�����\�!�_�9�9�:�����\�!�_�7�7�8�����\�!�_�9�9�:�����\�!�_�7�7�8��C�L�L��)N�)N�O�P���l��,<�=�J�D����T�_�_�d�.?�.?�@�>rrB)r)r*r+r,rr'r.r2r7r<r@rDrrPrTrgrmrsrxr|r�r�r�r�rr�r�r/r0�
__classcell__�r#r2s@@rr r �s�������K�K�J�F�J�J���4��4�4��
<��
<��� B�� B�D=�
0�P�P�C�*H�2f�(
T� 1�2:�hA�Arr c�l`�\sQsQsnQsQsQsQsQsQs	Qs
Q	s\2Q
2s
QsUsP!)�
BytecodeTestsi	c	��[[]2OQ[O1FDfoUO	UQ59^tt^2[
OU2oUOUO[O2PPP2Jh	UO[[
O[22P!)%fhJ�9h�r�a=1)�obj)r8rrr�r�r�r��assertIsInstance�codeobj�types�CodeTyper�r�r�)rr�rLs&  r�test_instantiation� BytecodeTests.test_instantiation	s�����1�����r�{�{�;�C����#��&�&��L�L��%���%�%�a�i�i����@�'�&�<�
	
���)�S�\�\�6�8�<�	'�&�&�s�AC	�C
�C
c	�z�[[]2OQ[O1FDuoUO	UQ59^tt^2[[OU22o[[OU22oUOV#2PPP2Jw	P!)%fhJ�9hr�)
r8rrr�r�rrr�r�rr)rr��
via_object�
via_generators&   r�test_iteration�BytecodeTests.test_iteration	sz����1�����r�{�{�;�C����#��&�&�!�#�,�,�s�"3�4�
� $�S�%9�%9�#�%>� ?�
��,�,�Z�G�'�&�<�&�&�&�s�AB)	�)B:
�2B:
c��[O[[Q5oUO	[U2[2P!r5)r�r�r|r�rrrr6r,s& r�test_explicit_first_line�&BytecodeTests.test_explicit_first_line&	s(�����e�0C�D���$�$�T�&�\�3H�Irc���[O[2O2oUO2O	Q2]*o[[OO2oUOV2[O[QQ5O2oUO2O	Q2]*oUOUQ2P!)rSr�r��350)	r�r�r�strip�	partitionr&r��co_firstlinenor�)rr-r�s&  r�test_source_line_in_disassembly�-BytecodeTests.test_source_line_in_disassembly*	s������f�%�)�)�+������)�)�#�.�q�1���v���5�5�6������*����f��5�9�9�;������)�)�#�.�q�1�������'rc��QUm[OFD;vq[OU2oUOUO
2U2J=	P!rW)r�rUrXr�r�r/�info)rrr�rLs&   r�	test_info�BytecodeTests.test_info5	s>�����(�3�3�K�A����Q��A����Q�V�V�X�x�0�4rc��[O[2O2oUOU[2P!r>)r�r�r8r�r�r,s& r�test_disassembled�BytecodeTests.test_disassembled;	s)�����b�!�%�%�'���#�#�F�E�2rc���[2o[OOU2oUO%cUOoJ UOUOUO2P!r>)rr�r��from_tracebackrr��current_offsetr��rrrLs&  r�test_from_traceback�!BytecodeTests.test_from_traceback?	sH��
�X���L�L�'�'��+���j�j�j�r�z�z�"�����)�)�2�;�;�7rc��PUm[2o[OO	U2oUOUO2[2P!r>)r�rr�r�r�r��
dis_tracebackr�s&  r�test_from_traceback_dis�%BytecodeTests.test_from_traceback_disF	s:�����
�X���L�L�'�'��+���������-�0rc���[OQ2oUOO2o[	U2[V2FD!vq4UO
UOU2J#	P!)r�)r�r�r�rc�nextrbr�r�)r�bytecode�itr�r�s&    r�test_bytecode_co_positions�(BytecodeTests.test_bytecode_co_positionsL	sQ���<�<��&��
�
�
�
*�
*�
,���R�� #�H� 1��E����U�_�_�i�8�!2rrB)r)r*r+r,r�r�r�r�r�r�r�r�rr�r/r0r1s@rr�r�	sF����=�H�J�	(�1�3�8�1���9��9rr�c�4`�\sQsQsnQsQsQsQsUsP!)�TestBytecodeTestCaseiT	c��[QQQ2oUOUQ]2UOUQ2UOUQQ2P!)�a = 1�<string>rr��	LOAD_NAMEr7�r�assertInBytecode�assertNotInBytecoder�s& r�*test_assert_not_in_with_op_not_in_bytecode�?TestBytecodeTestCase.test_assert_not_in_with_op_not_in_bytecodeU	sE���w�
�F�3�����d�$4�a�8�� � ��{�3�� � ��{�C�8rc��[QQQ2oUOUQ2UOUQ]2UOUQ]2P!)rrrr�rHrr�s& r�+test_assert_not_in_with_arg_not_in_bytecode�@TestBytecodeTestCase.test_assert_not_in_with_arg_not_in_bytecode[	sF���w�
�F�3�����d�$4�5����d�$4�a�8�� � ��|�Q�7rc��[QQQ2oUO[29^tt^2UOUQ]2PPP2P!)%fhP!9h)rrrr�)rr��AssertionErrorrr�s& r�'test_assert_not_in_with_arg_in_bytecode�<TestBytecodeTestCase.test_assert_not_in_with_arg_in_bytecodea	sC���w�
�F�3��
�
�
�~�
.�
.��$�$�T�+;�Q�?�/�
.�
.�
.�s�A
�
A	�A	r")	r)r*r+r,rr	r
r/r0r1s@rr�r�T	s����9�8�@�@rr�c�:`�\sQsQsnQsQsQsQsQsUs	P!)�TestFinderMethodsif	c	�V�,QNoSFD�vq#UOUQ59^tt^2[UQQ2o[[OU22oUO[
U2]2UOU]*U2PPP2J�	P!)%fhJ�9h)�import a.b.c��srcrr))r)za.b.crN)zfrom a.b import c��a.brrP)zfrom a.b import c as dr)zfrom a.b import *)rr��*)zfrom ...a.b import c as d)rr{rP)z from ..a.b import c as d, e as f)rrz)rMr)zfrom ..a.b import *)rrzr)r�rr�r��
_find_importsr�r��r�casesrr�rr;s&     r�test__find_imports�$TestFinderMethods.test__find_importsg	s���
��#�M�C����#��&�&��s�J��7���C�-�-�d�3�4��� � ��S��1�-�� � ��Q���2�	'�&�#�&�&�&�s�A!B	�B(
� B(
c	��,QNoSFDevq#UOUQ59^tt^2[UQQ2o[[OU22oUOVS2PPP2Jg	P!)%fhJ|9h)�x+yrrr))rr")zx=y=1rs)zx+=yr)zglobal x
x=y=1rs)zglobal x
z=x)ro)r�rr�r��_find_store_namesr�rs&     r�test__find_store_names�(TestFinderMethods.test__find_store_namesx	sk��
��#�M�C����#��&�&��s�J��7���C�1�1�$�7�8��� � ��/�'�&�#�&�&�&�s�>A4	�4B
�=B
c��[O[OO2o[
Tt,tFD#oUO%fJUOMJ%	ooUO[U2[U22P!ttohr>)
r��
findlabelsr�r�rkrC�is_jump_targetr:r��sorted)r�labelsr��jumpss&   r�test_findlabels�!TestFinderMethods.test_findlabels�	sj�������� 6� 6�7��/�
�.���#�#�
�E�L�L�.�	�
�	
���������7��

s�B
�B
c��QoUOo[OU2Tt,tFDp3]*MJ
	ooUOU]],2P!ttoh)c��P!r>r"r"rrr��3TestFinderMethods.test_findlinestarts.<locals>.func�	r(r)r�r��findlinestartsr�)rr�r�	linestart�offsetss&    r�test_findlinestarts�%TestFinderMethods.test_findlinestarts�	sQ��	��}�}��14�1C�1C�D�1I�J�1I�I�Q�<�<�1I��J�����1�a�&�)��Ks�Ar")
r)r*r+r,rr!r)r1r/r0r1s@rrrf	s����3�"0�8�*�*rrc�X``�\sQsQsnU1QkU1QkksQsQsQsQsQs	Us
U9s!)	�TestDisTracebacki�	c� :�U]6�cPgQP-!)rz�returnr")r�r2s"�r�__annotate__�#TestDisTraceback.setUp.__annotate__�	s���	�	�t�	rc�:�[;[;[RU_2![cK"h9h[cK,h9hr>)r�r�r�r�r"�setUp)rr#s&�rr:�TestDisTraceback.setUp�	sM���	���	��"��w�}����
�	��	���	��	�s ��0�	-�-�-�	>�>�>c��[O2o[OU29^tt^2[O
U2PPP2UO
2!)%fhSO
2!9hr>�r�r�r�r�r��distbr��rrr�s&& rr�� TestDisTraceback.get_disassembly�	sQ�������
�
'�
'��
/�
/��I�I�b�M�0���� � �0�
/���� � �s�A$�$B	�-B	c��UO[29^tt^2[O2PPP2P!)%fhP!9hr>)r�r�r�r>r�s&r�test_distb_empty�!TestDisTraceback.test_distb_empty�	s+��
�
�
�|�
,�
,��I�I�K�-�
,�
,�
,�s�?�A	�A	c��PUm[2oU[mUO	UOP2[2P!r>)r�rr�r�r�r�r��rrs& r�test_distb_last_traceback�*TestDisTraceback.test_distb_last_traceback�	s3�����
�X������#�#�D�$8�$8��$>�
�Nrc�t�PUm[2oUOUOU2[2P!r>)r�rr�r�r�rEs& r�test_distb_explicit_arg�(TestDisTraceback.test_distb_explicit_arg�	s+�����
�X���#�#�D�$8�$8��$<�m�LrrB)r)r*r+r,r:r�rBrFrIr/r0r�r�s@@rr4r4�	s+����	�	�!��O�M�Mrr4c�(`�\sQsQsnQsQsUsP!)�TestDisTracebackWithFilei�	c��[O2o[OU29^tt^2[O
VQ5PPP2UO
2!)%fhSO
2!9h)rHr=r?s&& rr��(TestDisTracebackWithFile.get_disassembly�	sR�������
�
'�
'��
/�
/��I�I�b�&�0���� � �0�
/���� � �s�A%�%B	�.B	r"rKr1s@rrLrL�	s����!�!rrLc#�z �SFD�oUw�	U%fJUOoUO9%fQFDuvqEo[U2FD_oU]*
oU]6Xc+UQ[O	U[
O20oLPo[Q]PV�UP
PPUO2
w�	Ja	Jw	J�	P!3h)rzz: r
r")	r:r�r:r��
from_bytesr��	byteorderrkr�)	rr%r�r:r��size�datar}r(s	&&       rr'r'�	s��������������!&�!1�!1�!7�!7�R�!7��D���4�[���!�����6�!%��b�����c�m�m�)L�(M�N�G� �G����D�'�6� %�t�T�5�?�?�D�D�!�"8�
�s�B;� B;�(B;�!AB;c�h`�\sQsQsnQs\Q2sQsQsQs	Qs
QsQ	sQ
s
QsQsUsP!)
�
TestDisCLIi�	c��[O2UmUO[O
UO2P!r>)�tempfile�mktemp�filename�
addCleanupr�unlinkr�s&rr:�TestDisCLI.setUp�	s(�� ���)��
����	�(�(�$�-�-�8rc�L�[OU2O2!)z�Dedent *string* and strip it from its surrounding whitespaces.

This method is used by the other utility functions so that any
string to write or to match against can be freely indented.
)�textwrap�dedentr�)�strings&r�text_normalize�TestDisCLI.text_normalize�	s�����v�&�,�,�.�.rc��[UOQ29^tt^2oUOUOU22PPP2P!)%fhP!9h)�w)�openrY�writera)r�content�fps&& r�
set_source�TestDisCLI.set_source�	s;��
�$�-�-��
%�
%���H�H�T�(�(��1�2�&�
%�
%�
%�s�!A�A	�A	c�*�[O2o[OU29^tt^2[O
,UNUOMQ5PPP2UOUO22!)%fhK/9h)�rO)	r�r�r�r�r��mainrYrar�)r�flagsr�s&* r�
invoke_dis�TestDisCLI.invoke_dis�	s_�������
�
'�
'��
/�
/��H�H�1�E�1�4�=�=�1�2�0��"�"�6�?�?�#4�5�5�0�
/�s�&B�B	�B	c�8�UOVQ59^tt^2UOU2UOUoUOU2oUO	UO2UO22PPP2P!)%fhP!9h))�sourcern)r�rirora�assertListEqual�
splitlines)rrrrrnr;s&&&* r�check_output�TestDisCLI.check_output�	sl��
�\�\��\�
5�
5��O�O�F�#��/�/�5�)�C��(�(��0�F�� � ����!1�6�3D�3D�3F�G�	6�
5�
5�
5�s�A"B�B	�B	c
��,QNoUOQ2[][U2]*2FDzo[OVQ5FD[o[O
UFD>oUO
UQ*Q59^tt^2UOUoPPP2J@	J]	J|	UO[29^tt^2[O[O229^tt^2UOQ2oPPP2PPP2P!)%fhJ�9h)%fhK.9h)%fhP!9h)�-CzS
            def f():
                print(x)
                return None
        )�rr�rlz	--unknown)�rxz
--show-caches�z-Oz--show-offsets�z-Pz--show-positions�z-Sz
--specialized)rir:r��	itertools�combinations�productr�ror��
SystemExitr��redirect_stderrr�r�)r�
base_flagsry�choicesrOr�s&     r�test_invocation�TestDisCLI.test_invocation
s���
�
�	
����	
��q�#�j�/�A�-�.�A�$�1�1�*�B�B��%�-�-�w�7�D����4��8��4�4� �O�O�T�2��5�4�8�C�/��
�
�z�
*�
*��+�+�B�K�K�M�:�:��O�O�K�0��;�+�
*�5�4�4��
;�:��+�
*�
*�sB�D%�2E�D9	�E�%D6�.D6�9E	
�E	
�E�E	�E	c�H�QoQoQFDoUOVU2J	P!)zprint()aD
            0           RESUME                   0
                        CACHE                    0 (counter: 0)

            1           LOAD_NAME                0 (print)
                        PUSH_NULL
                        CALL                     0
                        CACHE                    0 (counter: 0)
                        CACHE                    0 (func_version: 0)
                        CACHE                    0
                        POP_TOP
                        LOAD_COMMON_CONSTANT     7 (None)
                        RETURN_VALUE
        rz�ru�rrrr�flags&   r�test_show_cache�TestDisCLI.test_show_cache
s*����
��,�D����f�d�3�,rc�H�QoQoQFDoUOVU2J	P!)�passz�
            0          0       RESUME                   0

            1          4       LOAD_COMMON_CONSTANT     7 (None)
                       6       RETURN_VALUE
        r{r�r�s&   r�test_show_offsets�TestDisCLI.test_show_offsets.
s*������-�D����f�d�3�-rc�H�QoQoQFDoUOVU2J	P!)r�z�
            0:0-1:0            RESUME                   0

            1:0-1:4            LOAD_COMMON_CONSTANT     7 (None)
            1:0-1:4            RETURN_VALUE
        r|r�r�s&   r�test_show_positions�TestDisCLI.test_show_positions:
s*������/�D����f�d�3�/rc�H�QoQoQFDoUOVU2J	P!)r�z�
            0           RESUME                   0

            1           LOAD_COMMON_CONSTANT     7 (None)
                        RETURN_VALUE
        r}r�r�s&   r�test_specialized_code� TestDisCLI.test_specialized_codeF
s*������,�D����f�d�3�,r)rY)r)r*r+r,r:r-rarirorur�r�r�r�r�r/r0r1s@rrUrU�	sL����9��/��/�3�6�H�1�44�(
4�
4�
4�
4rrU�__main__r�)T)rrz��counterr�rz)r�)�indexrr�)�module_keys_versionrr�)�builtin_keys_versionrr�)�func_versionrz�rv)rr)�versionrzr�)�descrr{sr�)�rr�r�r�r�r~r�r�r�rWr^r��unittest�test.supportrrrrrrr�test.support.bytecode_helperr	r�r
rr�r��TRACEBACK_CODErrr�r�rtrxr'r�r#r}r)rpr8r�r�rrlr<r-r?�__file__r2rAr)r6r�r:r;rFr?r@rNrQrDrHrIrJrWrXrZr^r_r`rarbrcrdrerfrgr�rWr�r[r�r]r�r`rbr�r�rdrfrirvr�r�r�rxr�r~rr�r�TestCaser�r�rFrYr��code_info_constsrhr-rQri�__func__rrjrkrlrmrnrSrorUr|r�r��_line_offsetr�r�r�r�r�r�r��Instruction�makerkr�r6r;r?rCrr+rr r�r�rr4rLr'rUrmr"rr�<module>r�s�+����
��	��
�	�
�����@�@�@�:�	�	�	�'������"�"�)�)��
�
�
�
�{�{���*�*�B�K�K�,@�,@�,O�,O�RS�,S�U�
V��	��
�
�u�u�~�~�$�$�b�e�e�n�n�&C�&C�a�&G�I�
J��	�
�u�u�~�~�$�$�b�e�e�n�n�&C�&C�a�&G�I�	J��&
�{�{���2�	�u�u�~�~�)�	�u�u�~�~�*�		,��
�
	�
�{�{�!�!�	�{�{�!�!�A�%�	�{�{�!�!�A�%�'�	'��
�
�{�{�!�!�	�{�{�!�!�A�%�	�{�{�!�!�A�%�'�'��
#���
�
�
�&���(�(����(�(�1�,����(�(�1�,����(�(�1�,����(�(�1�,����(�(�1�,�.�'.�
�6�	�
����)�)����)�)�A�-�����)�)�A�-����)�)�A�-����)�)�A�-�/�/��,	�
�%�%�-�-�7�-�C���������^�$�d����U��d����^�$�d����\�"�d����^�$�d�����
��
����
����
����
�L�L�� �#�	�����	����"�"�1�1��"�"�1�1�A�5�7�
7��
������������������	������B��
����
��0�`�$�$��$�$�q�(��$�$�q�(��$�$�q�(��$�$�q�(��$�$�q�(��$�$�q�(��$�$�q�(�*�a7*�
�r&��(���'�'��):�):�)I�)I�A�)M�N�)O��,
�
2�d
�~�~�$�$��~�~�$�$�q�(��~�~�$�$�q�(��~�~�$�$�q�(��~�~�$�$�q�(��~�~�$�$�q�(��~�~�$�$�q�(�
	�e9	��v
�
]�z���)�)����)�)�A�-����)�)�A�-����)�)�A�-����)�)�A�-����)�)�A�-����)�)�A�-�
	�{d	�
�N���6���*�*����*�*�Q�.����*�*�Q�.����*�*�Q�.����*�*�Q�.�		�7 	��D�6� � �/�/�� � �/�/�!�3�� � �/�/�!�3�� � �/�/�!�3�� � �/�/�!�3�		�7 	��D��
���
�{�{�!�!�	�{�{�!�!�A�%��	�{�{�!�!�A�%�	�{�{�!�!�A�%�	���*'�N��	�{�{�!�!�A�%�	�{�{�!�!�A�%�	�{�{�!�!�A�%���	�{�{�!�!�A�%��	�{�{�!�!�A�%�
�O1��f�8��	�{�{�!�!�A�%�	�{�{�!�!�A�%��9 ��D�	 ����(�(����(�(�1�,����(�(�1�,�.� .��� �,���(�(����(�(�1�,����(�(�1�,����(�(�1�,�/�- /��6�
��!�!�0�0��!�!�0�0�1�4�7�7��(�(�#�#�(�0b0�{�b0�J	!�x�	!��=�=��� � ��O��
������$�$��$��$�
��B�_�_�-�-�7�7��:����,�������
��$5�H�%�%�5�F
�$�<���~�~�,�,�q�0�����(�(��+�
��.�.��=��!�+�+�A�.��'�6�6��E����� �H
�O�O� � �	��;�A�c�3�q�WX�fj�x|�}��;�A�c�3�q�WX�fk�y}�~��8��1�b��QR�`d�rs�B]�A^�_��<�Q�v�x�PQ�`a�os�BC�D��%�1�S�#�b�_a�ot�CD�E��%�1�S�#�b�_a�ot�CD�E��=�a��2�b�WY�gl�z{�|��<�Q�}�d�=�FY�bd�su�DI�WX�Y��?��T�2�b�_a�ot�CD�E��+��1�i�XZ�ik�y~�MN�O��+��1�j�Y[�jl�z�NO�P��<�Q�s�C��Y[�in�|}�~��=�a���XZ�ik�y}�LM�Ze�f��<�Q�s�C��Y[�in�|}�~��<�Q�s�C��Y[�in�|}�~��)�q��T�RT�ce�sx�GH�I��#��1�b��Z\�jo�}~���<�Q�q�"�R�VX�fk�yz�{��;�A�a��B�UW�ej�xy�z��<�Q�~�GW�`b�qs�BG�UV�W��6�q��B�r�PR�`e�st�C^�`H�BI�J��9�$�t�R��Y[�in�|}�~��%�1�S�#�b�_a�os�BC�D��>�t�D�"�R�^`�ns�BC�D�1��8�#��1�b��YZ�hl�z~���;�A�c�3�q�WX�fk�y}�~��;�A�c�3�q�WX�fk�y}�~��8��1�b��QR�`d�rs�B]�A^�_��<�Q�v�x�PR�ac�qu�DE�F��%�1�S�#�b�_a�ot�CD�E��%�1�S�#�b�_a�ot�CD�E��%�1�S�#�b�_a�ot�CD�E��%�1�S�#�b�_a�ot�CD�E��=�a��2�b�WY�gl�z{�|��<�Q�/@�$�O`�Ja�jl�{}�LQ�_`�a��?��T�2�b�_a�ot�CD�E��+��1�i�XZ�ik�y~�MN�O��+��1�j�Y[�jl�z�NO�P��<�Q�w��PR�ac�qv�EF�G��=�a���XZ�ik�y}�LM�Ze�f��<�Q�s�C��Y[�in�|}�~��<�Q�s�C��Y[�in�|}�~��<�Q�s�C��Y[�in�|}�~��<�Q�s�C��Y[�in�|}�~��6�q��B�r�PR�`e�st�C^�`H�BI�J��9�$�t�R��Y[�in�|}�~��%�1�W�g�VX�gi�w{�JK�L��>�t�D�"�R�^`�ns�BC�D�1��8�#��1�b��YZ�hl�z~���8��1�b��QR�`d�rs�B]�A^�_��=�a���XY�hi�w{�JK�Xc�d��<�Q�s�C��Y[�in�|}�~��<�Q�s�C��Y[�in�|}�~��<�Q�s�C��Y[�in�|}�~��<�Q�s�C��Y[�in�|}�~��6�A�j�Z`�ik�z|�KP�^_�`��6�q��B�r�PR�`e�st�C^�`H�BI�J��9�$�t�R��Y[�in�|}�~��)�q��v�VX�gi�w|�KL�M��>�t�D�"�R�^`�ns�BC�D�
��B��8��1�b��QR�`d�rs�B]�A^�_�B��=�a���XY�hi�w{�JK�Xc�d�B��#��B��2�\^�lq�@A�B�B��6�q��B�r�PR�`e�st�C^�`H�BI�J�	B�
�:�1�Q��2�TV�di�wx�Gb�Fc�d�B��:�2�b�'�"�[]�kp�~�HI�Wr�Vs�t�
B��<�Q�s�C��Y[�in�|}�~�B��=�a���XZ�ik�y}�LM�Ze�f�B��%�1�S�#�b�_a�ot�CD�E�B��6�q��B�r�PR�`e�st�C^�`H�BI�J�B��9�$�t�R��Y[�in�|}�~�B��%�1�S�#�b�_a�os�BC�D�B��#��1�b��Z\�jo�}~��B��<�R��Y�r�`b�pu�DE�Sn�Ro�p�B��&�A�b�'�RT�ce�sx�GH�Vq�Ur�s�B� �;�D��r�"�[]�kp�~�A�!B�"�?��2�w�r�`b�pt�CD�Rm�Qn�o�#B�$�%�1�S�#�b�_a�os�BC�KL�M�%B�&�#��1�b��Z\�jo�}~��'B�(�<�S��i�PR�ac�qv�EF�To�Sp�q�)B�*�%�1�R��QS�bd�rw�FG�Up�Tq�r�+B�,�;�D��r�"�[]�kp�~�A�-B�.�?��2�w�r�`b�pu�DE�Sn�Ro�p�/B�0�9�$�t�R��Y[�im�{|�EF�G�1B�2�9�$�t�R��Y[�in�|}�~�3B�4�>�r�#�w�r�`b�pu�DE�F�5B�6�9�$�t�R��Y[�im�{|�EF�G�7B�8�:�4��b��[^�lq�@A�B�9B�:�=�a���X[�jm�{�NP�]h�i�;B�<�<�Q�/G�Qk�tw�GJ�X]�km�n�=B�>�6�q��B�s�QT�bg�uw�Fa�cK�EL�M�?B�@�9�$�t�R��Z]�kp�A�B�AB�B�$�!�C��S�_b�pt�CE�MN�O�CB�D�9�$�t�R��Z]�kp�A�Oj�lO�NP�Q�EB�F�&�B�s�G�TW�fi�w|�KM�[v�Zw�x�GB�H�;�D��r�#�\_�mr�AC�D�IB�J�=�a���X[�jm�{�NP�]h�i�KB�L�%�1�S�#�c�`c�qv�EG�H�MB�N�6�q��B�s�QT�bg�uw�Fa�cK�EL�M�OB�P�9�$�t�R��Z]�kp�A�B�QB�R�%�1�S�#�c�`c�qu�DF�G�SB�T�#��1�b��[^�lq�@B�C�UB�V�;�B�r�4��Z]�kp�A�Oj�l]�N^�_�WB�X�<�Q�s�C��Z]�kp�A�B�YB�Z�%�1�S�#�c�`c�qu�DF�G�[B�\�#��1�b��[^�lq�@B�C�]B�^�<�S��i�PS�be�sx�GI�Wr�Vs�t�_B�`�&�A�c�7�SV�eh�v{�JL�Zu�Yv�w�aB�b�;�D��r�#�\_�mr�AC�D�cB�d�?��3��PS�be�sw�FH�Vq�Ur�s�eB�f�%�1�S�#�c�`c�qu�DF�NO�P�gB�h�#��1�b��[^�lq�@B�C�iB�j�<�R��Y�s�ad�rw�FH�Vq�Ur�s�kB�l�%�1�S�'�RU�dg�uz�IK�Yt�Xu�v�mB�n�;�D��r�#�\_�mr�AC�D�oB�p�?��3��PS�be�sx�GI�Wr�Vs�t�qB�r�>�r�#�w�s�ad�rv�EG�OP�Q�sB�t�=�a���X[�jm�{�NP�XY�fq�r�uB�v�<�Q�/V�aJ�SV�eh�v{�IK�L�wB�x�6�q��B�s�QT�bg�uw�Fa�cK�EL�M�yB�z�9�$�t�R��Z]�kp�A�B�{B�|�5�d�4��C�VY�gk�y{�DE�F�}B�~�#��1�b��[^�lp�A�B�B�@�#��1�b��[^�lq�@B�C�AB�B�;�B�r�3�s�Y\�jo�}�Ni�k\�M]�^�CB�D�9�$�t�R��Z]�kp�A�B�EB�F�%�1�S�#�c�`c�qu�DF�G�GB�H�6�q��B�s�QT�bg�uw�x�IB�J�>�q��J�s�ad�rw�FH�I�KB�L�6�q��B�s�QT�bg�uw�x�MB�N�6�q��B�s�QT�bg�uw�x�OB�P�>�q��K�PS�be�sx�GI�J�QB�R�6�q��B�s�QT�bg�uw�Fa�cK�EL�M�SB�T�<�Q�w��PS�be�sx�GI�J�UB�V�=�a���X[�jm�{�NP�]h�i�WB�X�<�Q�/A�K_�hk�z}�LQ�_a�b�YB�Z�6�q��B�s�QT�bg�uw�Fa�cK�EL�M�[B�\�9�$�t�R��Z]�kp�A�B�]B�^�)�q��v�VY�hk�y}�LN�O�_B�`�)�q��v�VY�hk�y~�MO�P�aB�b�)�q��v�VY�hk�y~�MO�P�cB�d�6�q��B�s�QT�bg�uw�Fa�cK�EL�M�eB�f�9�$�t�R��Z]�kp�A�B�gB�h�=�a���X[�jm�{�NP�XZ�gr�s�iB�j�<�Q�/C�Md�mp�@C�QV�df�g�kB�l�6�q��B�s�QT�bg�uw�Fa�cK�EL�M�mB�n�9�$�t�R��Z]�kp�A�B�oB�p�)�q��v�VY�hk�y~�MO�P�qB�r�>�t�D�"�S�_b�pu�DF�G�sB�t�?��T�2�c�`c�qu�DF�G�uB�v�&�D��r�RU�dg�uz�IK�L�wB�x�9�$�t�R��Z]�kp�A�Oj�lO�NP�Q�yB�z�%�1�S�(�SV�eh�v{�JL�Zu�Yv�w�{B�|�;�D��r�#�\_�mr�AC�D�}B�~�9�!�A�r�#�TW�ej�xz�{�B�@�9�$�t�R��Z]�kp�A�IK�L�AB�B�<�T�$��3�]`�ns�BD�E�CB�D�9�$�t�R��Z]�kp�A�B�EB�F�9�$�t�R��Z]�kp�A�B�GB�H�9�$�t�R��Z]�kp�A�B�IB�J�/�R��X�^a�ps�BG�UW�X�KB�L�6�q��B�s�QT�bf�tx�y�MB�N�<�T�$��3�]`�ns�BF�G�OB�P�9�!�A�r�#�TW�ej�x|�}�QB�R�?��T�2�c�`c�qv�EI�J�SB�T�=�a�0C�M`�il�{~�MQ�_a�ny�z�UB�V�$�$�t�R�PS�be�sx�GI�J�WB�X�&�B�s�H�UX�gj�x}�LN�\w�[x�y�YB�Z�;�D��r�#�\_�mr�AC�D�[B�\�9�$�t�R��Z]�kp�A�B�]B�^�=�a���X[�jm�{�NP�]h�i�_B�`�<�Q�/V�aJ�SV�eh�v{�IK�L�aB�b�6�q��B�s�QT�bg�uw�Fa�cK�EL�M�cB�d�9�$�t�R��Z]�kp�A�B�eB�f�<�T�$��3�]`�ns�BD�E�gB�h�/�R��X�^a�ps�BG�UW�X�iB�j�9�!�A�r�#�TW�ei�wy�BD�E�kB�l�6�q��B�s�QT�bf�tx�y�mB�n�<�T�$��3�]`�ns�BF�G�oB�p�9�!�A�r�#�TW�ej�x|�}�qB�r�?��T�2�c�`c�qv�EI�J�sB�t�=�a���X[�jm�{�NP�]h�i�uB�v�<�Q�/C�Md�mp�@C�QV�df�g�wB�x�6�q��B�s�QT�bg�uw�Fa�cK�EL�M�yB�z�9�$�t�R��Z]�kp�A�B�{B�|�9�!�A�r�#�TW�ej�xz�{�}B�~�6�q��B�s�QT�bf�tx�y�B�@�<�T�$��3�]`�ns�BF�G�AB�B�9�!�A�r�#�TW�ej�x|�}�CB��J��8��1�b��QR�`d�rx�sB�sB�sQ�sQ�R��)�q��v�VW�fg�uz�IO�IX�IX�Ig�Ig�h��>�t�D�"�Q�]^�lq�@F�@O�@O�@^�@^�_���-�*�-�|A�*�|A�B
>9�'��>9�@@�+�@�$0*��)�)�0*�f"M�{�"M�J!�/�!�D�4p4��"�"�p4�f�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit