o
    tBh^                     @  s  d Z ddlmZ ddlmZmZmZmZ ddlm	Z	m
Z
mZ ddlmZ ddlmZmZ ddlmZ ddlmZ dd	lmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( dd
l)m*Z* ddl+m,Z, ddl-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4 ddl5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZL erddlMZddlmNZN G dd dZOddddddd+d,ZP	ddd.d/ZQ	ddd0d1ZR	ddd2d3ZSdd5d6ZTdd8d9ZUdd;d<ZVdd>d?ZWddAdBZXddFdGZYddJdKZZddMdNZ[ddSdTZ\ddWdXZ]ddYdd[d\Z^dd^d_Z_ddadbZ`ddfdgZa		dddjdkZbddodpZcddqdrZdddtduZe	dddzd{Zfdd|d}ZgdddZhdddZidS )z!Type checking of attribute access    )annotations)TYPE_CHECKINGCallableSequencecast)meetmessage_registrysubtypes)erase_typevars)expand_type_by_instancefreshen_function_type_vars)map_instance_to_supertype)MessageBuilder)ARG_POSARG_STAR	ARG_STAR2SYMBOL_FUNCBASE_TYPESContext	DecoratorFuncBaseFuncDef	IndexExprMypyFileOverloadedFuncDef
SymbolNodeSymbolTableTempNode	TypeAliasTypeInfoTypeVarExprVaris_final_node)AttributeContext)set_any_tvars)	bind_selfclass_callableerase_to_boundfunction_typemake_simplified_uniontuple_fallbacktype_object_type_from_function)ENUM_REMOVED_PROPSAnyTypeCallableTypeDeletedTypeFunctionLikeInstanceLiteralTypeNoneType
OverloadedParamSpecTypePartialType
ProperType	TupleTypeTypeTypedDictType	TypeOfAnyTypeTypeTypeVarLikeTypeTypeVarTupleTypeTypeVarType	UnionTypeget_proper_typehas_type_varsN)statec                   @  sF   e Zd ZdZ	d$d%ddZd&ddZd'ddZddddd(d"d#ZdS ))MemberContextzInformation and objects needed to type check attribute access.

    Look at the docstring of analyze_member_access for more information.
    N	is_lvalueboolis_superis_operatororiginal_typer8   contextr   msgr   chkmypy.checker.TypeChecker	self_typeType | Nonemodule_symbol_tableSymbolTable | NonereturnNonec
           
      C  s>   || _ || _|| _|| _|p|| _|| _|| _|| _|	| _d S N)	rD   rF   rG   rH   rM   rI   rJ   rK   rO   )
selfrD   rF   rG   rH   rI   rJ   rK   rM   rO    rU   g/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/mypy/checkmember.py__init__R   s   

zMemberContext.__init__namestrr0   c                 C  s   | j |S rS   )rK   
named_type)rT   rX   rU   rU   rV   rZ   h   s   zMemberContext.named_typec                 C  s   | j || d S rS   )rK   handle_cannot_determine_type)rT   rX   rI   rU   rU   rV   not_ready_callbackk   s   z MemberContext.not_ready_callback)messagesrM   rD   r]   MessageBuilder | Nonebool | Nonec             
   C  sX   t | j| j| j| j| j| j| j| j| j		}|d ur||_|d ur#||_|d ur*||_|S rS   )
rC   rD   rF   rG   rH   rI   rJ   rK   rM   rO   )rT   r]   rM   rD   mxrU   rU   rV   copy_modifiedn   s$   zMemberContext.copy_modifiedrS   )rD   rE   rF   rE   rG   rE   rH   r8   rI   r   rJ   r   rK   rL   rM   rN   rO   rP   rQ   rR   )rX   rY   rQ   r0   )rX   rY   rI   r   rQ   rR   )r]   r^   rM   rN   rD   r_   rQ   rC   )__name__
__module____qualname____doc__rW   rZ   r\   ra   rU   rU   rU   rV   rC   L   s    

rC   F)override_infoin_literal_contextrM   rO   rX   rY   typr8   rI   r   rD   rE   rF   rG   rJ   r   rH   rK   rL   rf   TypeInfo | Nonerg   rM   rN   rO   rP   rQ   c                C  sR   t |||||||||d	}t| |||	}t|}|
r't|tr'|jdur'|jS |S )a  Return the type of attribute 'name' of 'typ'.

    The actual implementation is in '_analyze_member_access' and this docstring
    also applies to it.

    This is a general operation that supports various different variations:

      1. lvalue or non-lvalue access (setter or getter access)
      2. supertype access when using super() (is_super == True and
         'override_info' should refer to the supertype)

    'original_type' is the most precise inferred or declared type of the base object
    that we have available. When looking for an attribute of 'typ', we may perform
    recursive calls targeting the fallback type, and 'typ' may become some supertype
    of 'original_type'. 'original_type' is always preserved as the 'typ' type used in
    the initial, non-recursive call. The 'self_type' is a component of 'original_type'
    to which generic self should be bound (a narrower type that has a fallback to instance).
    Currently this is used only for union types.

    'module_symbol_table' is passed to this function if 'typ' is actually a module
    and we want to keep track of the available attributes of the module (since they
    are not available via the type object directly)
    )rK   rM   rO   N)rC   _analyze_member_accessr@   
isinstancer0   last_known_value)rX   rh   rI   rD   rF   rG   rJ   rH   rK   rf   rg   rM   rO   r`   resultpossible_literalrU   rU   rV   analyze_member_access   s(   '
ro   r`   c                 C  sv  t |}t|trt| |||S t|trttj|dS t|tr't| ||S t|t	r6|
 r6t| ||S t|trBt| |||S t|trPt| t|||S t|tt	fr_t| |j||S t|trkt| |||S t|trvt| ||S t|trt|tr|jrt| t|j||S t| |j||S t|tr|j||j ttj S |j!"|grttj S t#|j$|| |S )N)
source_any)%r@   rk   r0   analyze_instance_member_accessr,   r:   from_another_anyr?   analyze_union_member_accessr/   is_type_obj#analyze_type_callable_member_accessr;   analyze_type_type_member_accessr7   rj   r)   r1   fallbackr9   analyze_typeddict_accessr2   analyze_none_member_accessr<   r>   valuesr(   upper_boundr.   rJ   deleted_as_rvaluerI   
from_errorrK   should_suppress_optional_errorreport_missing_attributerH   )rX   rh   r`   rf   rU   rU   rV   rj      s>   










rj   c              	   C  s   |j jrdS |j  K |j 5}|j ||}|du r,	 W d   W d   dS t| |||}|  W  d   W  d   S 1 sIw   Y  W d   dS 1 sYw   Y  dS )z7Check if the given type has the attribute when awaited.FN)rK   checking_missing_awaitchecking_await_setrJ   filter_errorsget_precise_awaitable_typerj   has_new_errors)rX   rh   r`   rf   local_errorsaw_type_rU   rU   rV   may_be_awaitable_attribute   s   Rr   c                 C  s8   |j | |||j|j}t||||r|j |j |S rS   )rJ   has_no_attrrI   rO   r   possible_missing_await)rH   rh   rX   r`   rf   res_typerU   rU   rV   r      s   r   r0   c           
      C  sr  | dkr|j s|jtj|j ttjS |j	}|r|}t
