403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
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 :  /Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Python315/Lib/test/__pycache__/test_code.cpython-315.pyc
R
>lqj>�c��Qs]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]PH$s	]PH*s
]QH0G
s
GsGsGsGsGs]QHLGs]QH0GsGs]QH\Gs]QHdGsGs]PHrs]PHxGs \Q*s!Qs"Qs#Q	s$Q
Q\OJ2s&Qs'Q
Q\OJ2s(QQ\OJ2s)Qs*Qs+Qs,Qs-Qs.\/21Qks0Qs1Qs2Qs3QQ\OJ2s4\P	Q5%Cc \
Cd\
Ojs6\
OnP\
Op2s9\6Ots;\91\;m<\
Oz\;m>\6O~s@\
O�\
Oz\
Op1\@m<\
O�\@m>\6O�sD\
O�\
Oz\
O�\
Op21\Dm<\
O�\Dm>PrFQsG\9\G2sH\;\H2sI\\G2QQ\OJ2sJQ sK\LQ!6Xc\O�2P!P!\cPs
CKh9h\cPsCK�h9h)"a�
This module includes tests of the code object representation.

>>> def f(x):
...     def g(y):
...         return x + y
...     return g
...

>>> dump(f.__code__)
name: f
argcount: 1
posonlyargcount: 0
kwonlyargcount: 0
names: ()
varnames: ('x', 'g')
cellvars: ('x',)
freevars: ()
nlocals: 2
flags: 3
consts: ('<code object g>',)

>>> dump(f(4).__code__)
name: g
argcount: 1
posonlyargcount: 0
kwonlyargcount: 0
names: ()
varnames: ('y',)
cellvars: ()
freevars: ('x',)
nlocals: 1
flags: 19
consts: ('None',)

>>> def h(x, y):
...     a = x + y
...     b = x - y
...     c = a * b
...     return c
...

>>> dump(h.__code__)
name: h
argcount: 2
posonlyargcount: 0
kwonlyargcount: 0
names: ()
varnames: ('x', 'y', 'a', 'b', 'c')
cellvars: ()
freevars: ()
nlocals: 5
flags: 3
consts: ('None',)

>>> def attrs(obj):
...     print(obj.attr1)
...     print(obj.attr2)
...     print(obj.attr3)

>>> dump(attrs.__code__)
name: attrs
argcount: 1
posonlyargcount: 0
kwonlyargcount: 0
names: ('print', 'attr1', 'attr2', 'attr3')
varnames: ('obj',)
cellvars: ()
freevars: ()
nlocals: 1
flags: 3
consts: ('None',)

>>> def optimize_away():
...     'doc string'
...     'not a docstring'
...     53
...     0x53

>>> dump(optimize_away.__code__)
name: optimize_away
argcount: 0
posonlyargcount: 0
kwonlyargcount: 0
names: ()
varnames: ()
cellvars: ()
freevars: ()
nlocals: 0
flags: 67108867
consts: ("'doc string'",)

>>> def keywordonly_args(a,b,*,k1):
...     return a,b,k1
...

>>> dump(keywordonly_args.__code__)
name: keywordonly_args
argcount: 2
posonlyargcount: 0
kwonlyargcount: 1
names: ()
varnames: ('a', 'b', 'k1')
cellvars: ()
freevars: ()
nlocals: 3
flags: 3
consts: ('None',)

>>> def posonly_args(a,b,/,c):
...     return a,b,c
...

>>> dump(posonly_args.__code__)
name: posonly_args
argcount: 3
posonlyargcount: 2
kwonlyargcount: 0
names: ()
varnames: ('a', 'b', 'c')
cellvars: ()
freevars: ()
nlocals: 3
flags: 3
consts: ('None',)

>>> def has_docstring(x: str):
...     'This is a one-line doc string'
...     x += x
...     x += "hello world"
...     # co_flags should be 0x4000003 = 67108867
...     return x

>>> dump(has_docstring.__code__)
name: has_docstring
argcount: 1
posonlyargcount: 0
kwonlyargcount: 0
names: ()
varnames: ('x',)
cellvars: ()
freevars: ()
nlocals: 1
flags: 67108867
consts: ("'This is a one-line doc string'", "'hello world'")

>>> async def async_func_docstring(x: str, y: str):
...     "This is a docstring from async function"
...     import asyncio
...     await asyncio.sleep(1)
...     # co_flags should be 0x4000083 = 67108995
...     return x + y

>>> dump(async_func_docstring.__code__)
name: async_func_docstring
argcount: 2
posonlyargcount: 0
kwonlyargcount: 0
names: ('asyncio', 'sleep')
varnames: ('x', 'y', 'asyncio')
cellvars: ()
freevars: ()
nlocals: 3
flags: 67108995
consts: ("'This is a docstring from async function'",)

>>> def no_docstring(x, y, z):
...     return x + "hello" + y + z + "world"

>>> dump(no_docstring.__code__)
name: no_docstring
argcount: 3
posonlyargcount: 0
kwonlyargcount: 0
names: ()
varnames: ('x', 'y', 'z')
cellvars: ()
freevars: ()
nlocals: 3
flags: 3
consts: ("'hello'", "'world'")

>>> class class_with_docstring:
...     '''This is a docstring for class'''
...     '''This line is not docstring'''
...     pass

>>> print(class_with_docstring.__doc__)
This is a docstring for class

>>> class class_without_docstring:
...     pass

