403Webshell
Server IP : 35.80.110.71  /  Your IP : 216.73.216.52
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/parso/python/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/parso/python/__pycache__/errors.cpython-312.pyc
�

���cX���H	�ddlZddlZddlZddlmZddlmZmZmZm	Z	ddl
mZdZdZ
dZdZd	Zd
Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZGd�d�ZGd�de�Z Gd�de	�Z!e jEd��Gd �d!e!��Z#Gd"�d#e�Z$Gd$�d%e	�Z%e jEd��Gd&�d'e%��Z&e jEd(�)�Gd*�d+e%��Z'e jEd,�)�Gd-�d.e%��Z(e jEd/�)�Gd0�d1e%��Z)e jEd2�)�Gd3�d4e%��Z*e jEd5��Gd6�d7e%��Z+e jEd8��Gd9�d:e%��Z,e jEd;�)�Gd<�d=e%��Z-e jEd>�)�Gd?�d@e%��Z.e jEdA�)�e jEdB�)�GdC�dDe%���Z/e jEdE��GdF�dGe%��Z0e jEdH��GdI�dJe%��Z1e jEdK��GdL�dMe%��Z2e jEdK��GdN�dOe%��Z3e jEdP��GdQ�dRe%��Z4e jEe
�S�GdT�dUe%��Z5e jEdV��GdW�dXe%��Z6e jEdY��GdZ�d[e%��Z7e jEd\��Gd]�d^e%��Z8e jEd_��Gd`�dae%��Z9e jEdb��e jEdc��Gdd�dee%���Z:e jEdf��Gdg�dhe%��Z;e jEdi��Gdj�dke%��Z<Gdl�dme%�Z=e jEdn��Gdo�dpe=��Z>e jEdq��Gdr�dse=��Z?e jEdt��Gdu�dve=��Z@e jEdw��Gdx�dye=��ZAe jEdz��Gd{�d|e=��ZBe jEd}��Gd~�de=��ZCe jEd���Gd��d�e=��ZDy)��N)�contextmanager)�
Normalizer�NormalizerConfig�Issue�Rule)�_get_token_collection)�if_stmt�
while_stmt�for_stmt�try_stmt�	with_stmt)�testlist_star_expr�
testlist_comp�exprlist��d)�
nested_scopes�
generators�division�absolute_import�with_statement�print_function�unicode_literals�generator_stop)�comp_for�
sync_comp_forc��|j}|dk(ry|dk(r�t|�}|jdd\}}|�|S|jdk(r,|dkry|jdd	k(s|jd
dk(ryy
|dk(r:|dk(s4t|j�dk(r|jdjdk(ry|dk(rt	t|�|��S|dk(ry|dk(r|dk(ry|dk(rt|j�dkDry
|S|dk(r*d|jvry|dkryt|j�S|dk(r|jdk(ry|dk(ry|dvry|d k(ry|d!k(ry"|d#vry|jd
d$k(ry%|jd&jd'k(rH|jd&}|jd
dk(ry(|jd
dk(ry)|jd
d*k(ry+|Sd,|vrd-|vsd.|vs|d/vry0|d-k(ry1|d2k(ry|d3k(ry4|S)5N�lambdef�lambda�atom��dictorsetmaker����literal��:r�**�dict literal�set display�(�)r$r�tuple)�version�[�list�{�}�keyword�yield�yield expression�operator�...�ellipsis�
comparison��string�number�strings�
yield_expr�test�conditional expression��	atom_expr�power�await�await expression����trailer�
function call�	subscript�.�	attribute�expr�	star_expr�_test��term�factor�
expression�starredr�fstring�f-string expression)�type�_get_comprehension_type�children�len�
_get_rhs_name�_remove_parens�value�str)�noder/�type_�
comprehension�first�secondrHs       �5/usr/lib/python3/dist-packages/parso/python/errors.pyr[r[s^���I�I�E��	���	�&��/��5�
��
�
�b�q�)�
��v��$� � �
�[�[�,�
,���� ��?�?�1�%��,�����0B�d�0J�)�(��S�L��3������'�1�,����q�1A�1F�1F�/�1Y��
�c�\� ���!5�w�G�G�
�c�\��
�c�\�f��m�!�
�c�\�c�$�-�-�0�1�4� �R�L�Q
�)�	��d�j�j� �%��V����t�z�z�?�"�	�*�	����u�!4��	�,�	��	�1�	1��	�,�	�!�	�&��'�	�(�	(��=�=���w�&�%�
�]�]�2�
�
#�
#�y�
0��m�m�B�'�G�����"�c�)�&��!�!�!�$��+�"��!�!�!�$��+�"��L�
�5��[��5��e���&�&��	�+�	��	�&�	&��	�)�	�$��L�c#�K�|jD]@}|jdk(r+|jD]}|jdk(s|dk(r�|����=|���By�w)zB
    Iterates over all statements and splits up  simple_stmt.
    �simple_stmt�newline�;N�rYrW)�scope�child�child2s   rd�_iter_stmtsrn`s[����������:�:��&��.�.�
���;�;�)�+�v��}����
�
�K��s�AAc��|jdd\}}|jdk(r&|jdjtvr|dk(ryy|jdk(r3|jdjtvr|jdd	k(ry
yy)Nr!rr'r0zlist comprehensionzgenerator expressionr"rGr(zdict comprehensionzset comprehension�rYrW�_COMP_FOR_TYPES)r rbrcs   rdrXrXns����M�M�"�1�%�M�E�6�
�{�{�o�%�&�/�/�!�*<�*A�*A�_�*T��C�<�'�)�	���(�	(�V�_�_�R�-@�-E�-E��-X��?�?�1���$�'�&�rec�h�|j�}|D�cgc]}|j��c}dgk(Scc}w)N�
__future__)�get_from_namesr])�import_from�
from_names�ns   rd�_is_future_importrx}s1��
�+�+�-�J�'�(��A�G�G�(�\�N�:�:��(s�/c��	|j}t|�dk(r |ddk(rt|jd�S|S#t$rY|SwxYw)z_
    Returns the inner part of an expression like `(foo)`. Also removes nested
    parens.
    r$rr,r')rYrZr\�AttributeError)r rYs  rdr\r\�s]��
4��=�=���x�=�A��(�1�+��"4�!�$�-�-��"2�3�3��K���
���K�
�s�>�	A�
Ac��|j�<|j}|jdk7s|jddk7r|S|j��<y)za
    Returns an ancestor node of an expression, skipping all levels of parens
    bottom-up.
    Nr rr,��parentrWrY�r_s rd�_skip_parens_bottom_upr�sI��
�+�+�
!��{�{���9�9���$�-�-��"2�c�"9��K��+�+�
!�rec�(�d�|jD�S)Nc3�^K�|]%}|jdk(s|jdk(s�"|���'y�w)�paramr7N�rW)�.0rws  rd�	<genexpr>z_iter_params.<locals>.<genexpr>�s&����Y�!�q�v�v��/@�A�F�F�j�DX�A�Y�s�#-�-)rY)�parent_nodes rd�_iter_paramsr��s��Y�{�+�+�Y�Yrec��d}t|j��D]9}|jdk(r|s�d}||k(ry|jdk(rt|�r�9yy)z@
    Checks if the import is the first statement of a file.
    Fr<TruN)rn�
get_root_noderWrx)ru�found_docstring�stmts   rd�_is_future_import_firstr��sa���O��K�5�5�7�8�	���9�9�� ������;����9�9�
�%�*;�D�*A���	rec#��K��fd��|jtvr(|jddd�D]}�|�Ed{����y�|�Ed{���y7�7��w)Nc3��K�|jdk(rl|jddk(rC|jd}|jdk(rt|�Ed{���y�|�Ed{���y|jddk(r��y|��y7�27�#�w)Nr rr,r'rr0)rWrY�!_iter_definition_exprs_from_lists)rlr�
check_exprs  �rdr�z5_iter_definition_exprs_from_lists.<locals>.check_expr�s�������:�:����~�~�a� �C�'� %���q� 1�
� �%�%��8�@��O�O�O�� *�-�8�8�8������"�c�)�#�#����P��9�s$�AB�B�B�"B�#"B�Br!)rW�_STAR_EXPR_PARENTSrY)rrlr�s  @rdr�r��s`������ �}�}�*�*��&�&�s��s�+�	)�E�!�%�(�(�(�	)��h�'�'�'�
)��'�s!�8A�A�A�A�A�Ac��g}|jddd�D]0}|jdvr|t|�z
}� |j|��2|S)N���r!)r�testlist)rYrWr��append)�	expr_stmt�exprs�list_s   rd�_get_expr_stmt_definition_exprsr��sW���E��#�#�E�R��E�*� ���:�:�;�;��6�u�=�=�E��L�L���	 �
�Lrec�H�|jd}tt|��S�Nr')rYr1r�)rrs  rd�_get_for_stmt_definition_exprsr��s#��� � ��#�H��1�(�;�<�<rec�@�|jdjtvSr�rp)�arguments rd�_is_argument_comprehensionr��s�����Q��$�$��7�7rec��|dks|�y|jdk(rtd�|jD��S|jdk(ry|jd�S)N�r$�	F�
error_nodec3�:K�|]}|jdk(���y�w)�
fstring_startNr�)r�rls  rdr�z%_any_fstring_error.<locals>.<genexpr>�s����L�U�5�:�:��0�L�s�rUT)rW�anyrY�search_ancestor)r/r_s  rd�_any_fstring_errorr��sR�����4�<���y�y�L� ��L�d�m�m�L�L�L�	
���i�	���#�#�I�.�.rec�N�eZdZdd�Zd�Zd�Zd�Zd�Zd�Ze	d��Z
d	�Zd
�Zy)�_ContextNc��||_g|_||_i|_g|_g|_g|_g|_||_y�N)	r_�blocks�parent_context�_used_name_dict�
_global_names�_local_params_names�_nonlocal_names�_nonlocal_names_in_subscopes�_add_syntax_error)�selfr_�add_syntax_errorr�s    rd�__init__z_Context.__init__�sH����	����,���!������#%�� �!���,.��)�!1��rec�j�|j�xr"|jjjdvS)N)�
async_funcdef�
async_stmt)�is_functionr_r}rW�r�s rd�is_async_funcdefz_Context.is_async_funcdef�s5�����!�I��	�	� � �%�%�)H�H�	Irec�4�|jjdk(S)N�funcdef)r_rWr�s rdr�z_Context.is_function�s���y�y�~�~��*�*rec���|jj}|dk(ry|dk(r|jj|�y|dk(r|jj|�y|dk(rV|j
j
|jj�D�cgc]}|jj��c}�y|jj|jg�j|�ycc}w)NrH�global_stmt�
nonlocal_stmtr�)r}rWr�r�r�r��extend�
get_params�namer]r��
setdefault)r�r��parent_typer�s    rd�add_namez_Context.add_names����k�k�&�&���)�#���-�'����%�%�d�+�
�O�
+�� � �'�'��-�
�I�
%��$�$�+�+�/3�{�{�/E�/E�/G�H�e����!�!�H�
�
� � �+�+�D�J�J��;�B�B�4�H��Is�C0c��|j|jd�|j|jd�|jD�cic]}|j|��}}|jD]Q}	||j}d|jz}|j
|j
kr|}n|}|j
||��Sg}|jD]�}|j}||jvr�||vs|j�"d|jz}|j
||��P|j�r|j|jvs�y|j|���|j|zScc}w#t$rY��wxYw)zV
        Returns a list of nonlocal names that need to be part of that scope.
        �global�nonlocalz name '%s' is nonlocal and globalz"no binding for nonlocal '%s' found)