jr:|jt
jd kr:| t
jd kr:|jdjt
j |j || }|rt|ts|jrat|tsPJ tt|jd }t| |j|||S |jrk|j|j t||d}t|}| dkr|n%t|tr| dkrt|j |}t!|||j"|j| |j}t#||j$|j"d}t%||j&}t'||}	t(|	 |	S t)| |||S )	NrW   r      zOccurrence of '{}.{}'builtins.function__new____call__is_classmethod)*rF   rJ   failr   CANNOT_ACCESS_INITrI   r,   r:   r}   typerB   find_occurrencesrX   noteformat
get_methodrk   r   is_propertyr   r   itemsanalyze_varvarrD   cant_assign_to_methodr'   rZ   r   r/   r   
meet_typesrH   check_self_argis_classr$   rM   r   infor   freeze_type_varsanalyze_member_var_access)
rX   rh   r`   rf   r   method
first_item	signaturedispatched_typemember_typerU   rU   rV   rq     sD   


rq   r/   c                 C  s   |j d j}t|tsJ t|trt|}t|tr|j}t|tr=|j	s6t
|| ||j d jd}|r6|S t| |j|S J d|)Nr   original_varsFzUnexpected type )r   ret_typerk   r6   r7   r)   r9   rw   r0   rG   analyze_class_attribute_access	variablesrj   )rX   rh   r`   r   rm   rU   rU   rV   ru   G  s   