>>> print(class_without_docstring.__doc__)
None
)�cpython_only�check_impl_detail�requires_debug_ranges�
gc_collect�Py_GIL_DISABLED�
late_deletion)�assert_python_ok)�threading_helper�
import_helper)�instructions_with_positions)�opmap�opname�COPY_FREE_VARSc#� �SFDBo[U2oUOQ2%cQUO*w�	J=Uw�	JD	P!3h)z.Yield a doctest-safe sequence of object reprs.z<code objectz<code object %s>)�repr�
startswith�co_name)�t�elt�rs&  �#C:\Python315\\Lib\test\test_code.py�constsr�s;�������I���<�<��'�'�$�s�{�{�2�2��G��s
�)A�#Ac��QFD&o[U8Q[UQU*2802J(	[Q[[UO222P!)z1Print out a text representation of a code object.z: �co_zconsts:)
�name�argcount�posonlyargcount�kwonlyargcount�names�varnames�cellvars�freevars�nlocals�flags)�print�getattr�tupler�	co_consts)�co�attrs& r�dumpr)�sB��=��	�$���E�D�L� 9�:�;�=�
�)�U�6�"�,�,�/�0�1�c�<�Q[2OU20!)zForeign getitem: )�super�__getitem__)�self�is&&r�external_getitemr0�s��
�u�w�2�2�1�5�6�7�7r*c�`�\sQs]�sn\Q2s\Q2sQsQsQs	Qs
QsQs\
O\PIQ	2Q
2sQs\2Q2sQ
sQs\2Q2sQsQsQsQs\Q2s\
O\PIQ2Q2s\
O\PIQ2Q2s\
O\PIQ2Q2sQsQs Us!P!)�CodeTestc��[OQ2oUOQQ]2oUOUOQ2UOUO
Q2UOUO]2UO[29^tt^2[U2PPP2P!)%fhP!9h)�	_testcapi�filename�funcname)
r	�
import_module�
code_newempty�assertEqual�co_filenamer�co_firstlineno�assertRaises�	Exception�exec)r.r4r's&  r�
test_newempty�CodeTest.test_newempty�s���!�/�/��<�	�
�
$�
$�Z��R�
@���������4�������Z�0�����*�*�B�/�
�
�
�y�
)�
)���H�*�
)�
)�
)�s�B2�2C	�;C	c�*```�]QHGnQnQnUUU1QkoQQ[2oUUQ[2UOoUO
]*OoUOVB2U,Q	N2oUOU]*Q2P!)
�)�FunctionTypec�&`�U1QkO!)c�
:�R!�N���	__class__s�r�<lambda>�ICodeTest.test_closure_injection.<locals>.create_closure.<locals>.<lambda>
s���Ir*)�__closure__rHsfr�create_closure�7CodeTest.test_closure_injection.<locals>.create_closures���%�2�2�2r*c��UOUOQ*[[],2UO*Q5!)z9A new code object with a __class__ cell added to freevars)�co_freevars�co_coderH)�replacerP�bytesr
rQ)�cs&r�new_code�1CodeTest.test_closure_injection.<locals>.new_codes7���9�9�����)G�QV�Xf�hi�Wj�Qk�lm�lu�lu�Qu�9�v�vr*c�:�RUO2oUO%cPgRU2oUOo[VRU[	2VU22P!rF)�__code__rL�__defaults__�setattr�globals)	�clsr�f�code�closure�defaultsrCrMrUs	&&&   ���r�add_foreign_method�;CodeTest.test_closure_injection.<locals>.add_foreign_methodsJ����A�J�J�'�D��}�}�}�$�$�$�S�)�G��~�~�H��C�|�D�'�)�T�W�U�Vr*c��\sQsQsQsP!)�-CodeTest.test_closure_injection.<locals>.List�rG��__name__�
__module__�__qualname__�__firstlineno__�__static_attributes__rGr*r�Listrd���r*rlr-zForeign getitem: 1)���)	�typesrC�listr0r-rL�
cell_contents�assertIsr9)	r.rarl�function�	class_ref�objrCrMrUs	&     @@@r�test_closure_injection�CodeTest.test_closure_injections����	'�	3�	w�	W�	�4�	�	�4��0@�A��#�#���(�(��+�9�9�	��
�
�i�&��9�o������Q��!5�6r*c���QoUOo[U2oUUOUOUOUO
UOUOUOUOUOUOUOUOUOUOUO UO"UO$UO&2P!)c��P!rFrGrGr*r�func�'CodeTest.test_constructor.<locals>.func)s��Dr*)rX�type�co_argcount�co_posonlyargcount�co_kwonlyargcount�
co_nlocals�co_stacksize�co_flagsrQr&�co_names�co_varnamesr:r�co_qualnamer;�co_linetable�co_exceptiontablerP�co_cellvars)r.r|r'�CodeTypes&   r�test_constructor�CodeTest.test_constructor(s����
�]�]����8��	�����-�-��,�,��
�
��������
�
��������������
�
�����)�)�����,�,�������#	(r*c��UO[OOO[OO
2P!rF)r9r2�
test_qualnamerXr�ri�r.s&rr��CodeTest.test_qualnameAs4������"�"�+�+�7�7��"�"�/�/�	
r*c��QoUOoQoUOoQQ	Q
QQQUO[O*1Q
QUO1QUO
1QQQQQQQUO11FD�vqVUOVVQ59^tt^2UOQ-VV-@oUO[Vu2U2[OU1-VV-@oUO[Vu2U2PPP2J�	UOUOUOQ5oUOUOUO2UOUOUO2[OV$OUOQ5oUOUOUO2UOUOUO2P!)%fhCJ�9h)c��]oU!�rnrG��xs rr|�#CodeTest.test_replace.<locals>.funcH����A��Hr*c��]oU!)rorG)�ys r�func2�$CodeTest.test_replace.<locals>.func2Pr�r*r�rQr&r�)r(�value)r�r�)rrB)r�rB)r�rB)r�rn)r�rn)r;�d)r�)�myname)r�)�spam)rP)�freevar)r�)�cellvar)r:�newfilename)r�newnamerG)rXr��inspect�CO_COROUTINErQr&r��subTestrRr9r$�copyr�r�)r.r|r^r��code2r(r�rUs&       r�test_replace�CodeTest.test_replaceGs���	��}�}��
	�����
�%�$���
�����)=�)=�=�>�#�
��
�
�&�
�%�/�/�*�%�&�)�)�*�"�
�U�/�/�0�!
�K�D�$���4��5�5��<�<�8�4�-�8��� � ���!8�%�@��<�<��>��
�>��� � ���!8�%�@�	6�5�%
�0�<�<�E�,=�,=�+0�+;�+;� �=������-�-�u�/@�/@�A�����,�,�e�.>�.>�?��<�<��2C�2C�+0�+;�+;�=������-�-�u�/@�/@�A�����,�,�e�.>�.>�?�6�5�5�s�A$G4	�4H
�=H
c��QoUOoUO]6�fPg[U2oQFD�oUO[29^tt^2UUO
UOUOUOU*UOUOUOUOUOUOUOUOUO UO"UO$UO&UO(UO*2PPP2J�	UO[29^tt^2UO-UO]*
Q5PPP2UO[29^tt^2UO-UO]*Q5PPP2P!)%fhCJ�9h)%fhKp9h)%fhP!9h)c��]oU!r�rGr�s rr|�,CodeTest.test_nlocals_mismatch.<locals>.funcwr�r*)r�)���rn)rXr�r~r<�
ValueErrorrr�r�r�r�rQr&r�r�r:rr�r;r�r�rPr�rR)r.r|r'r��diffs&    r�test_nlocals_mismatch�CodeTest.test_nlocals_mismatchvsb��	��]�]���}�}�q� � � ���8���D��"�"�:�.�.������.�.��-�-�����-�����������������������������*�*�����-�-�������%�/�.��.�
�
�z�
*�
*��J�J�"�-�-�!�"3�J�4�+�
�
�
�z�
*�
*��J�J�"�-�-�!�"3�J�4�+�
*�1/�.�.��,+�
*��
*�
*�
*�s7�CG	�$G�$G/�G
�G
�G,	�%G,	�/H	�8H	c�l�QoUOoUOQQ5oUOV#2P!)c�`�U1Qk!)c�
:�R!rFrG��args�rrJ�BCodeTest.test_shrinking_localsplus.<locals>.func.<locals>.<lambda>�s���3r*rGr�sfrr|�0CodeTest.test_shrinking_localsplus.<locals>.func�s	����r*r|�r)rXrRr9)r.r|r^�newcodes&   r�test_shrinking_localsplus�"CodeTest.test_shrinking_localsplus�s.��	��}�}���,�,�v�,�.������'r*c��QoUOOQQ59q#UO[UO	22,2P!)c��P!rFrGrGr*rr|�+CodeTest.test_empty_linetable.<locals>.func����r*r*�r�)rXrRr9rr�co_lines)r.r|rUr^s&   r�test_empty_linetable�CodeTest.test_empty_linetable�s?��	��-�-�/�/�S�/�A�A������h�/�/�1�2�B�7r*z_testinternalcapi is missingc	�H`�P	nQoQoQoU1QkoU1QkoQoUUUUUU1FDVoUOU29^tt^2[OUO2oUO	U2PPP2JX	Qo	U1Qko
U1Q	koU1Q
koQo
U	U
UUU
1FDVoUOU29^tt^2[OUO2oUOU2PPP2JX	P!)%fhJ�9h)%fhJ�9h)Tc��P!rFrGrGr*r�spam1�.CodeTest.test_returns_only_none.<locals>.spam1�r�r*c��P!rFrGrGr*r�spam2�.CodeTest.test_returns_only_none.<locals>.spam2�s��r*c��P!rFrGrGr*r�spam3�.CodeTest.test_returns_only_none.<locals>.spam3����r*c�:�R%fP!P!rFrG�r�s�r�spam4�.CodeTest.test_returns_only_none.<locals>.spam4�s�����r*c�:�R%fP!P!rFrGr�s�r�spam5�.CodeTest.test_returns_only_none.<locals>.spam5�s�����r*c��P!rFrGrGr*rrJ�1CodeTest.test_returns_only_none.<locals>.<lambda>����4r*c��P	!�TrGrGr*r�spam6�.CodeTest.test_returns_only_none.<locals>.spam6�r�r*c�
:�R!rFrGr�s�r�spam7�.CodeTest.test_returns_only_none.<locals>.spam7�s����Lr*c�:�R%cP!P	!rFrGr�s�r�spam8�.CodeTest.test_returns_only_none.<locals>.spam8�������r*c�:�R%cP	!P!r�rGr�s�r�spam9�.CodeTest.test_returns_only_none.<locals>.spam9�r�r*c��P	!r�rGrGr*rrJr��r�r*)r��_testinternalcapi�code_returns_only_nonerX�
assertTrue�assertFalse)r.r�r�r�r�r��lambda1r|�resr�r�r�r��lambda2r�s&             @r�test_returns_only_none�CodeTest.test_returns_only_none�s�����	�	�	�	�	� ��������

