403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/jedi/inference/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/jedi/inference/__pycache__/names.cpython-311.pyc
�

p�{c�Z����ddlmZddlmZddlmZmZddlmZddl	m
Z
mZddlm
Z
ddlmZmZddlmZdd	lmZdd
lmZddlmZmZddlmZd
�ZGd�d��ZGd�de��ZGd�de��ZGd�d��Z Gd�de e��Z!Gd�de��Z"Gd�d��Z#Gd�de#��Z$Gd�de$e��Z%Gd �d!e%��Z&Gd"�d#e&��Z'Gd$�d%e&��Z(Gd&�d'e#��Z)Gd(�d)e��Z*Gd*�d+e*��Z+Gd,�d-��Z,Gd.�d/��Z-Gd0�d1e-e"��Z.Gd2�d3e e��Z/Gd4�d5e-e/��Z0d6S)7�)�abstractmethod)�	Parameter)�Optional�Tuple)�search_ancestor)�find_statement_documentation�clean_scope_docstring)�unite)�ValueSet�	NO_VALUES)�inference_state_method_cache)�
docstrings)�memoize_method)�
deep_ast_copy�infer_call_of_leaf)�plugin_managerc�P�d}|D] }|r|dz
}||���z
}�!|S)N�z 
------------------------------
)�	py__doc__)�names�doc�names   �6/usr/lib/python3/dist-packages/jedi/inference/names.py�_merge_name_docsrsF��
�C�� � ���	*�
�)�)�C��t�~�~�������J�c���eZdZUdZeeeefed<eed<dZ	dZ
dZ	ed���Z
ed���Zdd�Zd	�Zd
�Zd�Zd�Zd
�Zd�Zed���Zd�ZdS)�AbstractNameDefinitionN�	start_pos�string_nameTc��t��N��NotImplementedError��selfs r�inferzAbstractNameDefinition.infer&s��!�!rc��|hSr!�r$s r�gotozAbstractNameDefinition.goto*s���v�
rFc�z�|���}|�|s|S|���j}|�dS||zSr!)�_get_qualified_names�get_root_context�string_names)r%�include_module_names�qualified_names�module_namess    r�get_qualified_namesz*AbstractNameDefinition.get_qualified_names0sO���3�3�5�5���"�*>�"�"�"��,�,�.�.�;�����4��o�-�-rc��dSr!r(r$s rr+z+AbstractNameDefinition._get_qualified_names:s���trc�4�|j���Sr!)�parent_contextr,r$s rr,z'AbstractNameDefinition.get_root_context>s���"�3�3�5�5�5rc��|jSr!)rr$s r�get_public_namez&AbstractNameDefinition.get_public_nameAs����rc��|j�d|jj�d|j�d�Sd|jj�d|j�d|j�d�S)N�<z: string_name=�>z start_pos=)r�	__class__�__name__rr$s r�__repr__zAbstractNameDefinition.__repr__Ds_���>�!�!�-1�^�-D�-D�-D�d�FV�FV�FV�W�W�"�6:�n�6M�6M�6M�6:�6F�6F�6F�����X�	Xrc��dS)NFr(r$s r�	is_importz AbstractNameDefinition.is_importJs���urc��dS)Nrr(r$s rrz AbstractNameDefinition.py__doc__Ms���rrc��|jjSr!)r4�api_typer$s rrAzAbstractNameDefinition.api_typePs���"�+�+rc��dS)z�
        Returns either None or the value that is public and qualified. Won't
        return a function, because a name in a function is never public.
        Nr(r$s r�get_defining_qualified_valuez3AbstractNameDefinition.get_defining_qualified_valueTs	��
�tr�F)r;�
__module__�__qualname__rrr�int�__annotations__�strr4�	tree_name�
is_value_namerr&r)r1r+r,r6r<r>r�propertyrArCr(rrrrs$�������+/�I�x��c�3�h��(�/�/�/������N��I��M���"�"��^�"�����^��
.�.�.�.����6�6�6� � � �X�X�X��������,�,��X�,�����rrc�"�eZdZdZdZd�Zd�ZdS)�AbstractArbitraryNamez�
    When you e.g. want to complete dicts keys, you probably want to complete
    string literals, which is not really a name, but for Jedi we use this
    concept of Name for completions as well.
    Fc�:�||_||_|j|_dSr!)�inference_stater�builtins_moduler4)r%rP�strings   r�__init__zAbstractArbitraryName.__init__ds#��.���!���-�=����rc��tSr!�rr$s rr&zAbstractArbitraryName.inferi����rN)r;rErF�__doc__rKrSr&r(rrrNrN\sC��������
�M�>�>�>�
����rrNc�j��eZdZd�Zd
�fd�	Zd�Zd�Zd�Zd�Ze	d���Z
e	d	���Z�xZS)�AbstractTreeNamec�"�||_||_dSr!)r4rJ)r%r4rJs   rrSzAbstractTreeName.__init__ns��,���"����rFc�t��t|jdd��}|�|jdkr8|���������s<|r8|js1t
d�|�|j��D����SdSt���	|��S)N�import_name�import_from�c3�$K�|]}|jV��dSr!)�value)�.0�ns  r�	<genexpr>z7AbstractTreeName.get_qualified_names.<locals>.<genexpr>|s$����\�\��Q�W�\�\�\�\�\�\r)
rrJ�levelr,�	get_value�
is_package�tuple�get_path_for_name�superr1)r%r.�import_noder:s   �rr1z$AbstractTreeName.get_qualified_namesrs����%�d�n�m�]�S�S��
�"�K�,=��,B�,B�04�0E�0E�0G�0G�0Q�0Q�0S�0S�0^�0^�0`�0`�-C�$�
�K�,=�
��\�\�k�.K�.K�D�N�.[�.[�\�\�\�\�\�\��t��w�w�*�*�+?�@�@�@rc�\�|j���}|�dS||jjfzSr!)r4r1rJr`)r%�parent_namess  rr+z%AbstractTreeName._get_qualified_names�s4���*�>�>�@�@�����4��t�~�3�5�5�5rc��|���rtd���|jr|j���SdS)Nz&Shouldn't really happen, please report)r>r#r4rer$s rrCz-AbstractTreeName.get_defining_qualified_value�sH���>�>���	3�%�&N�O�O�O�
�
 �	3��&�0�0�2�2�2��trc�����|j�|j���d���}|�<|j}|dkr�jjdv}|r|gSn;|dvrddlm}|����}|S|gSddlm}|����}|�d	�|D��S�j}|j}	|	d
k�ra|jddk�rO|jd�k�r=|j}
|
jd
kr|
j}
|
jdk�r|
jdkr!��	|
jd��}n�|
jj�
|
��}|
jjd|�}
|
ddkr|
�d����	|
d��}ddlm
}|
dd�D]}
|�||
��}�g}|D]U}|���D]>}|���D]'}|j�jkr|�|���(�?�V|Snu|	dkro|j�
���}|dkrOt'|��}g|j|dz
d�<��	|��}t)��fd�|D����S|	dkr:|jddkr)t+��d���}|������St/�dd��p�}|jdkr�}���|j���S)NT��import_name_always�	expr_stmt)�power�trailer)r]r\r)�goto_import)�%follow_error_node_imports_if_possiblec��g|]	}|j��
Sr(�r)rar`s  r�
<listcomp>z)AbstractTreeName.goto.<locals>.<listcomp>�s��7�7�7�u��
�7�7�7r�argumentr^�=�arglist�classdef�	decorator�await)�
infer_trailer�dotted_namec3�F�K�|]}|������V��dS)��name_contextN)r))rar`�contextrs  ��rrcz(AbstractTreeName.goto.<locals>.<genexpr>�sG���������J�J�t�'�J�:�:������rrs�.)�cut_own_trailerr��lambdef)�position)r4rJ�get_definition�type�parent�jedi.inference.importsrtru�children�
infer_node�index�pop�jedi.inference.syntax_treer�get_signatures�get_param_namesrr`�appendrr
rr)rr)r%�
definition�type_�is_simple_namertr0ru�values�par�	node_typers�	value_set�i�to_inferr�param_namesr`�	signature�
param_namer��
new_dotted�stmtr�rs                      @@rr)zAbstractTreeName.goto�s������%���~���(�(�D�(�A�A�
��!��O�E���#�#�"&��!1�9M�!M��!�"� �6�M�"��8�8�8�>�>�>�>�>�>�*�{�7�D�9�9��#�#��v�
�T�T�T�T�T�T�:�:�7�D�I�I�F��!�7�7��7�7�7�7��k���H�	��
�"�"�s�|�A��#�'=�'=�#�,�q�/�UY�BY�BY��j�G��|�y�(�(�!�.���|�z�)�)��<�;�.�.� '� 2� 2�7�3C�A�3F� G� G�I�I���/�5�5�g�>�>�A�&�~�6�r��r�:�H���{�g�-�-� ���Q���� '� 2� 2�8�A�;� ?� ?�I�H�H�H�H�H�H�#+�A�B�B�<�O�O��$1�M�'�9�g�$N�$N�	�	� ��&�?�?�E�%*�%9�%9�%;�%;�?�?�	�*3�*C�*C�*E�*E�?�?�J�)�5���C�C� +� 2� 2�:� >� >� >��?�?�#�"�%*�&�-�
'�
'��L�&�&�t�,�,�E��q�y�y�*�3�/�/�
�24�
�#�E�A�I�J�J�/� �+�+�J�7�7��������!'�������
�	�!�!�c�l�1�o��&<�&<�'���t�L�L�L�F��;�;�t�'�;�:�:�:�"��k�9�����
��y�I�%�%����<�<��t�~�<�>�>�>rc�6�t|jdd��}|duS)Nr]r\�rrJ)r%�imps  rr>zAbstractTreeName.is_import�s���d�n�m�]�K�K���$��rc��|jjSr!)rJr`r$s rrzAbstractTreeName.string_name�s
���~�#�#rc��|jjSr!)rJrr$s rrzAbstractTreeName.start_pos�s
���~�'�'rrD)
r;rErFrSr1r+rCr)r>rLrr�
__classcell__�r:s@rrYrYms��������#�#�#�A�A�A�A�A�A� 6�6�6����F?�F?�F?�P����$�$��X�$��(�(��X�(�(�(�(�(rrYc�L��eZdZd�Zd�Zd�Z�fd�Zd�Zed���Z	�xZ
S)�ValueNameMixinc�,�t|jg��Sr!)r�_valuer$s rr&zValueNameMixin.infer�s�����
�&�&�&rc��|j���}|s@|j���r'ddlm}||gd���}||vrt|��S|S)Nr��
convert_namesF��prefer_stub_to_compiled)r�r�is_stub�!jedi.inference.gradual.conversionr�r)r%rr�rs    rrzValueNameMixin.py__doc__�sx���k�#�#�%�%���	/�t�{�*�*�,�,�	/�G�G�G�G�G�G�!�M�4�&�%�H�H�H�E��5� � �'��.�.�.��
rc�4�|j���Sr!)r�r1r$s rr+z#ValueNameMixin._get_qualified_names�s���{�.�.�0�0�0rc���|j�|j���St�����Sr!)r4r��
as_contextrir,�r%r:s �rr,zValueNameMixin.get_root_context�s6�����&��;�)�)�+�+�+��w�w�'�'�)�)�)rc��|j}|�A|���s|���r|j���SdSr!)r4�	is_module�is_classre)r%r�s  rrCz+ValueNameMixin.get_defining_qualified_value�sL���%����G�$5�$5�$7�$7��7�;K�;K�;M�;M���&�0�0�2�2�2��trc��|jjSr!)r�rAr$s rrAzValueNameMixin.api_type�s
���{�#�#r)r;rErFr&rr+r,rCrLrAr�r�s@rr�r��s��������'�'�'����1�1�1�*�*�*�*�*�
����$�$��X�$�$�$�$�$rr�c�$��eZdZ�fd�Zd�Z�xZS)�	ValueNamec�d��t���|j|��||_dSr!)rirSr4r�)r%r`rJr:s   �rrSzValueName.__init__s+���
������-�y�9�9�9�����rc�6�t|jjg��Sr!)rr�rr$s rr)zValueName.goto	s�����)�*�+�+�+r)r;rErFrSr)r�r�s@rr�r�sG������������,�,�,�,�,�,�,rr�c��eZdZeddddd���Zd�Zed���Zd�Zed	���Z	e
d
���d���Zd
S)�TreeNameDefinition�module�function�param�class)r\r]�funcdefr�r|c�P�ddlm}||jj|j|j��S)Nr)�tree_name_to_values)r�r�r4rPrJ)r%r�s  rr&zTreeNameDefinition.infers=��B�B�B�B�B�B�"�"���/����N�
�
�	
rc��|j�d���}|�dS|j�|jd��S)NTro�	statement)rJr��
_API_TYPES�getr�)r%r�s  rrAzTreeNameDefinition.api_types?���^�2�2�d�2�K�K�
����;���"�"�:�?�K�@�@�@rc��g}d}|jj}|j}|��|jdvr�t|j��D]q\}}||krft|dz��}|r8tt
|j��|z
dz��}t||��}|�d||f��n�rtd���d}n|jdkrd}n
|jd	vrn|}|j}|��|S)
a�
        Returns an array of tuple(int, node) of the indexes that are used in
        tuple assignments.

        For example if the name is ``y`` in the following code::

            x, (y, z) = 2, ''

        would result in ``[(1, xyz_node), (0, yz_node)]``.

        When searching for b in the case ``a, *b, c = [...]`` it will return::

            [(slice(1, -1), abc_node)]
        FN)�testlist�
testlist_comp�testlist_star_expr�exprlist�rzCouldn't find the assignment.�	star_exprT)rq�
sync_comp_for)
rJr�r��	enumerater�rG�len�slice�insert�LookupError)	r%�indexes�is_star_expr�node�comparer��childr��from_ends	         r�assignment_indexesz%TreeNameDefinition.assignment_indexes&s �������~�$���.�����y�[�[�[� )�$�-� 8� 8�	G�	G�H�A�u���'�'� #�A��E�
�
��'�<�'*�C��
�,>�,>��,B�a�+G�'H�'H�H�$)�%�(��$;�$;�E����q�5�$�-�8�8�8���
(�&�&E�F�F�F�$�����k�)�)�#�����<�<�<���G��;�D�'��(�rc��|jjSr!)r4rPr$s rrPz"TreeNameDefinition.inference_stateOs���"�2�2rr)�defaultc���|j}|dvrx|j������r'ddlm}||gd���}||vrt
|��St|j�	����S|dkr'|�
��}||vrt
|��S|dkr?|j���r&t|j�	����SdS)	N)r�r�rLrr�Fr�r�r�r)
rAr4r,r�r�r�rr	rJr�r)�
is_definitionr)r%rAr�rs    rrzTreeNameDefinition.py__doc__Ts���=���8�8�8��"�3�3�5�5�=�=�?�?�
3�K�K�K�K�K�K�%�
�t�f�e�L�L�L���u�$�$�+�E�2�2�2�)���)F�)F�)H�)H�I�I�I��x����I�I�K�K�E��5� � �'��.�.�.��{�"�"�t�~�'C�'C�'E�'E�"�/���0M�0M�0O�0O�P�P�P��rrN)r;rErF�dictr�r&rLrAr�rPr
rr(rrr�r�
s�����������������J�
�
�
��A�A��X�A�'�'�'�R�3�3��X�3�"�!�"�-�-�-���.�-���rr�c�,�eZdZdd�Zdd�Zd�Zd	d�ZdS)
�_ParamMixinTc��tjtjg}|r|�tj��|���|vSr!)r�POSITIONAL_ONLY�POSITIONAL_OR_KEYWORDr��VAR_POSITIONAL�get_kind)r%�include_star�optionss   r�maybe_positional_argumentz%_ParamMixin.maybe_positional_argumentlsB���,�i�.M�N���	5��N�N�9�3�4�4�4��}�}���'�)�)rc��tjtjg}|r|�tj��|���|vSr!)r�KEYWORD_ONLYr�r��VAR_KEYWORDr�)r%�
include_starsr�s   r�maybe_keyword_argumentz"_ParamMixin.maybe_keyword_argumentrsB���)�9�+J�K���	2��N�N�9�0�1�1�1��}�}���'�)�)rc�v�|���}|tjkrdS|tjkrdSdS)N�*z**r�r�rr�r��r%�kinds  r�_kind_stringz_ParamMixin._kind_stringxs:���}�}�����9�+�+�+��3��9�(�(�(��4��rrFc��dSr!r()r%r.s  rr1z_ParamMixin.get_qualified_names�s���trN)TrD)r;rErFr�r�r�r1r(rrr�r�ks_������*�*�*�*�*�*�*�*���������rr�c�@�eZdZdZd�Zd�Zd�Zed���Zd�Z	dS)�ParamNameInterfacer�c��t�r!r"r$s rr�zParamNameInterface.get_kind����!�!rc��t�r!r"r$s r�	to_stringzParamNameInterface.to_string�rrc��dS)as
        For dealing with type inference and working around the graph, we
        sometimes want to have the param name of the execution. This feels a
        bit strange and we might have to refactor at some point.

        For now however it exists to avoid infering params when we don't really
        need them (e.g. when we can just instead use annotations.
        Nr(r$s r�get_executed_param_namez*ParamNameInterface.get_executed_param_name�s	���trc�v�|���}|tjkrdS|tjkrdSdS)Nr^r�rr�r�s  r�
star_countzParamNameInterface.star_count�s:���}�}�����9�+�+�+��1��9�(�(�(��1��qrc��tSr!rUr$s r�
infer_defaultz ParamNameInterface.infer_default�rVrN)
r;rErFrAr�rrrLrrr(rrr�r��sp�������H�"�"�"�"�"�"�	�	�	�����X������rr�c�(�eZdZdZdZd�Zd�Zd�ZdS)�BaseTreeParamNameNc���|���|���z}|j}|j}|�|d|�d���zz
}|�|d|�d���zz
}|S)N�: F)�include_prefixrz)r�r6�annotation_node�default_node�get_code)r%�output�
annotationr�s    rrzBaseTreeParamName.to_string�s����"�"�$�$�t�';�';�'=�'=�=���)�
��#���!��d�Z�0�0��0�F�F�F�F�F����c�G�,�,�E�,�B�B�B�B�F��
rc�R�|j}|�d��r
|dd�}|S)N�__r�)r�
startswith�r%rs  rr6z!BaseTreeParamName.get_public_name�s2������?�?�4� � �	�����8�D��rc��|gSr!r()r%�kwargss  rr)zBaseTreeParamName.goto�s	���v�
r)r;rErFrrrr6r)r(rrr
r
�sK�������O��L�����������rr
c�j��eZdZ�fd�Zd�Zed���Zdd�Zd�Zed���Z	d	�Z
d
�Z�xZS)�_ActualTreeParamNamec�~��t���|���|��||_dSr!)rirS�get_default_param_context�function_value)r%rrJr:s   �rrSz_ActualTreeParamName.__init__�sA���
������4�4�6�6�	�	C�	C�	C�,����rc�,�t|jd��S)Nr�r�r$s r�_get_param_nodez$_ActualTreeParamName._get_param_node�s���t�~�w�7�7�7rc�4�|���jSr!)rrr$s rrz$_ActualTreeParamName.annotation_node�s���#�#�%�%�0�0rTFc��ddlm}||j|���|���}|r|���}|S)Nr)�infer_param)�ignore_stars)�!jedi.inference.gradual.annotationr"rr�execute_annotation)r%r%r#r"r�s     r�infer_annotationz%_ActualTreeParamName.infer_annotation�sa��A�A�A�A�A�A������!5�!5�!7�!7�%�'�'�'���	1��.�.�0�0�F��
rc�V�|j}|�tS|j�|��Sr!)rrr4r�)r%r�s  rrz"_ActualTreeParamName.infer_default�s,��� ���<����"�-�-�d�3�3�3rc�4�|���jSr!)rr�r$s rrz!_ActualTreeParamName.default_node�s���#�#�%�%�-�-rc��|���}|jdkrtjS|jdkrtjS|jj�d��rtjS|j	}d}|j
D]U}|r|dkrtjcS�|dkrtjcS|jdkr|jrtjcS||krd}�Vtj
S)	Nr^r�rF�/r�r�T)rrrr�r�rr`rr�r�r�r�r�r�)r%�
tree_paramr��param_appeared�ps     rr�z_ActualTreeParamName.get_kind�s���)�)�+�+�
�� �A�%�%��+�+�� �A�%�%��(�(��?� �+�+�D�1�1�	-��,�,��"������	.�	.�A��

.���8�8�$�4�4�4�4����8�8�$�1�1�1�1��6�W�$�$��|�6�(�5�5�5�5��J���)-����.�.rc��|���}|r|Stj|j|�����}|Sr!)r&rr"rr)r%r��
doc_paramss   rr&z_ActualTreeParamName.infer�sG���&�&�(�(���	��M��+�D�,?��AU�AU�AW�AW�X�X�
��r)TF)
r;rErFrSrrLrr&rrr�r&r�r�s@rrr�s��������-�-�-�-�-�
8�8�8��1�1��X�1�����4�4�4��.�.��X�.�/�/�/�8������rrc���eZdZejd����fd���Zejd����fd���Z�xZS)�AnonymousParamName�goto_anonymous_paramrwc�D��t�����Sr!)rir)r�s �rr)zAnonymousParamName.gotos����w�w�|�|�~�~�r�infer_anonymous_paramc����t�����}|r|Sddlm}|���}||j|j��}|r|S|jdkrddlm	}||jj
g��}nZ|jdkrddlm}||jj
i��}n2|j�tS|jj�|j��St!|h��S)Nr)�dynamic_param_lookupr^)�	FakeTupler�)�FakeDict)rir&�jedi.inference.dynamic_paramsr6rr�position_indexr�jedi.inference.value.iterabler7rPr8r�rr4r�r)r%r�r6r�r7r`r8r:s       �rr&zAnonymousParamName.infer	s������������	��M�F�F�F�F�F�F��$�$�&�&��%�%�d�&9�5�;O�P�P���	��M���q� � �?�?�?�?�?�?��I�d�1�A�2�F�F�E�E�
�
��
"�
"�>�>�>�>�>�>��H�T�0�@�"�E�E�E�E�
�]�
"����&�5�@�@���O�O�O���� � � r)r;rErFr�decorater)r&r�r�s@rr1r1s���������^��"8�9�9�9�����:�9���^��"9�:�:�:�!�!�!�!�;�:�!�!�!�!�!rr1c�.��eZdZ�fd�Z�fd�Zd�Z�xZS)�	ParamNamec�Z��t���||��||_dSr!)rirS�	arguments)r%rrJr@r:s    �rrSzParamName.__init__"s(���
�������3�3�3�"����rc���t�����}|r|S|������Sr!)rir&r)r%r�r:s  �rr&zParamName.infer&s?������������	��M��+�+�-�-�3�3�5�5�5rc�x�ddlm}||j|j��}||���jS)Nr)�get_executed_param_names)�jedi.inference.paramrCrr@rr:)r%rC�params_namess   rrz!ParamName.get_executed_param_name-sE��A�A�A�A�A�A�/�/��0C�T�^�T�T���D�0�0�2�2�A�B�Br)r;rErFrSr&rr�r�s@rr>r>!sg�������#�#�#�#�#�6�6�6�6�6�C�C�C�C�C�C�Crr>c� �eZdZd�Zd�Zd�ZdS)�ParamNameWrapperc��||_dSr!)�_wrapped_param_name)r%r�s  rrSzParamNameWrapper.__init__4s��#-�� � � rc�,�t|j|��Sr!)�getattrrIrs  r�__getattr__zParamNameWrapper.__getattr__7s���t�/��6�6�6rc�2�d|jj�d|j�d�S)Nr8rr9)r:r;rIr$s rr<zParamNameWrapper.__repr__:s#���!�^�4�4�4�d�6N�6N�6N�O�OrN�r;rErFrSrLr<r(rrrGrG3sF������.�.�.�7�7�7�P�P�P�P�PrrGc�r�eZdZdZdZd�Zdd�Zed���Ze	d���Z
d�Zed	���Zd
�Z
dS)
�
ImportName�r^rrc�"�||_||_dSr!)�_from_module_contextr)r%r4rs   rrSzImportName.__init__Bs��$2��!�&����rFc��|r?|jr0|jdks
Jd���|jj}|�|S||jfzS|jfSdS)Nr^z(Everything else is not supported for nowr()�_levelrSr-r)r%r.r0s   rr1zImportName.get_qualified_namesFsi���	'��{�
:��{�a�'�'�'�)S�'�'�'�#�8�E���'�'�'�#�t�'7�&9�9�9��$�&�&��rrc��|j}|���}|s|Stt|�������Sr!)rSr&�next�iterr�)r%�m�
import_valuess   rr4zImportName.parent_contextQsH���%���
�
���
��	��H��D��'�'�(�(�3�3�5�5�5rc�~�ddlm}|j}||j|jg||j������S)Nr)�Importer)rd)r�r\rSrPrrU�follow)r%r\rYs   rr&zImportName.infer[sL��3�3�3�3�3�3��%���x��)�D�,<�+=�q���T�T�T�[�[�]�]�]rc�>�d�|���D��S)Nc��g|]	}|j��
Sr(rw)rarYs  rrxz#ImportName.goto.<locals>.<listcomp>bs��-�-�-�1���-�-�-r)r&r$s rr)zImportName.gotoas��-�-��
�
���-�-�-�-rc��dS)Nr�r(r$s rrAzImportName.api_typeds���xrc�D�t|�����Sr!)rr)r$s rrzImportName.py__doc__hs����	�	���,�,�,rNrD)r;rErFrrUrSr1rLr4rr&r)rArr(rrrPrP>s��������I�
�F�'�'�'�	�	�	�	��6�6��X�6��^�^��^�^�
.�.�.�����X��-�-�-�-�-rrPc��eZdZdZdS)�
SubModuleNamer^N)r;rErFrUr(rrrcrcls������
�F�F�Frrcc� �eZdZd�Zd�Zd�ZdS)�NameWrapperc��||_dSr!)�
_wrapped_name)r%�wrapped_names  rrSzNameWrapper.__init__qs��)����rc�,�t|j|��Sr!)rKrgrs  rrLzNameWrapper.__getattr__ts���t�)�4�0�0�0rc�0�|jj�d|j�d�S)N�(�))r:r;rgr$s rr<zNameWrapper.__repr__ws!���>�2�2�2�D�4F�4F�4F�G�GrNrNr(rrrerepsF������*�*�*�1�1�1�H�H�H�H�Hrrec���eZdZ�fd�Z�xZS)�
StubNameMixinc�(��ddlm}|g}|jdkr>d|j���jvrd�|���D��}||d���}||vr t�����St|��S)Nrr�r�rzc��g|]	}|j��
Sr(rw)ra�vs  rrxz+StubNameMixin.py__doc__.<locals>.<listcomp>�s��2�2�2��Q�V�2�2�2rFr�)
r�r�rArJr�r�r&rirr)r%r�rr:s   �rrzStubNameMixin.py__doc__|s����C�C�C�C�C�C�����=�K�'�'�C�4�>�3P�3P�3R�3R�3[�,[�,[�2�2�T�Z�Z�\�\�2�2�2�E��
�e�U�C�C�C���5�=�=��7�7�$�$�&�&�&�$�E�*�*�*r)r;rErFrr�r�s@rrnrn{s8�������+�+�+�+�+�+�+�+�+rrnc���eZdZ�fd�Z�xZS)�StubNamec����t�����}|jdkrK|������dkr!ddlm�t�fd�|D����S|S)N�version_info�sysr)�VersionInfoc3�.�K�|]}�|��V��dSr!r()ra�crws  �rrcz!StubName.infer.<locals>.<genexpr>�s+�����=�=�q�K�K��N�N�=�=�=�=�=�=r)rir&rr,�
py__name__�!jedi.inference.gradual.stub_valuerwr)r%�inferredrwr:s  @�rr&zStubName.infer�s������7�7�=�=�?�?����~�-�-�$�2G�2G�2I�2I�2T�2T�2V�2V�Z_�2_�2_�E�E�E�E�E�E��=�=�=�=�H�=�=�=�=�=�=��r)r;rErFr&r�r�s@rrsrs�s8���������������rrsc�.�eZdZdZd�Zed���ZdS)�
ModuleNamerQc�"�||_||_dSr!)r��_name)r%r`rs   rrSzModuleName.__init__�s�������
�
�
rc��|jSr!)r�r$s rrzModuleName.string_name�s
���z�rN)r;rErFrrSrLrr(rrr~r~�sC�������I��������X���rr~c��eZdZdS)�StubModuleNameN)r;rErFr(rrr�r��s�������Drr�N)1�abcr�inspectr�typingrr�
parso.treer�jedi.parser_utilsrr	�jedi.inference.utilsr
�jedi.inference.base_valuerr�jedi.inference.cacher
�jedi.inferencer�
jedi.cacher�jedi.inference.helpersrr�jedi.pluginsrrrrNrYr�r�r�r�r�r
rr1r>rGrPrcrernrsr~r�r(rr�<module>r�s���������������"�"�"�"�"�"�"�"�&�&�&�&�&�&�Q�Q�Q�Q�Q�Q�Q�Q�&�&�&�&�&�&�9�9�9�9�9�9�9�9�=�=�=�=�=�=�%�%�%�%�%�%�%�%�%�%�%�%�D�D�D�D�D�D�D�D�'�'�'�'�'�'����=�=�=�=�=�=�=�=�@�����2����"t(�t(�t(�t(�t(�-�t(�t(�t(�n$�$�$�$�$�$�$�$�@,�,�,�,�,�� 0�,�,�,�[�[�[�[�[�)�[�[�[�|��������2���������B�����*�,<����4B�B�B�B�B�,�B�B�B�J!�!�!�!�!�-�!�!�!�:C�C�C�C�C�$�C�C�C�$P�P�P�P�P�{�P�P�P�+-�+-�+-�+-�+-�'�+-�+-�+-�\�����J����H�H�H�H�H�H�H�H�+�+�+�+�+�+�+�+�(�����}�0����	�	�	�	�	��!7�	�	�	�	�	�	�	�	�]�J�	�	�	�	�	r

Youez - 2016 - github.com/yon3zu
LinuXploit