ru   r;   c           	      C  s  d }| d}t|jtr|j}nt|jtr4|j  t| |||W  d    S 1 s.w   Y  not|jtrtt	|jj
}t|trH|}n[t|trRt|}nQt|trs|j  t| |||W  d    S 1 snw   Y  n/t|jtrt|j}n#t|jtr|j r|jj}nt|jtrt|jjtr|jjjj}d}|r|jst|| ||}|rtt	|tr|jjs|S d}|d ur|jjp|}|jj|d t| |||W  d    S 1 sw   Y  d S )Nbuiltins.typeFT)r   )rZ   rk   itemr0   r,   rJ   r   rj   r>   r@   r{   r7   r)   r/   rt   rw   r;   r   metaclass_typerG   r   fallback_to_any)	rX   rh   r`   rf   r   rw   r{   ignore_messagesrm   rU   rU   rV   rv   k  sL   
"



 

$rv   r?   c                 C  sh   |j  # g }| D ]}|j|d}|t| || qW d    t|S 1 s+w   Y  t|S )N)rM   )rJ   disable_type_namesrelevant_itemsra   appendrj   r(   )rX   rh   r`   resultssubtypeitem_mxrU   rU   rV   rs     s   
rs   r2   c                 C  s\   | dkrt d|dd}tg g g ||ddS |j|gr%ttjS t| |d|S )N__bool__Fzbuiltins.boolrw   r   	arg_types	arg_kinds	arg_namesr   rw   builtins.object)	r1   rZ   r-   rK   r~   r,   r:   r}   rj   )rX   rh   r`   literal_falserU   rU   rV   ry     s   
ry   ityper   r   c              	   C  s  t || |j}|}t|tr|j}t|tr#t| t||jd}||_	t|t
r?tt|jtr?t||j}t| |d}||_	t|trd||  j}|jrZ|j sZt| ||j|j t| |||||dS t|trmJ d|s| dvr|js|jdu r|jsdD ]V}||}	|	r|	j	jdkrt|	|||j||d	}
t||	j	}tt|
|}t|tr|j }n|}|	j	j d
|  }|jj!"|}|r|t#t|j$||j|j}|  S qn>|d}|r|j	jdkrt||||j| |j%ddd	}t||j	}tt||}t|trt&|j'dkr|j'd S |j(j)r$t*t+j,S |j-r5|j.| |j t*t+j/S |jrF|j0|grFt*t+j/S t1|j$|| |S )zAnalyse attribute access that does not target a method.

    This is logically part of analyze_member_access and the arguments are similar.

    original_type is the type of E in the expression E.var
    )r   implicitFzDid not expect a function)__getattr____setattr____getattribute__N)r   r   r   defnr   r   rM   rX   r`   .r   )rD   r   )2lookup_member_var_or_accessorrD   rk   r   r   r   r    type_object_typerZ   r   r   r@   targetr0   instance_alias_typer   rK   get_final_contextcheck_final_memberrJ   rI   r   r   rG   rO   r   fullname$analyze_decorator_or_funcbase_accessrM   r   r   r-   r   pluginget_attribute_hookr"   rH   ra   lenr   r   r   r,   r:   special_formrF   undefined_in_superclassr}   r~   r   )rX   r   r   r`   vvvrh   r   method_namer   bound_methodgetattr_typerm   r   hooksetattr_meth