�D����d�#�#�'�>�>�t�}�}�M������$�$�#�
�	�	�	�	� �������
�D����d�#�#�'�>�>�t�}�}�M��� � ��%�$�#�
�#$�#�#��0$�#�#�s$�2C<	�<2D	�<D

�D

�D!
�D!
c�V�QoUO[]*Q2UOOQUOOQ**Q5UmQoUO[U29^tt^2U2PPP2P!)%fhP!9h)c��P!rFrGrGr*r�foo�+CodeTest.test_invalid_bytecode.<locals>.foo�r�r*z<127>�:rnNN�rQzunknown opcode 127)r9rrXrRrQ�assertRaisesRegex�SystemError)r.r��msgs&  r�test_invalid_bytecode�CodeTest.test_invalid_bytecode�s��	�	
������g�.��|�|�+�+��c�l�l�2�2�2�6�6�,�8���#��
�
#�
#�K��
5�
5��E�6�
5�
5�
5�s�B�B(	� B(	c�$�]PHo-o[[OQ2U2UQ*oUOoUO
Oo,o[UOU2UO22FDLvqxUOUOP2,QN2[U2%cJ;UOU2JN	SOST	t,tFDo	U	OU	O 1MJ	to	,QN2P!tto	h)rBzX        try:
            1/0
        except Exception as e:
            exc = e
        �exc)rBrp�))�
PUSH_EXC_INFON)�LOAD_COMMON_CONSTANTN)�
STORE_NAME�e)�DELETE_NAMEr��RERAISErn)�COPYrp)�
POP_EXCEPTNr)�disr>�textwrap�dedent�
__traceback__�tb_frame�f_coder
�get_instructions�co_positions�assertIn�count�any�appendr9r�argval)
r.r�	namespacer�	tracebackr^�artificial_instructions�instr�	positions�instructions
&         r�)test_co_positions_artificial_instructions�2CodeTest.test_co_positions_artificial_instructions�s�����	��X�_�_��
�
�	������%�%�	��!�!�(�(��"$�� ;�� � ��&��(9�(9�(;�!
��E�
�M�M�)�/�/�$�/��;��y�>�>�'�.�.�u�5�!
�	
���$;�
�#:�K��#�#�[�%7�%7�8�#:�
�	
�	
��
s�#D
c�P�[OQ2o[QQQU2P!)�#
            def f():
                pass

            positions = f.__code__.co_positions()
            for line, end_line, column, end_column in positions:
                assert line == end_line
                assert column is None
                assert end_column is None
            z-X�no_debug_ranges�-c�rr
r�r.r^s& r�6test_endline_and_columntable_none_when_no_debug_ranges�?CodeTest.test_endline_and_columntable_none_when_no_debug_ranges s(�����	 �	��	��0�$��=r*c�P�[OQ2o[QUQQ5P!)r!r#�1)�PYTHONNODEBUGRANGESr$r%s& r�:test_endline_and_columntable_none_when_no_debug_ranges_env�CCodeTest.test_endline_and_columntable_none_when_no_debug_ranges_env/s#�����	 �	��	��t��=r*c���QoUOOQQ5oUO2oSFD9vqEqgUOU2UO	VRO
]*2J;	P!)c��]oP!r�rGr�s rr|�8CodeTest.test_co_positions_empty_linetable.<locals>.funcAs���Ar*r*r�)rXrRr�assertIsNoner9r;)r.r|rUr�line�end_line�column�
end_columns&       r�!test_co_positions_empty_linetable�*CodeTest.test_co_positions_empty_linetable?sb��	��=�=�(�(�c�(�:���)�)�+�	�2;�.�D�F����d�#����X�'>�'>��'B�C�3<r*c�^�QoUOoUOQQ5oUOQQ5oUOQQ5oUOV#2UOV$2UOV%2UOV42UOV52UOVE2P!)c��[2[2[2P![2K9h[2h9hrF)�arT�b�drGr*rr]�&CodeTest.test_code_equality.<locals>.fJs,��
��������
������s�
#�
4�1�4�Ar*r�)r�)rXrR�assertNotEqual)r.r]�code_a�code_b�code_c�code_ds&     r�test_code_equality�CodeTest.test_code_equalityIs���	��������S��1�����#��6�����#��6�����F�+����F�+����F�+����F�+����F�+����F�+r*c�4�QOoQOoUOV2UO[U2[U22UO]Q5oUOV2UO[U2[U22P!)c��]!r�rGrGr*rrJ�:CodeTest.test_code_hash_uses_firstlineno.<locals>.<lambda>_���ar*c��]!r�rGrGr*rrJrF`rGr*)r;)rXr=�hashrR)r.�c1�c2�c3s&   r�test_code_hash_uses_firstlineno�(CodeTest.test_code_hash_uses_firstlineno^st���
!�
!���
!�
!�����B�#����D��H�d�2�h�/�
�Z�Z�r�Z�
*�����B�#����D��H�d�2�h�/r*c�f�Q]Q]-QkOoUOUO]2UOUO]2UOUO]2UO]]Q5oUO
V2UO
[U2[U22P!)�z�wc��]!r�rG)r�r�rPrQs&&$$rrJ�4CodeTest.test_code_hash_uses_order.<locals>.<lambda>is��qr*)r�r�)rXr9rr�r�rRr=rI)r.rT�swappeds&  r�test_code_hash_uses_order�"CodeTest.test_code_hash_uses_ordergs���
(�q�
(�A�
(�2�2���������*�����-�-�q�1�����,�,�a�0��)�)�q�A�)�F�����A�'����D��G�T�'�]�3r*c���QOoQOoUOUOQ5oUOV2UO[	U2[	U22P!)c��V*!rFrG�r�r�s&&rrJ�7CodeTest.test_code_hash_uses_bytecode.<locals>.<lambda>r���!�%r*c��V*!rFrGrYs&&rrJrZsr[r*r�)rXrRrQr=rI)r.rTr;rJs&   r�test_code_hash_uses_bytecode�%CodeTest.test_code_hash_uses_bytecodeqsR��
�)�)��
�)�)��
�Y�Y�q�y�y�Y�
)�����A�"����D��G�T�"�X�.r*c�$�[QQQ2o[QQQ2oP	[O2m[OQ2[UQ,-2[UQ,-2UO
V2[OP2P!)z�GH-109052

Make sure the instrumentation doesn't affect the code equality
The validity of this test relies on the fact that "x is x" and
"x in x" have only one different instruction and the instructions
have the same argument.

zx is xz
example.py�evalzx in xc��P!rFrG)�argss*rrJ�?CodeTest.test_code_equal_with_instrumentation.<locals>.<lambda>�s��4r*r�)�compile�sys�	_getframe�f_trace_opcodes�settracer>r=)r.�code1r�s&  r�$test_code_equal_with_instrumentation�-CodeTest.test_code_equal_with_instrumentationxsq����,��7����,��7��*.��
�
��'����'�(��U�S�"�I���U�S�"�I�����E�)����T�r*zmissing _testinternalcapic��]o]o]o]o] o]@o]�oVQ*oVQ*U*o	VR*o
VS*U*oVS*U*o-[O-a[OQUQUQUQUQU-a[OQUQU-a[O-a[O
-a[O-a[OQUQ	UQ
UQU-a[OQUQUQ
UQ
UQU-a[O-a[OQUQUQU	QU	QU
QU
QUQU-a[OQUQUQU	QU	QU
QU
QUQU-a[OQUQUQU	QU	QU
QU
QUQU-a[OQU	-a[O-a[OQU-a[O QUQU-a[O"QU	QU	QU	-a-[O$QUQUQU	QU	QU
QU
QUQUQUQUQUQU-a[O&QU	-a[O(QU	QU-a[O*QV�*QUQU-a[O,QU	QU-a[O.QV�*QUQU-a[O0QV�*QUQU-a[O2QV�*QUQU-a[O4QU	-a[O6QU	QUQU-a[O8QU	Q U-a[O:QV�*QUQUQ!U-a[O<QU	QUQUQ"U-a[O>QV�*QUQUQUQ#U-a[O@QU	-a[OBQU	QUQUQU-a[ODQU	-aA[OFQU	QUQUQUQU--Ao
[IU
2[I[OJ26XfPg[OJFD_oUOMU29^tt^2V�*o[NOPUOR2oUOUUU2PPP2Ja	P!)%fhJv9h)$rorw�pickle�spam_minimal�datar��obj1�obj2r��values�checks�func1r��funcsr9r:rTr;rr]rb�kwargs�eggsr�rP�extras�eggs_nested�eggs_closure�
eggs_nested_N�
eggs_nested_C�eggs_closure_N�eggs_closure_C�
ham_nested�ham_closure�ham_C_nested�
ham_C_closure)+�defs�
simple_script�complex_script�script_with_globals�!script_with_explicit_empty_return�script_with_returnrn�spam_with_builtins�spam_with_globals_and_builtins�#spam_with_global_and_attr_same_name�spam_full_args�spam_full_args_with_defaults�spam_args_attrs_and_builtins�spam_returns_arg�spam_raises�spam_with_inner_not_closure�spam_with_inner_closure�spam_annotated�	spam_fullr��spam_N�spam_C�spam_NN�spam_NC�spam_CN�spam_CCryrzr{r|r}r~rr�r�r��len�	FUNCTIONSr�r��get_co_localskindsrXr9)r.�CO_FAST_ARG_POS�CO_FAST_ARG_KW�CO_FAST_ARG_VAR�CO_FAST_HIDDEN�
CO_FAST_LOCAL�CO_FAST_CELL�CO_FAST_FREE�POSONLY�POSORKW�KWONLY�VARARGS�	VARKWARGSrur|�expected�kindss&                r�test_local_kinds�CodeTest.test_local_kinds�s�����������
������1���1�N�B���/���1�O�C��!�3�n�D�	�k
�����k
�����}��-��
��
��}�"�k
�
�$�$��
��
�'�k
�
�2�2�B�k
�
�#�#�R�k
�
���r�k
� 
�#�#��]��-��-��}�	&�!k
�,
�/�/��������-��}�2�-k
�:
�4�4�b�;k
�<
����W��W��W��W��V��V����)�	"�=k
�P
�-�-��W��W��W��W��V��V����)�	0�Qk
�d
�-�-��W��W��W��W��V��V����)�	0�ek
�x
�!�!��W�$�yk
�~
���b�k
�@
�,�,��
�/�Ak
�F
�(�(��\��
�+�Gk
�N
����W��W��W�"�Ok
�X
�N�N��W��W��W��W��V��V����)��]��]��]��-�
�Yk
�t
�I�I��W��uk
�z
�K�K��W��}��{k
�B
�K�K��W�+��\��
��Ck
�L
�L�L��W����Mk
�T
�L�L��W�+��\����Uk
�^
�L�L��W�+��\� �-��_k
�h
�L�L��W�+��\� �-��ik
�r
����W��sk
�x
����W��\��\� �yk
�B
����W��m�!�Ck
�J
����W�+��\��\��}�	!�Kk
�V
����W��\��\��
�	"�Wk
�b
����W�+��\��\��\���"�ck
�p
�O�O��W��qk
�v
����W��\��\��\�	�wk
�B
����W� �Ck
�H
����W��\��\��\��\�!�Ik
��X�5�z�S����0�0�0�0��N�N�D����d�#�#� �;��)�<�<�T�]�]�K��� � ���1�$�#�#�#�#�#�s�3;P<	�<Q

�Q

c�
�PUmQ]Q]Q]Q]Q]Q]Q]Q]Q	]Q
]Q]Q]-Q
ko-[OU2a[OU]]]Q5a[OU]]Q5a[O
U2a[OU2a[OU2a[OU2a[OU]]Q5a[OU]]Q5a[OU]]Q5a[OU]]]]]Q5a[OU]]]]]Q5a[OU]]]]]]Q5a[OU]Q5a[OU]Q5a[O U]Q5a[O"U]]Q5a-[O$U]Q5a[O&U]]]]]]]]Q5a[O(U]Q5a[O*U]]Q5a[O,U]]]]Q5a[O.U]]Q5a[O0U]]]]Q5a[O2U]]]]Q5a[O4U]]]]Q5a[O6U]Q5a[O8U]]Q5a[O:U]]Q5a[O<U]]]]Q5a[O>U]]]Q5a[O@U]]]]]Q5a[OBU]Q5a[ODU]]Q5aA[OFU]Q5[OHU]]Q5-Ao[KU2[K[OL26Xf*P[KU2[K[OL212g[OLFD^oUOOU29^tt^2V#*o[PORUOT2oUOWVT2PPP2J`	[OoUOOUQ029^tt^2U]]Q5o[PORUOT2oUOWVT2PPP2UOOUQ029^tt^2U]Q&Q5o[PORU2oUOWVT2PPP2UOOUQ 029^tt^2U]Q'Q5o[PORU-Q!5oUOWVT2PPP2UOOUQ"029^tt^2U]]Q5o[PORU--Q#5oUOWVT2PPP2UOOUQ$029^tt^2U]Q(Q5o[PORU-Q%5oUOWVT2PPP2P!)%fhCJE9h)%fhCK�9h)%fhCKE9h)%fhCK9h)%fhK�9h)%fhP!9h))N�posonly�posorkw�kwonly�varargs�	varkwargs�
purelocals�argcells�
othercellsr �
globalvars�attrs�unknownc���V*U*U*U*oV�*U*o
[U	[2%cQU	Q]Q]QU	-o	L�]o[U	[2%cFU	Q*oU	Q*o]oQU	7cU	Q*oU]*
o[U	2U6XfPU	2gL,[U	[2%cP[U	22gU	vooQUU*U*QUQUQU-o	U	Q*U
*U*oQV�*U*QQU
QQUQUQUQUQ	UQ
U-QUQQVg*Q
UQU-QQ]Q]Q]--QUQQUQU	QU
QU--![c
S	voooK�h9h)�total�	numglobal�
numbuiltin�
numunknown�localsrb�
numposonly�
numposorkw�	numkwonlyr�r��numpure�cells�numargs�	numothers�hidden�numcells�numfree�unboundr[�numattrs)�
isinstance�int�dictr��strrr�)r�r�r�r�r�r�r�r�r r�r�r��nargvarsr!�g_numunknownr�r��sizer�s$$$$$$$$$$$$       r�new_var_counts�0CodeTest.test_var_counts.<locals>.new_var_countsQs����(�6�1�G�;�i�G�H��+�j�8�G��*�c�*�*��Z��� �!� �*�	�
� !���j�$�/�/� *�;� 7�I�!+�L�!9�J��D�#�z�1�'1�,�'?����	���z�?�d�2�>�J�>�2�)�*�c�:�:�L�D��<L�L�:�I�0:�-�	�:��Y��3�l�B��� �*� �,�	�
�!��)�E�1�G�;�G���+�g�5���W����$�g�$�g�#�V�!�7�#�Y�
��z����!6�!�8�#�Z��
���!�1�"�A��!�,�8���W��z��� �'�	�3�
��&�I�>H�;�	�:�|�I�s�E�	E"�E"�!E")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�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 z codez with own globals and builtinsz without globals)�	globalsnsz
 without both)r��
builtinsnsz without builtins)r�)ror)rBrro)rorBr),�maxDiffr�r�r�r�r�r�rnr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ryrzr{r|r}r~rr�r�r�r�r�r�r��get_code_var_countsrXr9)r.r�rur|r��countss&     r�test_var_counts�CodeTest.test_var_countsNsl�����M	�#$�M	�#$�M	�#$�M	�$%�	M	�
&'�M	�'(�
M	�%&�M	�'(�M	�%&�M	�'(�M	�"#�M	�$%�M	�^Y
����� 0�Y
��������"�Y
�
�$�$�n���'�Y
�
�2�2�N�4D�Y
�
�#�#�^�%5�Y
�
���~�/�Y
�
���~�/�Y
�
�#�#�^���&�Y
�&
�/�/����2�'Y
�.
�4�4�n���7�/Y
�6
���������"�7Y
�D
�-�-�~������0�EY
�R
�-�-�~�������
0�SY
�b
�!�!�>��$�cY
�h
���n���iY
�n
�,�,�n��/�oY
�t
�(�(�.���+�uY
�|
�����"�}Y
�B
�N�N�N���������	�CY
�V
�I�I�~���WY
�\
�K�K�����]Y
�d
�K�K������	�eY
�p
�L�L�.����qY
�x
�L�L�.�����	�yY
�D
�L�L�.�����	�EY
�P
�L�L�.�����	�QY
�\
���n���]Y
�b
���~��� �cY
�j
������!�kY
�r
��������	!�sY
�~
�������"�Y
�H
���������"�IY
�V
�O�O�^���WY
�\
���n����]Y
�d
���~�� �
������!�kY
��t�5�z�S����0�0�S�3�u�:�s�4�>�>�?R�2S�S�0��N�N�D����d�#�#� �;��*�>�>�t�}�}�M��� � ��2�$�#�#��2�2��
�\�\�T�F�%�.�
)�
)�%����H�'�:�:�4�=�=�I�F����V�.�
*��\�\�T�F�"@�A�
B�
B�%��!��H�'�:�:�4�@�F����V�.�
C��\�\�T�F�"2�3�
4�
4�%��$��H�'�:�:�4�2�N�F����V�.�
5��\�\�T�F�-�0�
1�
1�%����H�'�:�:�4�2��!�F����V�.�2��\�\�T�F�"3�4�
5�
5�%��$��H�'�:�:�4�B�O�F����V�.�
6�
5�O$�#�#��*�
)�
)��C�
B�
B��5�
4�
4��2�
1��6�
5�
5�sl�3:Y
	�%<Y�2Y3�4Z�35Z�4Z.�
Y
�Y
�Y0	�(Y0	�3Z	�<Z	�Z	�Z	�Z+	�$Z+	�.Z?	�7Z?	c��PUm,[ON[OMo[OFDGoUOUQ129^tt^2[OUO2PPP2JI	SFD=oUOUQ129^tt^2[OU2PPP2J?	[OFD�oU[O7ckUOUQ129^tt^2UO[29^tt^2[OUO2PPP2PPP2V!7fJ�UOUQ129^tt^2UO[29^tt^2[OU2PPP2PPP2J�	P!)%fhCJ�9h)%fhCJi9h)%fhK�9h)%fhK�9h)%fhKn9h)%fhCJe9h)Nz(code)z(func))r�r��STATELESS_FUNCTIONSr��STATELESS_CODEr�r��verify_stateless_coderXr�r<r=)r.r�r|s&  r�test_stateless�CodeTest.test_statelessks������
�
�
%�
%�
�
�-�-�
���'�'�D����t�X�.�/�/�!�7�7��
�
�F�0�/�(�(�D����t�X�.�/�/�!�7�7��=�0�/�(��N�N�D��4�.�.�.��\�\�4��"2�3�3��*�*�9�5�5�)�?�?��
�
�N�6�4��.��\�\�4��"2�3�3��*�*�9�5�5�)�?�?��E�6�4�3�#�
0�/�/��0�/�/��6�5��4�3��6�5��4�3�3�s��!G	�(G!	�H		�-!G6
�H		�H/	�H
�6H/	�G
�G
�!G3
�*G3
�6H�?H�H		�	H
�H
�H,�%H,�'H/	�/I
�8I
c��QQ[2o[QQQ2oUOUQ2Q5o[QQQ2oUO[29^tt^2V46HPPP2P!)%fhP!9h)c�@`�\sQsQsnQs\OsQsUsP!)�>CodeTest.test_code_richcompare_raise_exception.<locals>.BadStri�c��[Q2g)zPoison!)�RuntimeError)r.�_s&&r�__eq__�ECodeTest.test_code_richcompare_raise_exception.<locals>.BadStr.__eq__�s
��"�9�-�-r*rG)	rgrhrirjr�r��__hash__rk�__classdictcell__��
__classdict__s@r�BadStrr��s����
.��|�|�Hr*r��pass�testr>�poisonr�)r�rdrRr<r�)r.r�rJrKrLs&    r�%test_code_richcompare_raise_exception�.CodeTest.test_code_richcompare_raise_exception�sf��	$�S�	$��V�V�V�
,��
�Z�Z��x� 0�Z�
1��
�V�X�v�
.��
�
�
�|�
,�
,��H�-�
,�
,�
,�s� A/�/B	�8B	)r�)"rgrhrirjrr?rxr�r�r�r�r�r��unittest�skipIfr�r�r�rrr&r+r5rBrMrUr]rjr�r�r�r�rkr�r�s@rr2r2�sd���������7��7�@(�2
�-@�^#5�J(�8��_�_�&�$�.�0N�O�4&�P�4&�l
���-
��-
�^
>�>� ��D��D�,�*0�4�/�����$�_�_�&�$�.�0K�L�@2�M�@2�D�_�_�&�$�.�0K�L�Z/�M�Z/�x�_�_�&�$�.�0K�L�F�M�F�6�r*r2c�V�U[OQU*Q*]P2I!)r�)re�intern)�ss&r�
isinternedr��s%����
�
�C�!�G�c�M�1�R�0�1�1�1r*c�`�\sQsQsnQsQsQs\Q2s\Q2s	\Q2s
\Q2s\\O\Q	2Q
22s\\O \Q2Q22s\Q
2sQsUsP!)�CodeConstsTesti�c�v�SFDoV26XfJUt!	UOV!2UOQ2P!)zShould never be reached)r�fail)r.rr��vs&&& r�
find_const�CodeConstsTest.find_const�s1���A��z����	
�
�
�e�$��	�	�+�,r*c�Z�[U2%fUOQU8Q02P!P!)�String z is not interned�r�r��r.r�s&&r�assertIsInterned�CodeConstsTest.assertIsInterned�s���!�}�}��I�I�Q�8�9�r*c�Z�[U2%cUOQU8Q02P!P!)rz is internedrrs&&r�assertIsNotInterned�"CodeConstsTest.assertIsNotInterned�s���a�=�=��I�I��4�5�r*c�|�[QQQ2oUOUOQ2oUOU2P!)zres = "str_value"�?r>�	str_value�rdr�r&r�r.r'r�s&  r�test_interned_string�#CodeConstsTest.test_interned_string�s3��
�(�#�v�
6���O�O�B�L�L�+�6�����a� r*c��[QQQ2oUOUOQ2oUOU]*2P!)zres = ("str_value",)rr>�rr
rs&  r�test_interned_string_in_tuple�,CodeConstsTest.test_interned_string_in_tuple�s7��
�+�S�&�
9���O�O�B�L�L�.�9�����a��d�#r*c��[QQQ2oUOUO[Q22oUO	[U2]*2P!)zres = a in {"str_value"}rr>r)rdr�r&�	frozensetrr%rs&  r�!test_interned_string_in_frozenset�0CodeConstsTest.test_interned_string_in_frozenset�s@��
�/��f�
=���O�O�B�L�L�)�N�*C�D�����e�A�h�q�k�*r*c�>�QQkoUOU22P!)rc��U!rFrG)r9s&rr]�6CodeConstsTest.test_interned_string_default.<locals>.f�s���Hr*r)r�r.r]s& r�test_interned_string_default�+CodeConstsTest.test_interned_string_default�s��	����a�c�"r*z0free-threaded build interns all string constantsc�|�[QQQ2oUOUOQ2oUOU2P!)zres = "str\0value!"rr>z
strvalue!)rdr�r&rrs&  r�test_interned_string_with_null�-CodeConstsTest.test_interned_string_with_null�s5���+�S�&�
9���O�O�B�L�L�-�8��� � ��#r*zdoes not intern all constantsc���-o[[OQ2U2[[OQ2U2UOUQ*2UQ*2I2P!)zP
            def func1():
                return (0.0, (1, 2, "hello"))
        zP
            def func2():
                return (0.0, (1, 2, "hello"))
        rtr�)r>rr