�_analyze_namesr�r�r]�KeyError�	start_posr�r�r�r�r�r�r�)	r�rw�global_name_strs�
nonlocal_name�global_name�message�
error_name�nonlocals_not_handled�searchs	         rd�finalizez_Context.finalizes���	
���D�.�.��9����D�0�0�*�=�04�0B�0B�C�1�A�G�G�Q�J�C��C�!�1�1�	8�M�
�.�}�/B�/B�C��9�;�;L�;L�L�G��$�$�}�'>�'>�>�(�
�*�
��"�"�:�w�7�	8�!#��!�>�>�		<�M�"�(�(�F���1�1�1���)�)�T�-@�-@�-H�>��AT�AT�T���&�&�}�g�>��%�%�'�!�'�'�t�/C�/C�C�%�,�,�]�;�		<��#�#�&;�;�;��3D���
��
�s�E&�-E+�+	E8�7E8c����
��
��fd�}g}�jjdk(r�jj�}|D�]
�
d}t�jj�
jg��D]�}|j�
jkDrd}|j}|jdk(r|j|k(r�I|j�r<|jdk(r*|jdjdk(r|r|�
|d	�nd
}nd}|r��||�n|D]/}	|	jj�
jk(s�'|d�f�1��y)
Nc�H���j�|�j�fz�yr�)r�r])r��	base_namer�r`s ���rd�raise_z'_Context._analyze_names.<locals>.raise_5s!����"�"�9�g����%�8P�.P�Qrer�FTr�r�r'�	annassignzannotated name '%s' can't be %sz.name '%s' is assigned to before %s declarationz)name '%s' is used prior to %s declarationzname '%s' is parameter and %s)r_rWr��reversedr��getr]r�r}r��
is_definitionrY)r��globals_or_nonlocalsr`r��params�found_global_or_nonlocalr�r}r�r�r�s` `       @rdr�z_Context._analyze_names4s?���	R����9�9�>�>�Y�&��Y�Y�)�)�+�F�-�#	=�I�',�$� ��!5�!5�!9�!9�)�/�/�2�!N�O�
���>�>�I�$7�$7�7�/3�,������;�;�'�)�f�k�k�T�.A���%�%�'��{�{�k�1� &���� 2� 7� 7�;� F�3�)-�I��@�A��"R��I�G�/��7�O��9
�< �
=���:�:�#�#�y���6��:�;�<�
=�C#	=rec#�~K�|jj|�d��|jj�y�wr�)r�r��pop�r�r_s  rd�	add_blockz_Context.add_blockas)���������4� �
�������s�;=c�2�t||j|��S)N)r�)r�r�r�s  rd�add_contextz_Context.add_contextgs����d�4�4�T�J�Jrec�J�|xj|j�z
c_yr�)r�r�)r��
child_contexts  rd�close_child_contextz_Context.close_child_contextjs���)�)�]�-C�-C�-E�E�)rer�)
�__name__�
__module__�__qualname__r�r�r�r�r�r�rr�r�r��rerdr�r��sD��	2�I�+�I�" <�D+=�Z����
K�Frer�c�d��eZdZdZ�fd�Zd�Z�fd�Zed��Z�fd�Z	d�Z
d�Zd	�Zd
�Z
�xZS)�ErrorFinderz1
    Searches for errors in the syntax tree.
    c�h��t�|�|i|��i|_|jj|_yr�)�superr��_error_dict�grammar�version_infor/)r��args�kwargs�	__class__s   �rdr�zErrorFinder.__init__rs.���
���$�)�&�)�����|�|�0�0��rec�l�����fd���|�xst|�j��_d�_y)Nc�|��|�y�|j�}|jdvrt|�j|�S|S)N)�classdefr��
file_input)r}rWr�r�)r_r��create_contextr�s  ��rdr�z.ErrorFinder.initialize.<locals>.create_contextxsA����|��+�D�K�K�8�N��y�y�A�A���d�&<�&<�n�M�M�!�!rer)r�r��context�_indentation_count)r�r_r�s` @rd�
initializezErrorFinder.initializews0���	"�&�d�+�U�x��d�>T�>T�/U���"#��rec���|jdk(r|j|�5	ddd�yt�|�
|�S#1swY�xYw)Nr��)rW�
visit_noder��visit)r�r_r�s  �rdrzErrorFinder.visit�sK����9�9��$�����&�
��	
�
�
�w�}�T�"�"�
�
�s	�<�Ac#�K�|j|�|jtvra|jj	|�5t|jj�tk(r|j|d�d��ddd�y|jdk(rG|xjdz
c_	|jtk(r|j|jdd�d��|jdk(r|xjdzc_	y|jdvr9|j}|j|_|jj|�yy#1swYyxYw�w)Nz!too many statically nested blocks�suiter'ztoo many levels of indentation�r�r�)�_check_type_rulesrW�_BLOCK_STMTSr�r�rZr��_MAX_BLOCK_SIZEr�r��_MAX_INDENT_COUNT�_add_indentation_errorrYr�r�)r�r_r�s   rdrzErrorFinder.visit_node�s�������t�$��9�9��$����'�'��-�
��t�|�|�*�*�+��>��*�*�4�1T�U��
�
�
�Y�Y�'�
!��#�#�q�(�#��&�&�*;�;��+�+�D�M�M�!�,<�>^�_�
��9�9����#�#�q�(�#�
�Y�Y�1�
1��l�l�G�"�1�1�D�L��L�L�,�,�W�5�2�
�
�s�?E�=E�>CE�E�Ec���|jdk(�r|jdvrQt|j�j	��d}|jdk(rd}nd}|j||�y|jjd�rd}n�tjd	|j�}|�Bd
}|jdk\rS|jt|j�jvr(d|z}n"t|jd
��d
k(rd}nd}|j||�y|jdk(r:|j }|jdvr |j"j%|�|_t&�|�Q|�S)N�
error_leaf)�INDENT�ERROR_DEDENTrGrzunexpected indentz3unindent does not match any outer indentation level�\z6unexpected character after line continuation characterz\w{,2}("{1,3}|'{1,3})�invalid syntaxr��
f-string: r'z!EOL while scanning string literalz/EOF while scanning triple-quoted string literalrr(r)rW�
token_typer1�
get_next_leaf�
_split_prefixrr]�
startswith�re�matchr/r�always_break_tokensrZ�groupr�r}r�r�r��
visit_leaf)r��leaf�spacingr�rr}r�s      �rdrzErrorFinder.visit_leaf�sW����9�9��$����"<�<��t�1�1�3�A�A�C�D�R�H���?�?�h�.�1�G�S�G��+�+�G�W�=�*�'�:�:�(�(��.�V�G��H�H�%>��
�
�K�E��}�"2�� �L�L�F�2� $�
�
�.C� $���/�1�1�!2�'3�W�&<�G��u�{�{�1�~�.�!�3�&I�G�&W�G��&�&�t�W�5��
�Z�Z�3�
��[�[�F��{�{�5�5�#�|�|�7�7��?����w�!�$�'�'rec�0�|j|dd|z�y)N��IndentationError: ��	add_issue)r�rr�s   rdrz"ErrorFinder._add_indentation_error�s�����w��%9�G�%C�Drec�0�|j|dd|z�y)N��
SyntaxError: r")r�r_r�s   rdr�zErrorFinder._add_syntax_error�s�����t�S�/�G�";�<rec�d�|jd}|||f}|jj||�y)Nr)r�r�r�)r�r_�coder��liner�s      rdr#zErrorFinder.add_issue�s4���~�~�a� ���g�t�$�����#�#�D�$�/rec���|jj�|jj�D],\}}}|jjt
|||���.yr�)r�r�r��values�issuesr�r)r�r(r�r_s    rdr�zErrorFinder.finalize�sR��������#'�#3�#3�#:�#:�#<�	;��D�'�4��K�K���u�T�4��9�:�	;re)r�r�r��__doc__r�rrrrrrr�r#r��
__classcell__�r�s@rdr�r�nsF����1�
$�#��6��6�.'(�RE�=�0�;rer�c�"��eZdZdZ�fd�Z�xZS)�IndentationRuler c�.��t�|�||�}d|zS)Nr!)r��_get_message�r�r�r_r�s   �rdr3zIndentationRule._get_message�s����'�&�w��5��#�g�-�-re�r�r�r�r(r3r.r/s@rdr1r1�s����D�.�.rer1r�r�c��eZdZdZd�Zd�Zy)�_ExpectIndentedBlockzexpected an indented blockc�Z�|j�}t|j��dS)NrG)rr1r)r�r_rs   rd�get_nodez_ExpectIndentedBlock.get_node�s)���!�!�#���D�&�&�(�)�"�-�-rec�:�|jdjdk(S)NrGrhrjr�s  rd�is_issuez_ExpectIndentedBlock.is_issue�s���}�}�R� �%�%��2�2reN�r�r�r�r�r9r;r�rerdr7r7�s��*�G�.�3rer7c��eZdZeZy)�ErrorFinderConfigN)r�r�r�r��normalizer_classr�rerdr>r>�s��"�rer>c�"��eZdZdZ�fd�Z�xZS)�
SyntaxRuler%c���t�|�||�}d|vr%t|jj|�rd|z}d|zS)Nzf-stringrr&)r�r3r��_normalizerr/r4s   �rdr3zSyntaxRule._get_message�sG����'�&�w��5���g�%�"�4�#3�#3�#;�#;�T�B�"�W�,�G���(�(rer5r/s@rdrArA�s����D�)�)rerAc� �eZdZdZdZd�Zd�Zy)�_InvalidSyntaxRulerzf-string: invalid syntaxc�"�|j�Sr�)rr�s  rdr9z_InvalidSyntaxRule.get_node
s���!�!�#�#rec��|j�jdk7}|r>t|jj|�r|j||j��y|S)Nr�r�)rrWr�rCr/r#�fstring_message)r�r_�errors   rdr;z_InvalidSyntaxRule.is_issuesQ���"�"�$�)�)�\�9���"�4�#3�#3�#;�#;�T�B��N�N�4��)=�)=�N�>��LreN)r�r�r�r�rIr9r;r�rerdrErEs���G�0�O�$�	rerErE)r]c��eZdZdZd�Zd�Zy)�_AwaitOutsideAsyncz'await' outside async functionc�L�|jjj�Sr�)rCr�r��r�rs  rdr;z_AwaitOutsideAsync.is_issue s ���#�#�+�+�<�<�>�>�>rec��|jSr��r}r�s  rd�get_error_nodez!_AwaitOutsideAsync.get_error_node#s���{�{�reN)r�r�r�r�r;rQr�rerdrLrLs��.�G�?�rerL�breakc��eZdZdZd�Zy)�_BreakOutsideLoopz'break' outside loopc�x�d}|jjjD]}|jdvs�d}�|S)NF�rr
T)rCr�r�rW)r�r�in_loop�blocks    rdr;z_BreakOutsideLoop.is_issue,sD�����%�%�-�-�4�4�	�E��z�z�7�7���	��{�reN�r�r�r�r�r;r�rerdrTrT(s��$�G�rerT�continuec��eZdZdZdZd�Zy)�_ContinueChecksz'continue' not properly in loopz0'continue' not supported inside 'finally' clausec�f�d}|jjjD]�}|jdvrd}|jdk(s�#|jd}|dk(s�8|j
|j
kDs�R|jjdks�l|j||j��y|syy)	NFrVTr����finallyr#rH)	rCr�r�rWrYr�r/r#�message_in_finally)r�rrWrX�
last_blocks     rdr;z_ContinueChecks.is_issue9s������%�%�-�-�4�4�	!�E��z�z�7�7����z�z�Z�'�"�^�^�B�/�
��)�+�����)=�)=�=��(�(�0�0�6�9��N�N�4��1H�1H�N�I� �	!���reN)r�r�r�r�r`r;r�rerdr\r\4s��/�G�K��rer\�fromc��eZdZdZd�Zd�Zy)�_YieldFromCheckz"'yield from' inside async functionc�.�|jjSr�rPrNs  rdr9z_YieldFromCheck.get_nodeOs���{�{�!�!�!rec��|jjdk(xr$|jjj	�S)N�	yield_arg)r}rWrCr�r�rNs  rdr;z_YieldFromCheck.is_issueRs6���{�{���;�.�<�� � �(�(�9�9�;�	<reNr<r�rerdrdrdKs��2�G�"�<rerdr�c��eZdZdZdZd�Zy)�_NameCheckszcannot assign to __debug__zcannot assign to Nonec��|jjj|�|jdk(r|j	�ryyy)N�	__debug__T)rCr�r�r]r�rNs  rdr;z_NameChecks.is_issue\s>����� � �)�)�$�/��:�:��$��);�);�)=��*>�$reN)r�r�r�r��message_noner;r�rerdririWs��*�G�*�L�rerir<c��eZdZdZd�Zy)�
_StringChecksz/bytes can only contain ASCII literal charactersc�h�|jj�}d|vrtd�|jD��ryd|vr�|j	�}d|vr"|jd�}tj}ntj}	tj�5tjd�||�ddd�yy#1swYyxYw#t$r)}|j|dt|�z��Yd}~yd}~wt$r)}|j|d	t|�z��Yd}~yd}~wwxYw)
N�bc3�>K�|]}t|�dkDs�|���y�w)�N)�ord)r��cs  rdr�z)_StringChecks.is_issue.<locals>.<genexpr>js����>�a��Q��#���>�s��T�rzutf-8�ignorez(unicode error) rHz(value error) )�
string_prefix�lowerr�r]�_get_payload�encode�codecs�
escape_decode�unicode_escape_decode�warnings�catch_warnings�filterwarnings�UnicodeDecodeErrorr#r^�
ValueError)r�rrw�payload�func�es      rdr;z_StringChecks.is_issuegs���*�*�0�0�2�
��-���>�4�:�:�>�>���m�#��'�'�)�G��m�#�!�.�.��1���+�+���3�3��
H��,�,�.�"��+�+�H�5���M�"�"�$�"�"��&�
J����t�-?�#�a�&�-H��I�I���
H����t�-=��A��-F��G�G��
H�sB�C�C�9C�C�C�C�	D1�C<�<D1�D,�,D1NrYr�rerdrnrncs
��?�G�Hrern�*c��eZdZdZd�Zy)�
_StarCheckz"named arguments must follow bare *c��|j}|jdk(r[|rX|j|jj|�dzd}|D�cgc]}|dvr|js|��}}t|�dk(Syycc}w)N�
parametersr')�,r-r)r}rWrY�index�
star_countrZ)r�rr��afterrls     rdr;z_StarCheck.is_issue�s��������;�;�,�&�6��O�O�F�O�O�$9�$9�$�$?�!�$C�$D�E�E�(-�J�u��Z�/��8H�8H��J�E�J��u�:��?�"�	,2�&��Js�
A8NrYr�rerdr�r��s��2�G�#rer�r)c��eZdZdZd�Zy)�_StarStarCheckz3dict unpacking cannot be used in dict comprehensionc��|jjdk(r6|j�j�}|duxr|jtvSy)Nr")r}rW�get_next_siblingrq)r�rrs   rdr;z_StarStarCheck.is_issue�sJ���;�;���/�/��,�,�.�?�?�A�H��4�'�L�H�M�M�_�,L�L�0reNrYr�rerdr�r��s��
D�G�Mrer�r5�returnc� �eZdZdZdZd�Zd�Zy)�_ReturnAndYieldChecksz&'return' with value in async generatorz'yield' inside async functionc��|jSr�rPrNs  rdr9z_ReturnAndYieldChecks.get_node�����{�{�rec���|jjjjdk7r0|j	|j|�d|jz��y|jjj�rct|jjjj��r+|jdk(r|jjdk(ryyyyy)Nr�z'%s' outside functionrHr��return_stmtT)rCr�r_rWr#r9r]r�r��iter_yield_exprsr}rNs  rdr;z_ReturnAndYieldChecks.is_issue�s������#�#�(�(�-�-��:��N�N�4�=�=��.�8O�RV�R\�R\�8\�N�]�
�
�
�
%�
%�
6�
6�
8���(�(�0�0�5�5�F�F�H�I��z�z�X�%�$�+�+�*:�*:�m�*K��+L�%�J�9reN)r�r�r�r��message_async_yieldr9r;r�rerdr�r��s��7�G�9���rer�r>c��eZdZdZd�Zd�Zy)�_BytesAndStringMixz&cannot mix bytes and nonbytes literalsc�Z�|jdk(ryd|jj�vS)NrUFrp)rWrwrx)r�r<s  rd�_is_bytes_literalz$_BytesAndStringMix._is_bytes_literal�s+���;�;�)�#���f�*�*�0�0�2�2�2rec��|jd}|j|�}|jddD]}||j|�k7s�yy)Nrr'T)rYr�)r�r_rb�first_is_bytesr<s     rdr;z_BytesAndStringMix.is_issue�sP���
�
�a� ���/�/��6���m�m�A�B�'�	�F���!7�!7��!?�?��	reN)r�r�r�r�r�r;r�rerdr�r��s��7�G�3�
rer��import_as_namesc��eZdZdZd�Zy)�_TrailingImportCommaz:trailing comma not allowed without surrounding parenthesesc�d�|jddk(r|jjddk7ryyy)NrGr�r-T)rYr}r�s  rdr;z_TrailingImportComma.is_issue�s5���=�=����#����(<�(<�R�(@�C�(G��)H�#reNrYr�rerdr�r��s��K�G�rer�ruc��eZdZdZd�Zy)�_ImportStarInFunctionz%import * only allowed at module levelc�j�|j�xr"|jjjduSr�)�is_star_importrCr�r�r�s  rdr;z_ImportStarInFunction.is_issue�s.���"�"�$�\��)9�)9�)A�)A�)P�)P�X\�)\�\reNrYr�rerdr�r��s
��5�G�]rer�c��eZdZdZd�Zy)�_FutureImportRulez?from __future__ imports must occur at the beginning of the filec��t|�r�t|�sy|j�D]�\}}|j}t	t
�}|jjdk\r|jd�|dk(r|j|d���d|dk(rd}|j||���||vs��d	|z}|j||����yy)
NT�r$��annotations�bracesznot a chancerH�barry_as_FLUFLz-Seriously I'm not implementing this :) ~ Davez future feature %s is not defined)
rxr��	get_pathsr]r1�ALLOWED_FUTURESrCr/r�r#)r�r_�	from_name�future_namer��allowed_futures�mr�s        rdr;z_FutureImportRule.is_issue�s����T�"�*�4�0��*.�.�.�*:�
:�&�	�;�"�(�(��"&��"7���#�#�+�+�v�5�#�*�*�=�9��8�#��N�N�4��N�@��-�-�G�A��N�N�4��N�3���0�@�4�G�G��N�N�4��N�9�
:�	#reNrYr�rerdr�r��s��O�G�:rer�rNc��eZdZdZd�Zy)�
_StarExprRulez2iterable unpacking cannot be used in comprehensionc�X�d�}|jjdk\r
|j}nt|�}|jgt
�d��vr5|jdk(r|jddk7s|j|d��y||�rA|jjdk\r|j|d	��y|j|d��y|jjd
k(rH|jjdjtvr|j||j��yyy)Nc��|j�A|j}|jdk(ry|jgt�d��vry|j��Ay)N�del_stmtTr F)r}rWr�r~s rd�check_delete_starredz4_StarExprRule.is_issue.<locals>.check_delete_starred�sP���+�+�)��{�{���9�9�
�*���9�9�$A�&8�$A�&�$A�A� ��+�+�)�rer�r"r rr,�!can't use starred expression hererHzcannot delete starredrr')
rCr/r}rrWr�rYr#rq�message_iterable_unpacking)r�r_r��ancestors    rdr;z_StarExprRule.is_issue�s��	����#�#�v�-��{�{�H�-�d�3�H��=�=� G�"4� G�6F� G�G�!���&�0�X�5F�5F�q�5I�S�5P��N�N�4�)L�N�M����%����'�'�6�1����t�-D��E�
����t�-P��Q���;�;����.��{�{�#�#�A�&�+�+��>����t�T�-L�-L��M�?�/reN)r�r�r�r�r;r�rerdr�r��s��!U��Nrer�)�typesc��eZdZd�Zy)�_StarExprParentRulec����fd���||j�r�|jD�cgc]
}|dk7s�	|��}}|D�cgc]}|jdk(s�|��}}t|�dkDr5|jj
dkrd}nd}|j
|d|��y|r3|j|d	�}|d
k\rd}|j
|d	|��yyyycc}wcc}w)Nc���|�y|j}|dk(ry|dk(r&|j|jdjkS�||j�S)NFrHr�rG)rWr�rYr})r_r�r`r�s   �rdr�z3_StarExprParentRule.is_issue.<locals>.is_definitionsY�������M�M�E��	�!����#��~�~��(9�(9�"�(=�(G�(G�G�G� ��x���7�7rer�rNr'r�z%two starred expressions in assignmentz*multiple starred expressions in assignmentrHr�z1too many expressions in star-unpacking assignment)r}rYrWrZrCr/r#r�)r�r_rtr�rTr��countr�s       @rdr;z_StarExprParentRule.is_issues����	8���t�{�{�+�#�}�}�9�!��S��A�9�D�9�"&�@�Q�!�&�&�K�*?�q�@�G�@��7�|�a���#�#�+�+�f�4�E�G�J�G����w�q�z�7��;���
�
�7�1�:�.���C�<�Q�G��N�N�7�1�:�w�N�?� ��,��9��@s�
C�C�C�CN�r�r�r�r;r�rerdr�r�s��@rer�r�c��eZdZdZd�Zd�Zy)�_AnnotatorRulezillegal target for annotationc��|jSr�rPr�s  rdr9z_AnnotatorRule.get_node7r�rec���d}|jjd}t|�}	|j}d|vs|jdk(r|ddk(rd}n|jdk(r
|ddk(rd}|d}|�A|jd	k(s1|jd
vr!jdk(r|jddk7syyyd
}|j|j||z��y#t$rY�qwxYw)Nrr�r r,r.r0r1rGr�rBrHTz,only single target (not %s) can be annotatedrH)r}rYr\rWrzr#)r�r_r`�lhsrYrHr�s       rdr;z_AnnotatorRule.is_issue:s������k�k�"�"�1�%���S�!��		#��|�|�H��h��#�(�(�f�"4��!���9K������V�#����s�(:����r�l�G��=��H�H��&��x�x�#9�9����	�1��(�(��+�s�2��3�	'�E�G��N�N�3�:�:�w���N�?��'�	��	�s�C�	C"�!C"Nr<r�rerdr�r�1s��.�G��@rer�r�c��eZdZd�Zy)�
_ArgumentRulec���|jd}|jjdkrt|�}|jddk(rn|jdk7r_|jdk(r|jjdkrd}n!d}n|jjdkrd	}nd}|j||�
�t
|�r.|jjdk(r|j|d�
�yyy)
Nrr#r'�=r�rz lambda cannot contain assignmentz=expression cannot contain assignment, perhaps you meant "=="?zkeyword can't be an expressionrHr�r)rYrCr/r\rWr#r�r})r�r_rbr�s    rdr;z_ArgumentRule.is_issueXs����
�
�a� �����#�#�f�,�"�5�)�E��=�=���s�"�u�z�z�V�';��z�z�Y�&��#�#�+�+�f�4�@�G�]�G��#�#�+�+�f�4�>�G�]�G��N�N�5�'�N�2�%�d�+����0@�0@�J�0N��N�N�4�)9�N�:�1O�+reNr�r�rerdr�r�Vs��;rer�r�c��eZdZdZd�Zy)�_NonlocalModuleLevelRulez0nonlocal declaration not allowed at module levelc�F�|jjjduSr�)rCr�r�r�s  rdr;z!_NonlocalModuleLevelRule.is_issuets�����'�'�6�6�$�>�>reNrYr�rerdr�r�ps��@�G�?rer��arglistc�"�eZdZed��Zd�Zy)�_ArglistRulec�8�|jjdkryy)Nr�z?Generator expression must be parenthesized if not sole argumentz*Generator expression must be parenthesized)rCr/r�s rdr�z_ArglistRule.messagezs�����#�#�f�,�T�?rec��t�}d}d}|jD�],}|dk(r�
|jdk(r�|jd}t|�rt	|j�dk\ry|dvr!|dk(r|s�Yd	}|j||�
��od}�rd}|jdk(s��|j|vrMd}|jjd
k\r|dj|j�z
}|j||�
���|j|j���|rd}|j||�
���|s��d}|j||�
���/y)NFr�r�rr!T)r�r)r�z>iterable argument unpacking follows keyword argument unpackingrHr�zkeyword argument repeatedr�z: {}z6positional argument follows keyword argument unpackingz,positional argument follows keyword argument)�setrYrWr�rZr#r]rCr/�format�add)r�r_�arg_set�kw_only�kw_unpacking_onlyr�rbr�s        rdr;z_ArglistRule.is_issue�s7���%����!���
�
�&	>�H��3����}�}�
�*� �)�)�!�,��-�h�7�C��
�
�<N�RS�<S���K�'���|�,�'K�G� �N�N�8�W�N�E�,0�)�"�G��z�z�V�+� �;�;�'�1�&A�G�#�/�/�7�7�6�A� '�6�=�=����+E� E�� �N�N�5�'�N�B�#�K�K����4�$�V�G��N�N�8�W�N�=��L�G��N�N�8�W�N�=�M&	>reN)r�r�r��propertyr�r;r�rerdr�r�xs��
�@��@�*>rer�r�rc��eZdZdZd�Zy)�_ParameterRulez-non-default argument follows default argumentc���t�}d}d}t|�D]�}|jdk(r|jdk(rd}d}�&|jj|vr6d}|j|j||jjz��|j
|jj�|r��|j�|js|s��y|jrd}d}��d}��y)NFr7r�Tz.duplicate argument '%s' in function definitionrH)	r�r�rWr]r�r#r��defaultr�)r�r_�param_names�default_only�	star_seen�pr�s       rdr;z_ParameterRule.is_issue�s����e�����	��d�#�	(�A��v�v��#��7�7�c�>� $�I�#(�L���v�v�|�|�{�*�J�����q�v�v�w������/E��F��O�O�A�F�F�L�L�)���9�9�$�Q�\�\�#�#��\�\� $�I�#(�L�#'�L�)	(reNrYr�rerdr�r��s��>�G�(rer�rc��eZdZdZd�Zy)�_TryStmtRulezdefault 'except:' must be lastc��d}|jddd�D]0}|dvry|dk(r|}�|��|j||j���2y)Nr$)�elser_�exceptrH)rYr#r�)r�r�default_except�
except_clauses    rdr;z_TryStmtRule.is_issue�s\����%�.�.�q�t�!�t�4�	E�M�� 3�3����(�!.���+����~�t�|�|��D�
	EreNrYr�rerdr�r��s
��.�G�Erer�rUc�6�eZdZdZdZdZdZd�Zd�Zd�Z	d	d�Z
y)
�_FStringRuleNz3f-string expression part cannot include a backslashz'f-string: expressions nested too deeplyzAf-string: invalid conversion character: expected 's', 'r', or 'a'c�B�|j|jdd|�yr���_check_fstring_contentsrY)r��format_spec�depths   rd�_check_format_specz_FStringRule._check_format_spec�s���$�$�[�%9�%9�!�"�%=�u�Erec�<�|dk\r|j||j��|jd}d|j�vr|j||j��|jd}|j
dk(r|jdk(r|jd}n|}|j
dk(r:|jd}|jd	vr|j||j��|jd
}|j
dk(r|j||dz�yy)Nr!rHr'rr7r�r$�fstring_conversion)�sru�ar��fstring_format_spec)	r#�message_nestedrY�get_code�message_exprrWr]�message_conversionr�)r��fstring_exprr�rM�
children_2�
conversionr�r�s        rd�_check_fstring_exprz _FStringRule._check_fstring_expr�s���A�:��N�N�<��1D�1D�N�E��$�$�Q�'���4�=�=�?�"��N�N�4��):�):�N�;�!�*�*�1�-�
��?�?�j�(�Z�-=�-=��-D�%�.�.�q�1�J�#�J��?�?�2�2��&�&�q�)�D��z�z��0����t�T�-D�-D��E�"�+�+�B�/�����4�4��#�#�K����;�5rec�@�|j|jdd�y)Nr'rGr�)r�rUs  rdr;z_FStringRule.is_issue�s���$�$�W�%5�%5�a��%;�<rec�V�|D]$}|jdk(s�|j||��&y)Nr)rWr)r�rYr��fstring_contents    rdr�z$_FStringRule._check_fstring_contentss1��'�	A�O��#�#�~�5��(�(��%�@�	Are)r)r�r�r��_fstring_grammarr�r�rr�rr;r�r�rerdr�r��s.����H�L�>�N�\��F�<�,=�Arer�c��eZdZdd�Zy)�_CheckAssignmentRulec�R�d}|j}|dk(rd}�n�|dk(�rJ|jdd\}}t|�}|���|jdk(r7|jjdkrd}�nk|jdd	k(rd
}�nUd}�nQ|dk(r&|d
k(r!|jjdkrd}�n*d
}�n&|dk(r9t|j�dkDr!|jjdkrd}�n�d}�n�|dv�r�|jdk(rd}�n�|jdk(r>|r|dk(rd}n|dk(rd}|jddd�D]}	|j
|	|||���n�|j
||||��nm|dk(rG|jdk(rd}�nU|jjdkrd}�n8t|j�}�n!|dk(r|jdk(�rd}�n|dk(rd}�n�|dvrd}�n�|dk(rd}
|j||
���n�|dk(rd }�n�|d!vr�|jd"d#k(rd$}�n�|jd%d&k(rd'}�n�|jd(}|jd)k(sJ�|jd"dk(rd*}�nl|r|jd"dk(rd+}�nT|�rQ|jd"d,k(�r>d-}�n:|d.k(r!|jjdkrd}�nd/}�n|d0vr,|jddd�D]}	|j
|	|||��n�d1|vr|d2k7sd3|vs|d4vrd'}n�|d2k(r�|r0|jjd5k\rd6}n�|j|d7��n{|jjd5k\r
|j}nt|�}|jtvr8|s6|jdk(r|jd"dk(sd8}
|j||
��|j
|jd�|�Q|rd9|z}
n5|jjdkrd:nd;}
d<j|
|rd=nd>|g�}
|j||
��yy)?Nrrr r!r"r#r&r'r(r*r+r2r3)r,r0r?r6rr,r.r0r1r4r5r7r8r9r:r;z+assignment to yield expression not possiblerHr@rArBrrErFr�r)rSrGrHrIrJrKrLrUrV)rrr�rMrNrOrPr�rTr�z4starred assignment target must be in a list or tuplez)cannot use assignment expressions with %szcan't�cannot� �deletez	assign to)rWrYrXrCr/rZ�_check_assignmentr]r^r#r}rr��join)r�r_�is_deletion�is_namedexpr�
is_aug_assignrJr`rbrcrlr�rHr�rs              rdrz&_CheckAssignmentRule._check_assignmentsL�����	�	���I���E�
�f�_� �M�M�"�1�-�M�E�6�+�D�1�E��}��;�;�"2�2��'�'�/�/�&�8� )��!�?�?�1�-��4�$2�E�$1�E��c�\�f��m��'�'�/�/�&�8� )�� .���c�\�c�$�-�-�&8�1�&<��'�'�/�/�&�8� )�� -���j�(��{�{�l�2� 2������7�(�$��|�(/��!&�#��(.��&,�_�_�S�q�S�%9�d�E� �2�2�5�+�|�Ub�c�d��.�.�v�{�L�R_�`�
�i�
��z�z�W�$�*���!�!�)�)�F�2�!���D�J�J���
�j�
 ��z�z�U�"�"��
�l�
"� �E�
�5�
5��E�
�l�
"�C�G��N�N�4��N�1�
�f�_�,�E�
�,�
,��}�}�Q��7�*�*�����r�"�d�*�$���-�-��+���|�|�y�0�0�0��#�#�A�&�#�-�+�E�!�g�&6�&6�q�&9�S�&@�'�E�!�g�&6�&6�q�&9�S�&@�'�E�
�i�
����'�'�&�0�!��-��
�D�
D����s��s�+�
X���&�&�u�k�<��W�
X���o�%�;�"6��E�!��,�,� �E�
�k�
!���#�#�+�+�v�5�%�E��N�N�4�1T�N�U��#�#�+�+�v�5�#�{�{�H�5�d�;�H��=�=�(:�:�=�!)���&�!8�X�=N�=N�q�=Q�UX�=X�T�G��N�N�4��N�9��"�"�4�=�=��#3�4����E��M��$(�$4�$4�$<�$<�v�$E��8���(�(�F��H��V[�#\�]���N�N�4��N�1�
reN)FFF)r�r�r�rr�rerdr
r
s��t2rer
rc��eZdZdZd�Zy)�_CompForRulez>asynchronous comprehension outside of an asynchronous functionc���|jd}|jdk7r|j|�|jjddk(xr%|jj
j
�S)Nr'�	expr_listr�async)rYrWrr}rCr�r�)r�r_rs   rdr;z_CompForRule.is_issue�sh���M�M�!�$�	��>�>�[�(��"�"�9�-��{�{�#�#�A�&�'�1�@��$�$�,�,�=�=�?�?�	@reNrYr�rerdrrs
��N�G�@rerr�c� �eZdZdZdezZd�Zy)�
_ExprStmtRulez+illegal expression for augmented assignmentz'{target}' is an c	��|jd}|dk7xr|jdk7}|jjdks|s*|jddd�D]}|j	||���|r�t|jd�}|jd	k(sI|jd
vr<|jdjdk(r |jdjdd
k7ry|jjdkry|j
||jjt|jd|jj�����yy)Nr'r�r�r#r�r!)rrr�rBrHrGr,FT)�targetrH)
rYrWrCr/rr\r#�extended_messager�r[)r�r_�	augassignr�before_equalrs      rdr;z_ExprStmtRule.is_issue�sB���M�M�!�$�	�!�S�(�J�Y�^�^�{�-J�
����#�#�v�-�]� $�
�
�e�r�!�e� 4�
R���&�&�|�=�&�Q�
R��#�D�M�M�!�$4�5�F��{�{�f�$����5�5��O�O�A�&�+�+�y�8��O�O�B�'�0�0��3�s�:�����'�'�6�1������ �1�1�8�8�,�T�]�]�1�-=�t�?O�?O�?W�?W�X�9����reN)r�r�r�r�rr;r�rerdrr�s��;�G�*�W�4��rer�	with_itemc��eZdZd�Zy)�
_WithItemRulec�@�|j|jd�y�Nr!)rrY)r�r s  rdr;z_WithItemRule.is_issue�s�����y�1�1�!�4�5reNr�r�rerdr"r"�s��6rer"r�c��eZdZd�Zy)�_DelStmtRulec�h�|jd}|jdk7r|j|d��yy)Nr'rT)r�rYrWr)r�r�rls   rdr;z_DelStmtRule.is_issue�s6���!�!�!�$���:�:��$��"�"�5�d�"�;�%reNr�r�rerdr&r&�s��<rer&rc��eZdZd�Zy)�
_ExprListRulec�T�|jddd�D]}|j|��yr$)rYr)r�rrMs   rdr;z_ExprListRule.is_issue�s.���&�&�s��s�+�	)�D��"�"�4�(�	)reNr�r�rerdr*r*�s��)rer*rc��eZdZd�Zy)�_ForStmtRulec�d�|jd}|jdk7r|j|�yy)Nr'rr()r�rrs   rdr;z_ForStmtRule.is_issue�s1���%�%�a�(�	��>�>�[�(��"�"�9�-�)reNr�r�rerdr-r-�s��.rer-�namedexpr_testc��eZdZd�Zy)�_NamedExprRulec�&�	�
�|jd}d�}||�rd}|j||��t��	�	fd��
�
fd�}||�}|r�|jjj
jdk(rd}|j||���	D�cgc]}|jd	k(s�|j�� }}|jd	k(r0|j|vr"d
|jz}|j||��|j|d��ycc}w)
Nrc�p�	|j}|�|S|jdk(r|jd|k(r|S|}�6)Nrr$r|)r_r}s  rd�search_namedexpr_in_comp_forz=_NamedExprRule.is_issue.<locals>.search_namedexpr_in_comp_for�sC��������>�!�M��;�;�/�1�f�o�o�a�6H�D�6P�!�M���
rezKassignment expression cannot be used in a comprehension iterable expressionrHc���|jdk(r|}n|jdk(r|jd}�jt��y)Nrrr')rWrYr�r�)r�comprs  �rd�process_comp_forz1_NamedExprRule.is_issue.<locals>.process_comp_for�sB����}�}��/������*�,��(�(��+���O�O�:�4�@�Arec���d}	|jdd�}|�	|S|jD] }|jtvs��|�d}n�G)NFTrr")r�rYrWrq)r_�
has_ancestorsrlr7s   �rd�search_all_comp_ancestorsz:_NamedExprRule.is_issue.<locals>.search_all_comp_ancestors�sd���!�M���+�+�O�=M�N���<��!� �"�]�]��E��z�z�_�4�(��/�(,�
��	�	rer�zKassignment expression within a comprehension cannot be used in a class bodyr�zGassignment expression cannot rebind comprehension iteration variable %rT)r)	rYr#r1rCr�r_rWr]r)r�r/rbr4r�r:�
search_allrM�namelistrr7s         @@rdr;z_NamedExprRule.is_issue�s����'�'��*��	�(��7�d�G��N�N�>�7�N�;��6��	B�	!�/�~�>�
�����'�'�,�,�1�1�Z�?�;�����~�w��?�/7�O�t�4�9�9��;N��
�
�O�H�O��z�z�V�#����x�(?�
@�BG�+�+�N�����~�w��?����u�4��8��Ps�D�+DNr�r�rerdr1r1�s��=9rer1)Er{r~r�
contextlibr�parso.normalizerrrrr�parso.python.tokenizerr	r�r
rr�rqr[rnrXrxr\rr�r�r�r�r�r�r�r�r�r1�
register_ruler7r>rArErLrTr\rdrirnr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r
rrr"r&r*r-r1r�rerd�<module>rAs%��
��	�%�F�F�7�M��H��������0��G�T��;��	�Z��"(�0�=�
8�/�F�F�Dq;�*�q;�h.�d�.�
�����-�	3�?�	3�.�	3�#�(�#�
)��
)�
�����-����.��&
�����)����*��
�����)��
��*��
�����,��j��-��,
�����(�<�j�<�)�<�
�����'��*��(��
�����)�H�J�H�*�H�@
�����%�	#��	#�&�	#�
�����&�	M�Z�	M�'�	M�
�����)������*�
�J�
�+�*�
� 
���	��*����+��"
��� 1��2��:��3��
���
��.�]�J�]�/�]�
���
��.�:�
�:�/�:�.
�����,�!N�J�!N�-�!N�H
���!3��4�@�*�@�5�@�>
�����,�!@�Z�!@�-�!@�H
���
��+�;�J�;�,�;�2
�����0�?�z�?�1�?�
���	��*�2>�:�2>�+�2>�j
�����-����	��*�(�Z�(�+�.�(�>
���
��+�E�:�E�,�E�
���	��*�%A�:�%A�+�%A�Pu2�:�u2�p
�����0�	@�'�	@�1�	@�
�����,��(��-��D
�����,�6�(�6�-�6�

���
��+�<�'�<�,�<�
�����,�)�(�)�-�)�
���
��+�.�'�.�,�.�
��� 0��1�@9�)�@9�2�@9re

Youez - 2016 - github.com/yon3zu
LinuXploit