bound_typesetattr_typerU   rU   rV   r     s   









!





r   ctxrR   c                 C  s:   |j D ]}|j| }|rt|jr|j| d|d qdS )z?Give an error if the name being assigned was declared as final.T)attr_assignr   N)mronamesgetr!   nodecant_assign_to_final)rX   r   rJ   r   basesymrU   rU   rV   r   '  s   
r   descriptor_typec                   s  t  j}| }t | } t| trt fdd| jD S t| ts#|S | jds+|S | j	d}|du rF j
tj|  j ttjS t|| | j| d d}t| |j}t||}t|tro| ro|jd j}t }nt|tr{|j}t }n|} jj| d}	 jjj |	|t!| jdt!t"| jdgt#t#g j| d	} jjj$|t!| jdt!t"| jdgt#t#g j| |	d
\}
}t |}t|tr|S t|t%s j
tj|  j ttjS |jS )aU  Type check descriptor access.

    Arguments:
        descriptor_type: The type of the descriptor attribute being accessed
            (the type of ``f`` in ``a.f`` when ``f`` is a descriptor).
        mx: The current member access context.
    Return:
        The return type of the appropriate ``__get__`` overload for the descriptor.
    c                   s   g | ]}t | qS rU   )analyze_descriptor_access).0rh   r`   rU   rV   
<listcomp>@  s    z-analyze_descriptor_access.<locals>.<listcomp>__get__N__set__r   r   )rI   )object_type)r   callable_name)&r@   rH   rk   r?   r(   r   r0   r   has_readable_memberr   rJ   r   r   DESCRIPTOR_GET_NOT_CALLABLEr   rI   r,   r:   r}   r   r   r   r   r/   rt   r   r2   r;   r   rK   expr_checkermethod_fullnametransform_callee_typer   make_normalizedr   
check_callr-   )r   r`   instance_typeorig_descriptor_type
dunder_getr   rh   dunder_get_type
owner_typer   r   inferred_dunder_get_typerU   r   rV   r   /  s   




	





r   aliasr   rZ   Callable[[str], Instance]c                 C  sX   t | j}tt |tsJ dt t| | j| j}t|ts!J t|j|}t	||S )zType of a type alias node targeting an instance, when appears in runtime context.

    As usual, we first erase any unbound type variables to Any.
    z+Must be called only with aliases to classes)
r@   r   rk   r0   r#   linecolumnr   r   r   )r   rZ   r   tprU   rU   rV   r     s   

r   r   r    c                 C  s.   | j |jv o|j| j  j| u o| j o| j S )z;Return if var is an instance variable according to PEP 526.)rX   r   r   is_classvaris_inferred)r   r   rU   rU   rV   is_instance_var  s   r  r   r   c                C  s  t ||j}|j}|rt|tr|j||j||jS |jr.|j	r.|j
s.|j| |j|j |jr<|jr<|j| |j tt||}|}t|}|jrt||rT|jrt|tr| s|jrx|j	rq|j
sp|j| |j|j n|j|j |js|}	t|j|}
t|	}t||
|j|j| |j}t||j|j}tt||}t | |j	rt|t!sJ |j"}n|}n|j#s|$|j%|j t&t'j(}|jj) d|  }|jj*+|}|r|js|st,||}|r|t-t|j||j|j}|S )aK  Analyze access to an attribute via a Var node.

    This is conceptually part of analyze_member_access and the arguments are similar.

    itype is the class object in which var is defined
    original_type is the type of E in the expression E.var
    if implicit is True, the original Var was created as an assignment to self
    r   ).r   r   r   rk   r5   rK   handle_partial_var_typerD   rI   r   is_settable_propertyrJ   read_only_propertyr  cant_assign_to_classvarr@   r   is_initialized_in_classr  rG   r/   rt   r   is_staticmethodr   r   rH   r   r   r   r$   rM   r   r-   r   is_readyr\   rX   r,   r:   r   r   r   r   r   r"   )rX   r   r   r   r`   r   rh   trm   functyper   r   expanded_signaturer   r   rU   rU   rV   r     sn   