r�)r.r[s& r�test_interned_constants�&CodeConstsTest.test_interned_constants�sh��
���X�_�_��
��	�
	
�X�_�_��
��	�
	
�����(�*�g�g�.>�.@�@�Ar*c�P�QQ2oQQ[2o[QQQ2oUO]U2U]2U]21Q5oUOUO]*U2UOUO]*UO]*2P!)c�(`�\sQsQsnQsQsUsP!)�9CodeConstsTest.test_unusual_constants.<locals>.Unhashablei�c��[Q2g)zunhashable type)�	TypeErrorr�s&rr��BCodeConstsTest.test_unusual_constants.<locals>.Unhashable.__hash__�s��� 1�2�2r*rG)rgrhrirjr�rkr�r�s@r�
Unhashabler'�s����
3�
3r*r+c��\sQsQsQsP!)�4CodeConstsTest.test_unusual_constants.<locals>.MyInti�rGrfrGr*r�MyIntr-�rmr*r.za = 1z<string>r>)r&)r�rdrR�assertIsInstancer&r9)r.r+r.r^s&   r�test_unusual_constants�%CodeConstsTest.test_unusual_constants�s���
	3�	3�	�C�	��w�
�F�3���|�|�q�*�,��a��%��(�&K�|�L�����d�n�n�Q�/��<��������*�D�N�N�1�,=�>r*rG)rgrhrirjr�rrrrrrrr�r�rr �
skipUnlessr#r0rkr�r�s@rr�r��s�����-�:�6��!��!�
�$��$�
�+��+�
�#��#�
�
�_�_�_�&X�Y�$�Z��$�
�
����*I�J�B�K��B� �?��?r*r�c�(`�\sQsQsnQsQsUsP!)�CodeWeakRefTesti�c�p`�-o[Q[2U2UQ*o=P
RmU1Qko[OUO
U2oRO
[U222=[2RO[U222RO
RO2P!)z
def f(): passr]c�:�P	RmP!r���called)r^r.s&�r�callback�,CodeWeakRefTest.test_basic.<locals>.callback�s
����D�Kr*)
r>r[r8�weakref�refrXr��boolrr�)r.rr]r9�coderefsf    r�
test_basic�CodeWeakRefTest.test_basic�s�����	��_�g�i��3��c�N������	��+�+�a�j�j�(�3������W�Y��(�
�������g�i��)�������$r*r7)rgrhrirjr?rkr�r�s@rr4r4�s����%�%r*r4c��[U2!rF)�next)�its&r�readrDs����8�Or*c��[U2oU]?*o]oU]@*%c-[U2oU]*
oV!]?*U**oJ;U!)�?)rD)rCr:�val�shifts&   r�read_varintrIsI���R��A�
�b�&�C�
�E�
�b�&�&���H��
��
���"�������Jr*c�^�[U2oU]*%cU]*	'!U]*	!r�)rI)rC�uvals& r�read_signed_varintrLs*���r�?�D��a�x�x����|���q�y�r*c#�0 �UOo[UO2o[U2oU]*	]*oU]*]*oU]6Xc
VPPPP1w�	J@U]6Xcl[U2oV*
oU[
U2*o[
U2oU]6XcPoL	U]*o[
U2oU]6XcPoL	U]*oVVVx1w�	J�U]
6Xc[U2oV*
oVVPP1w�	J�UQ7c3U]
*
oV*
o[U2o	[U2o
VVV�1w�	CJ]St96:c	]
6fPgPg[U2oU]*U]*	*o	VVV�U]**1w�	CJ_[cP!h9h3h)T)�
��)r;�iterr�rD�
StopIterationrLrI)r^r1rC�
first_byte�length�
line_deltar2�col�end_colr3r4�second_bytes&           r�parse_location_tablerYs�������D�	
�d���	 �B�
�	��b��J��a��2�%���q�.�A�%���2�:���t�T�4�8�8�
�R�Z�+�B�/�J���D��k�"�o�-�H��b�/�C��a�x����q���!�"�o�G��!�|����1������>�>�
�R�Z�+�B�/�J���D���T�4�8�8�
�\�
!����J���D��"�X�F��b��J���V�@�@���N��N�#�N�#�N��r�(�K��Q�Y�+��"2�3�F���V�{�R�?O�5P�Q�Q��G�	��	�s^�$F�F�&F�F�,6F�#F�F�$F�:F�>F�AF�	F�F�F�F�Fc#�r �[U2FD!vqq4qV[U2FD
oV4VV1w�	J	J#	P!3hrF)rY�range)r^r�rTr1r2rVrWs&      r�positions_from_location_tabler\Ds5���3G��3M�/��4�3��v��A��3�0�0��4N�s�57c#�B �SFDoV!6wfJUw�	SoJ	P!3hrFrG)�lst�prev�items&& r�dedupraIs������<��J��D��s��
c�&�[QU22!)c3�:�SF �Dvop!w�	J	P!3hrFrG)�.0�lr�s&  r�	<genexpr>�&lines_from_postions.<locals>.<genexpr>Ps��y���y�|��1�a���y�s�)ra)rs&r�lines_from_postionsrhOs���1�y�1�1�1r*c�v�]W*o[[*[*oU%c[![!)z






    )r9r:r;�q�p)r�r�s  r�
misshappenrlRsK��	
�	
�		
��	
�
�	�
�	��	
�
���	r*c�8�QO2o[2g)z
            )�stripr�)�!example_report_generation_messages r�bug93662rprs��
��e�g�&��,�r*c�``�\sQsQsnQsQsQsQs\Q2s	\Q2s
QsQ	sUs
P!)
�CodeLocationTestizc��[UOO22o[[UO22o[	V#2FDvqEUOVE2J	UO[
U2[
U22P!rF)rrrXrr\�zipr9r�)r.r|�pos1�pos2�l1�l2s&&    r�check_positions� CodeLocationTest.check_positions|sc���D�M�M�.�.�0�1���1�$�-�-�@�A���$�o�F�B����R�$�&�����T��C��I�.r*c��UO[2UO[2UO[2P!rF)ryrYrlrpr�s&r�test_positions�CodeLocationTest.test_positions�s-�����1�2����Z�(����X�&r*c��UOoUO2TTt,tFDvq4UMJ
	oooUOU[[	U222[[[
U222o[VV2FDvqxUOVx2J	UO[U2[U22P!ttoohrF)	rXr�r9rrrarhr\rtr�)	r.r|r'r�r1�lines1�lines2rwrxs	&&       r�check_lines�CodeLocationTest.check_lines�s���
�]�]��)+����7��:�1�a�$���7������e�F�m�!4�5��)�*G��*K�L�M���&�)�F�B����R�$�*�����V��c�&�k�2��8s�Cc��UO[2UO[2UO[2P!rF)r�rYrlrpr�s&r�
test_lines�CodeLocationTest.test_lines�s-�����-�.�����$�����"r*c��Qo]
oUOO]]*[[OQ*][OQ*][OQ*][OQ*],2[]�U]**]*],2Q5UmUO[U2UO[UOO22]Q,*2P!)c��P!rFrGrGr*rr]�/CodeLocationTest.test_code_new_empty.<locals>.f�r�r*�RESUME�CACHEr�
RAISE_VARARGS)r�r;rQr�)�*r�NN)
rXrRrSrrr<�AssertionErrorr9rrr)r.r]� PY_CODE_LOCATION_INFO_NO_COLUMNSs&  r�test_code_new_empty�$CodeLocationTest.test_code_new_empty�s���
	�+-�(��Z�Z�'�'�����I�I�h�'���I�I�g�&���I�I�4�5�q��I�I�o�.��	����7�1�<�>����	��(�
��
�(	
���.�!�,��������(�(�*�+�
�%�&�&�	
r*c�T�[OQ2o[QQU2vq#oP!)aF
            def has_docstring(x, y):
                """This is a first-line doc string"""
                """This is a second-line doc string"""
                a = x + y
                b = x - y
                return a, b


            def no_docstring(x):
                def g(y):
                    return x + y
                return g


            async def async_func():
                """asynf function doc string"""
                pass


            for func in [has_docstring, no_docstring(4), async_func]:
                assert(func.__doc__ is None)
            z-OOr#r$)r.r^�rc�out�errs&    r�test_docstring_under_o2�(CodeLocationTest.test_docstring_under_o2�s)����� ���0(��t�T�:���r*c�`�[OQ2oUOnU1QkoQoUOUU2Q,2QoUOUU2Q,2QoUOUU2Q,2P!)r4c��:�UOoUOoUO2TTTt,tFD2vq4oRV2U*