r   r   c                 C  s^   t | tsd S t | tr| jD ]}d|j_qt | tr+| jD ]}|jD ]}d|j_q#qd S d S )Nr   )rk   r6   r-   r   id
meta_levelr3   r   )r   r   itrU   rU   rV   r     s   







r   SymbolNode | Nonec                 C  s   |  |}|r
|jS dS )zCFind the attribute/accessor node that refers to a member of a type.N)r   r   )r   rX   rD   r   rU   rU   rV   r     s   
r   r  dispatched_arg_typer   c           
      C  s   | j }|s| S g }|rt|}|D ]B}|jr |jd ttfvr+|||| |   S t|jd }	t	
|tt|	rB|| qt|	trM|| qt|	trTtq|sd||||d || | S t|dkrn|d S t|S )a  Check that an instance has a valid type for a method with annotated 'self'.

    For example if the method is defined as:
        class A:
            def f(self: S) -> T: ...
    then for 'x.f' we check that meet(type(x), A) <: S. If the method is overloaded, we
    select only overloads items that satisfy this requirement. If there are no matching
    overloads, an error is generated.

    Note: dispatched_arg_type uses a meet to select a relevant item in case if the
    original type of 'x' is a union. This is done because several special methods
    treat union types in ad-hoc manner, so we can't use MemberContext.self_type yet.
    r   r   )r   r;   r   r   r   r   r   no_formal_selfr@   r	   
is_subtyper
   r&   r   rk   r4   r=   NotImplementedErrorincompatible_self_argumentr   r3   )
r  r  r   rI   rX   rJ   r   	new_itemsr   selfargrU   rU   rV   r     s4   


r   r    Sequence[TypeVarLikeType] | Nonec              	   C  s   | j }|r|}|j d| }|jj|}||}|s+|jr)t||tt	j
S dS t|jt}	|	p8t|jt}
|jrT|
rE|j|j t|jtrT|jtj|j |jrot|jtro|jjro|jtj|jj|j |jr|j st|||j|j |jr|js|	s|
st | ||}|rt|||S |j }|rit|t!r|j}t|tsJ t|||j"||j||jS t|jtr|jj#j$}nt|jtt%fr|jj$}nd}|sd}nt&| |}t|jtr |dusJ t|t'st(|rtt)|j*t+r|jr|jj,rtj-}ntj.}|j||j t/t0||}|	r,t1t|jj2j3p6t|jto6|jj3}t)|}t|t4rP|rPt5||j6d|j||j}t7||||j6|d}|jsct8||}t|||S t|jtr||9||j tt	j
S t|jt:r|jtj;|j||j tt	j<S t|jtrt=|j|j>S t|jt?r|>dS t|jt@rtt)|jjAtBrtC|j|j>S |	rt|jtsJ |jj rt|||jj S |9||j tt	j<S t|jtsJ tD|j|>d}|jj3r
tE|dd}t|||S )	a   Analyze access to an attribute on a class object.

    itype is the return type of the class object callable, original_type is the type
    of E in the expression E.var, original_vars are type variables of the class callable
    (for generic classes).
    r   NFr   ztypes.ModuleTyper   Tr   )Fr   r   rK   r   get_class_attribute_hookr   r   apply_class_attr_hookr,   r:   r   rk   r   r   r   rD   rJ   r   rI   r   r   r   CANNOT_ASSIGN_TO_TYPEr   r    is_final!CANNOT_ACCESS_FINAL_INSTANCE_ATTRr   rX   r   r   is_enum#analyze_enum_class_attribute_accessr5   r  r   r   r   r   r>   rA   r@   rH   r;   r  GENERIC_CLASS_VAR_ACCESS!GENERIC_INSTANCE_VAR_CLASS_ACCESSr
   r   r   funcr   r/   r   rM   add_class_tvarsr   r\   r    CANNOT_USE_TYPEVAR_AS_EXPRESSIONr}   r   rZ   r   r   r   r0   r   r'   r$   )r   rX   r`   rf   r   r   r   r   r   is_decorated	is_methodenum_class_attribute_typer  symnode
super_infoisupermessager   rm   rh   rU   rU   rV   r   H  s   











r   r   )Callable[[AttributeContext], Type] | Nonerm   c                 C  s$   |r|t t| j|| j| j}|S rS   )r"   r@   rH   rI   rK   )r`   r   rm   rU   rU   rV   r    s
   r  c                 C  sX   |t v rt|j| ||S |dr |dr |dddkr d S t|| d}| j|dS )N__r    r   )rl   )r+   r   rH   
startswithendswithreplacer1   ra   )r   rX   r`   enum_literalrU   rU   rV   r$    s   $r$  r9   c                 C  s   | dkr3t |jtr|jj||jj}nttj	}t
|jd|gttgd d gt |jd| dS | dkrMt
|jdgtgd gt |jd| dS t| |j||S )N__setitem__zbuiltins.strr   )r   r   r   r   rw   rX   __delitem__)rk   rI   r   rK   r   visit_typeddict_index_exprindexr,   r:   implementation_artifactr-   rZ   r   r2   rj   rw   )rX   rh   r`   rf   	item_typerU   rU   rV   rx     s,   


rx   r  r6   r/  Instance | Nonec                   s   t | tr9durng } r,t| } t| dd} dus J ttt| } t|  | jt|t| j	 dS t | t
rMt
 fdd| jD S durYttt| } | S )al  Instantiate type variables during analyze_class_attribute_access,
    e.g T and Q in the following:

    class A(Generic[T]):
        @classmethod
        def foo(cls: Type[Q]) -> Tuple[T, Q]: ...

    class B(A[str]): pass
    B.foo()

    Args:
        t: Declared type of the method (or property)
        isuper: Current instance mapped to the superclass where method was defined, this
            is usually done by map_instance_to_supertype()
        is_classmethod: True if this method is decorated with @classmethod
        original_type: The value of the type B in the expression B.foo() or the corresponding
            component in case of a union (this is used to bind the self-types)
        original_vars: Type variables of the class callable on which the method was accessed
    Returns:
        Expanded method type with added type variables (when needed).
    NTr   )r   c                   s$   g | ]}t tt| d qS )r   )r   r-   r(  )r   r   r   r/  rH   r   rU   rV   r   P  s    
z#add_class_tvars.<locals>.<listcomp>)rk   r-   r   r$   r   r   r   ra   listr   r3   r   r6   )r  r/  r   rH   r   tvarsrU   r?  rV   r(    s$   
*
r(  c                 C  sp  |  d}|  d}|rt|jsttjS |p|}t|js$ttjS t|jttfs.J t|jttfs8J | j	
|jj}| j	
|jj}| jpN|d}||k rY|j}d}n8||krc|j}d}n.|jjjdkr| jrttj}	t|	|	gttgddg|	|d	d
}
t|
| |dddS |j}d}t|trt||}nt|jtsJ t|jtsJ |j}t|| |j||S )a9  Return the type of a type object.

    For a generic type G with type variables T and S the type is generally of form

      Callable[..., G[T, S]]

    where ... are argument types for the __init__/__new__ method (without the self
    argument). Also, the fallback type will be 'type' instead of 'function'.
    rW   r   r   FTr   _args_kwdsr   r   N)is_new)r   is_valid_constructorr   r,   r:   r}   rk   r   r   r   r;  r   r   r   r   r   r-   r   r   r%   r   r'   r   r6   r/   r*   )r   rZ   init_method