RV2U*
RV2U*
1MJ4	tooo!ttooohrF)rXr;�co_branches)r|r^�base�src�left�right�code_offset_to_lines&     �r�get_line_branches�<CodeLocationTest.test_co_branches.<locals>.get_line_branches�s{����=�=�D��&�&�D�� � �"�
�#�)�s�%�(��2�T�9�'��3�d�:�'��4�t�;��
#�
�
��s�:A-c�4�U%c	[P![P!rF)�A�Br�s&r�simple�1CodeLocationTest.test_co_branches.<locals>.simple�s����r*c���U%Cc�[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[O[OP![P!rF)r�r�r�r�s&r�with_extended_args�=CodeLocationTest.test_co_branches.<locals>.with_extended_args�s����q����Q�S�S�!�#�#�q�s�s�A�C�C�������Q�S�S�!�#�#�q�s�s�A�C�C�������Q�S�S�!�#�#�q�s�s�A�C�C�������Q�S�S�!�#�#�q�s�s�A�C�C�������Q�S�S�!�#�#�q�s�s�A�C�C����r*c��> �[Piw�K
oJKBP!3hrF)�async_iter1)�letters r�afunc�0CodeLocationTest.test_co_branches.<locals>.afunc�s!��� +�
�
�f��
��
�s�������)rnror)rnro�)rnrnrp)r	r7r�r9)r.r4r�r�r�r�r�s&     @r�test_co_branches�!CodeLocationTest.test_co_branches�s����!�/�/��<�	�'�;�;��
	�	�	