new_method
init_index	new_indexrw   r   rD  any_typesigr  rU   rU   rV   r   _  sJ   






r   r   Decorator | FuncBasec                 C  s6   t | trt|| j|||S tt| |jd|dS )zAnalyzes the type behind method access.

    The function itself can possibly be decorated.
    See: https://github.com/python/mypy/issues/10409
    r   )rH   )rk   r   r   r   r$   r'   rK   rZ   r   rU   rU   rV   r     s
   
r   nc                 C  s,   t | trdS t | trt t| jtS dS )zDoes this node represents a valid constructor method?

    This includes normal functions, overloaded functions, and decorators
    that return a callable type.
    TF)rk   r   r   r@   r   r/   )rM  rU   rU   rV   rE    s
   

rE  )rX   rY   rh   r8   rI   r   rD   rE   rF   rE   rG   rE   rJ   r   rH   r8   rK   rL   rf   ri   rg   rE   rM   rN   rO   rP   rQ   r8   rS   )
rX   rY   rh   r8   r`   rC   rf   ri   rQ   r8   )
rX   rY   rh   r8   r`   rC   rf   ri   rQ   rE   )rH   r8   rh   r8   rX   rY   r`   rC   rf   ri   rQ   r8   )
rX   rY   rh   r0   r`   rC   rf   ri   rQ   r8   )rX   rY   rh   r/   r`   rC   rQ   r8   )
rX   rY   rh   r;   r`   rC   rf   ri   rQ   r8   )rX   rY   rh   r?   r`   rC   rQ   r8   )rX   rY   rh   r2   r`   rC   rQ   r8   )
rX   rY   r   r0   r   r   r`   rC   rQ   r8   )
rX   rY   r   r   rJ   r   r   r   rQ   rR   )r   r8   r`   rC   rQ   r8   )r   r   rZ   r  rQ   r8   )r   r    r   r   rQ   rE   )rX   rY   r   r    r   r0   r   r   r`   rC   r   rE   rQ   r8   )r   r8   rQ   rR   )r   r   rX   rY   rD   rE   rQ   r  )r  r/   r  r8   r   rE   rI   r   rX   rY   rJ   r   rQ   r/   )NN)r   r0   rX   rY   r`   rC   rf   ri   r   r  rQ   rN   )r`   rC   r   r1  rm   r8   rQ   rN   )r   r0   rX   rY   r`   rC   rQ   rN   )
rX   rY   rh   r9   r`   rC   rf   ri   rQ   r8   )r  r6   r/  r>  r   rE   rH   r8   r   r  rQ   r8   )r   r   rZ   r  rQ   r6   )r   rL  r   r0   r   r   rM   rN   rX   rY   r`   rC   rQ   r8   )rM  r  rQ   rE   )jre   
__future__r   typingr   r   r   r   mypyr   r   r	   mypy.erasetyper
   mypy.expandtyper   r   mypy.maptyper   mypy.messagesr   
mypy.nodesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   mypy.pluginr"   mypy.typeanalr#   mypy.typeopsr$   r%   r&   r'   r(   r)   r*   
mypy.typesr+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   mypy.checkerrB   rC   ro   rj   r   r   rq   ru   rv   rs   ry   r   r   r   r   r  r   r   r   r   r   r  r$  rx   r(  r   r   rE  rU   rU   rU   rV   <module>   sn    T$d	H?*

7
$
-



u

\

U


; 



'
D
G