����f�%�
�I�	�	�	
����0�1�
�I�	�	�
	
����e�$�
�I�	r*rG)rgrhrirjryr|r�r�rr�r�r�rkr�r�s@rrrrrzsL����/�'�
3�#�
�
��
�B�;��;�6/�/r*rr)�cpythonc��UrP!rF)�
LAST_FREED)�ptrs&r�myfreer�s���
r*c�n`�\sQsQsnQsQsQsQsQs\	O2Q2sQsUs
P!)	�CoExtrai#c��[Q2!)z	lambda:42)r`r�s&r�get_func�CoExtra.get_func$s����$�$r*c	��UO2oUO[[]*[[
O]d22UO[[]*[[
O]d22P!)r�)r�r<r��SetExtra�
FREE_INDEX�ctypes�c_voidp�GetExtrars& r�test_get_non_code�CoExtra.test_get_non_code*sQ���
�
��A����k�8�R��$�n�n�S�1�
3����k�8�R��$�n�n�S�1�
3r*c	�@�UO2oUO[[UO[
]d*[O]d22UO[UO[
]d*[O]d22]2P!�r�)
r�r<r�r�rXr�r�r�r9r�rs& r�test_bad_index�CoExtra.test_bad_index2sh���
�
��A����k�8�Q�Z�Z�(��n�f�n�n�S�.A�
C����X�a�j�j�*�S�.�$�n�n�S�1�3�45�
7r*c���UO2o[UO[[O
]d22=[
2UO[]d2P!r�)	r�r�rXr�r�r�rr9r�rs& r�test_free_called�CoExtra.test_free_called9s@���
�
��A��Q�Z�Z��V�^�^�C�-@�A���L����Z��-r*c���UO2o[O2o[UO[
[O]�22[UO[
[OQ22UO
[]�2[O2o[UO[
U2UO
UOQ2=P!)���,)
r�r�r�r�rXr�r9r�r�r�)r.r]�extras&  r�test_get_set�CoExtra.test_get_setCs����
�
��A��N�N�$�E��Q�Z�Z��V�^�^�C�-@�A��Q�Z�Z��V�^�^�C�-@�A����Z��-��N�N�$�E��Q�Z�Z��U�3����U�[�[�#�.�r*c�J�UO2oQQ[O2o[UO[
[OQ22UV2o=UO2UO2[2UO[Q2P!)c�:``�\sQsQsnU1QksQsQsUsU9s!)�6CoExtra.test_free_different_thread.<locals>.ThreadTestiXc�>:�[RU_2VmV mP!rF)r,�__init__r]r�)r.r]r�rIs&&&�rr��?CoExtra.test_free_different_thread.<locals>.ThreadTest.__init__Ys����G�$�&��F� $�Ir*c�|�U;[2[%f#UOO	[
Q2P!P!)��)r]rrr�r9r�r�s&r�run�:CoExtra.test_free_different_thread.<locals>.ThreadTest.run]s,�����L�+�?��	�	�-�-�j�#�>�+r*)r]r�)	rgrhrirjr�r�rkr��
__classcell__)rIr�s@@r�
ThreadTestr�Xs����%�?�?r*r�r�)
r��	threading�Threadr�rXr�r�r��start�joinrr9r�)r.r]r��tts&   r�test_free_different_thread�"CoExtra.test_free_different_threadSsp���
�
��A�
?�Y�-�-�
?�
�Q�Z�Z��V�^�^�C�-@�A��A�$�B���H�H�J��G�G�I��L����Z��-r*rG)rgrhrirjr�r�r�r�r�r�requires_working_threadingr�rkr�r�s@rr�r�#s;����	%�	3�	7�	.�	� 
�	4�	4�	6�	.�
7�	.r*r�c�P�UO[O22U!rF)�addTest�doctest�DocTestSuite)�loader�tests�patterns&&&r�
load_testsr�os��	�M�M�'�&�&�(�)��Lr*�__main__)N�__doc__r�r�rer�r�r�rr;rr��ImportError�test.supportrrrrrr�test.support.script_helperrrr	�test.support.bytecode_helperr
�opcoderrr��ModuleNotFoundError�test._code_definitions�_code_definitionsr�r
rr)r0�TestCaser2r�r�r4rDrIrLrYr\�objectrarhrlrprr�	pythonapi�py�	CFUNCTYPEr��freefunc�%PyUnstable_Eval_RequestCodeExtraIndex�RequestCodeExtraIndex�argtypes�	c_ssize_t�restype�PyUnstable_Code_SetExtrar��	py_object�c_int�PyUnstable_Code_GetExtrar��POINTERr�r��	FREE_FUNCr�r�r�rg�mainrGr*r�<module>rsY��B�H��
������
���F�F�8�8�D� ���&��'�(���2�8�X�x� � �X�t2�Q?�X�&�&�Q?�h%�h�'�'�%�4���)R�V1�
�H��2��@�I�x�(�(�I�V�T�"�"�v�'9�	�	�	�B�����V�^�^�4�H��D�D��&.�[��"�$*�$4�$4��!��*�*�H��)�)�6�+;�+;�V�^�^�L�H���|�|�H���*�*�H��)�)�6�+;�+;�������7�9�H���|�|�H���J���� �I�&�y�1�J�
�&��I.�(�#�#�I.�X�
�z���M�M�O���G-��
�F��������s/�H>�I�>I�I�
I�I�I�I

Youez - 2016 - github.com/yon3zu
LinuXploit