
    -h6v                        S r SSKrSSKrSSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJrJrJrJrJr  SSKJr  SS	KJr  SS
KJrJr  SSKJrJrJrJrJr  SSKJrJr  SSK J!r!  SSK"J#r#  SSKJ$r$  SSK%J&r&J'r'J(r(  SSK)J*r*J+r+  SSK,J-r-J.r.J/r/J0r0  SSK1J2r2J3r3  Sr4Sr5S r6S r7   SuS jr8\8" SSS9S 5       r9\8" S5      S 5       r:\8" S5      SvS j5       r;\8" S 5      S! 5       r< " S" S#\5      r=\8" S$SS%9S& 5       r> " S' S(\-5      r?\8" S)SSS*9S+ 5       r@\8" S,SSS-9S. 5       rA " S/ S0\5      rB\8" S)5      S1 5       rC " S2 S3\5      rD " S4 S5\5      rE " S6 S7\5      rF\8" S)SSS*9S8 5       rG " S9 S:\-\5      rH\8" S;SS<9S= 5       rIS> rJ " S? S@\5      rK " SA SB\K5      rL " SC SD\35      rM " SE SF\5      rNSG rOSH rP\8" SI5      SJ 5       rQ\8" SK5      SL 5       rRSM rS " SN SO\\!5      rT " SP SQ\25      rU " SR SS\+5      rV " ST SU\5      rW\8" S;5      SV 5       rX " SW SX\5      rY " SY SZ\\#5      rZ\8" S[SSS*9S\ 5       r[S] r\\8" S[SS<9S^ 5       r]\;\<\>\@\A\9\:\C\G\IS_.
\Q\QS`.Sa Sb Sc.Sd\J0\O\P\XSe.Sf\Q0Sg\R0Sh\[0Si\Q0Sj Sk Sl.Sm\S0\S\SSn.\S\SSn.\\" \R                  R                  5      \\" \R                  R                  5      \\" \R                  R                  5      \]So.Sp.rbSq rc " Sr Ss\5      rdSt reg)wa  
Implementations of standard library functions, because it's not possible to
understand them with Jedi.

To add a new implementation, create a function and add it to the
``_implemented`` dict at the bottom of this module.

Note that this module exists only to implement very specific functionality in
the standard library. The usual way to understand the standard library is the
compiled module that returns the types for C-builtins.
    N)	Parameter)debug)safe_property)get_str_or_none)iterate_argument_clinic
ParamIssuerepack_with_argument_clinicAbstractArgumentsTreeArgumentsWrapper)analysis)compiled)AnonymousMethodExecutionContextMethodExecutionContext)ContextualizedNode	NO_VALUESValueSetValueWrapperLazyValueWrapper)
ClassValueModuleValue)
ClassMixin)FunctionMixin)iterable)LazyTreeValueLazyKnownValueLazyKnownValues)	ValueNameBaseTreeParamName)AttributeOverwritepublish_methodParserTreeFilter
DictFilter)AbstractSignatureSignatureWrappera  _property = property
_tuple = tuple
from operator import itemgetter as _itemgetter
from collections import OrderedDict

class {typename}(tuple):
    __slots__ = ()

    _fields = {field_names!r}

    def __new__(_cls, {arg_list}):
        'Create new instance of {typename}({arg_list})'
        return _tuple.__new__(_cls, ({arg_list}))

    @classmethod
    def _make(cls, iterable, new=tuple.__new__, len=len):
        'Make a new {typename} object from a sequence or iterable'
        result = new(cls, iterable)
        if len(result) != {num_fields:d}:
            raise TypeError('Expected {num_fields:d} arguments, got %d' % len(result))
        return result

    def _replace(_self, **kwds):
        'Return a new {typename} object replacing specified fields with new values'
        result = _self._make(map(kwds.pop, {field_names!r}, _self))
        if kwds:
            raise ValueError('Got unexpected field names: %r' % list(kwds))
        return result

    def __repr__(self):
        'Return a nicely formatted representation string'
        return self.__class__.__name__ + '({repr_fmt})' % self

    def _asdict(self):
        'Return a new OrderedDict which maps field names to their values.'
        return OrderedDict(zip(self._fields, self))

    def __getnewargs__(self):
        'Return self as a plain tuple.  Used by copy and pickle.'
        return tuple(self)

    # These methods were added by Jedi.
    # __new__ doesn't really work with Jedi. So adding this to nametuples seems
    # like the easiest way.
    def __init__(self, {arg_list}):
        'A helper function for namedtuple.'
        self.__iterable = ({arg_list})

    def __iter__(self):
        for i in self.__iterable:
            yield i

    def __getitem__(self, y):
        return self.__iterable[y]

{field_defs}
zW    {name} = _property(_itemgetter({index:d}), doc='Alias for field number {index:d}')
c                    ^  U 4S jnU$ )Nc                   >^ ^ UUU 4S jn T R                   R                  nT R                  nUb  UR                  5       (       a  SnO0Ub&  UR	                  5       (       a  UR                  5       nOU" 5       $ T R                  5       (       d  T R                  5       (       a  U" 5       $  [        U   U   nU" T TUS9$ ! [         a	     U" 5       $ f = f! [         a	     U" 5       $ f = f)Nc                     > T" TT S9$ )N	arguments )r)   callbackvalues   fC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\jedi/plugins/stdlib.pycall&execute.<locals>.wrapper.<locals>.callj   s    EY77    builtins)r)   r+   )namestring_nameparent_contextis_builtins_module	is_module
py__name__is_bound_methodis_instance_implementedKeyErrorAttributeError)r,   r)   r.   obj_namepmodule_namefuncr+   s   ``     r-   wrapperexecute.<locals>.wrapperi   s    	8	Gzz--H $$A}!5!5!7!7(1;;==llnv$$&&%*;*;*=*= vG#K0: EYFF   v	'  	, v/	s#   C ,C   
CC
C)(C)r*   )r+   rA   s   ` r-   executerC   h   s    > Nr0   c                      [        UR                  5       5      U   u  p4UR                  5       $ ! [         a	    [        s $ f = fN)listunpackinfer
IndexErrorr   )inference_stater)   indexkey
lazy_values        r-   _follow_paramrN      sI    "y//1259 !!  s   0 AAc                 (   ^ ^^^^^ U UUUUU4S jnU$ )zD
Works like Argument Clinic (PEP 436), to validate function params.
c                 "   >^  UU UUUUU4S jnU$ )Nc                   >  [        [        U R                  UT5      5      n[
        R                  " SU -  SS9  0 nT
(       a  UR                  US'   T(       a  XS'   T(       a  U R                  US'   T(       a  XS'   T	(       a  X$S'   T" U0 UD6n[
        R                  " S	USS9  U$ ! [         a	    [        s $ f = f)
Nzbuiltin start %sMAGENTA)colorcontextr,   rJ   r)   r+   zbuiltin end: %s)tupler   rJ   r   r   r   dbgrT   )r,   r)   r+   argskwargsresultclinic_stringr@   want_argumentswant_callbackwant_contextwant_inference_state
want_values         r-   rA   +argument_clinic.<locals>.f.<locals>.wrapper   s    !4))9mE F
 II(50	BF$-$5$5y!"'w#,1,A,A()&/{#%-z"4*6*FII'yAM#  !  !s    B* *B=<B=r*   )r@   rA   rZ   r[   r\   r]   r^   r_   s   ` r-   fargument_clinic.<locals>.f   s    	 	. r0   r*   )rZ   r_   r]   r[   r^   r\   ra   s   `````` r-   argument_clinicrc      s     2 Hr0   ziterator[, default], /T)r^   c                 D    XR                  S5      R                  5       -  $ )N__next__py__getattribute__execute_with_values)	iteratorsdefaultsrJ   s      r-   builtins_nextrk      s!     22:>RRTTTr0   c                 @    U R                  S5      R                  5       $ )N__iter__rf   )iterators_or_callablesrj   s     r-   builtins_iterro      s     "44Z@TTVVr0   zobject, name[, default], /c                     U  HE  nU H<  n[        U5      nUc  [        R                  " S5        M)  UR                  U5      s  s  $    MG     [        $ )Nzgetattr called without str)r   r   warningrg   r   )objectsnamesrj   r,   r2   strings         r-   builtins_getattrru      sP     D$T*F~:;//77   r0   zobject[, bases, dict], /c                 J    U(       d  U(       a  [         $ U R                  5       $ rE   )r   py__class__)rr   basesdictss      r-   builtins_typerz      s    ""$$r0   c                   4    \ rS rSrSrS rS rS rS	S jrSr	g)
SuperInstance   z-To be used like the object ``super`` returns.c                     Xl         X l        g rE   )rJ   	_instance)selfrJ   instances      r-   __init__SuperInstance.__init__   s    .!r0   c                 R    U R                   R                  5       R                  5       $ rE   )r   rw   py__bases__r   s    r-   
_get_basesSuperInstance._get_bases   s    ~~))+7799r0   c                     U R                  5       S   R                  5       R                  5       nU(       d  U R                  $ [	        [        U5      5      $ Nr   )r   rH   rh   r   nextiter)r   objss     r-   _get_wrapped_value SuperInstance._get_wrapped_value   sC     #))+??A >>!DJr0   Nc              #      #    U R                  5        HC  nUR                  5       R                  5        H  nUR                  5        H  nUv   M	     M      ME     g 7frE   )r   rH   rh   get_filters)r   origin_scopebr,   ra   s        r-   r   SuperInstance.get_filters   sG     "A668**,AG - 9 #s   AA)r   rJ   rE   )
__name__
__module____qualname____firstlineno____doc__r   r   r   r   __static_attributes__r*   r0   r-   r|   r|      s    7": r0   r|   z[type[, value]], /)r]   c                     S n[        U[        5      (       a  UR                  nO![        U[        5      (       a  UR                  nUc  [        $ [        [        UR                  U5      15      $ rE   )
isinstancer   r   r   r   r   r|   rJ   )typesrr   rT   r   s       r-   builtins_superr      s`    H':;;##	G3	4	4##]8#;#;XFGHHr0   c                   N   ^  \ rS rSrU 4S jrSS jr\" S5      S 5       rSrU =r	$ )ReversedObject   c                 0   > [         TU ]  U5        X l        g rE   )superr   
_iter_list)r   reversed_obj	iter_list	__class__s      r-   r   ReversedObject.__init__   s    &#r0   c                     U R                   $ rE   r   )r   contextualized_nodes     r-   
py__iter__ReversedObject.py__iter__  s    r0   re   c                 P    [         R                  " S U R                   5       5      $ )Nc              3   @   #    U  H  oR                  5       v   M     g 7frE   rH   .0rM   s     r-   	<genexpr>'ReversedObject._next.<locals>.<genexpr>	  s      "
1@:s   )r   	from_setsr   r   r)   s     r-   _nextReversedObject._next  s&    !! "
15"
 
 	
r0   r   rE   )
r   r   r   r   r   r   r    r   r   __classcell__r   s   @r-   r   r      s&    $ J
  
r0   r   zsequence, /r_   r[   c           
         [        UR                  5       5      u  p4S n[        U[        5      (       a   [	        UR
                  UR                  5      n[        U R                  U5      5      nUR                  R                  R                  S5      R                  5       u  n[        [        U[        [        U5      5      5      /5      $ )NIterator)r   rG   r   r   r   rT   datarF   iteraterJ   typing_modulerg   rh   r   r   reversed)	sequencesr,   r)   rL   rM   cnorderedseqs           r-   builtins_reversedr     s    
 9++-.OC	B*m,,
 2 2JOOD9$$R()G   ..AA*MaacDC^Chw.?)@ABCCr0   zvalue, type, /)r[   r^   c                 \  ^^ [        5       nU  GHf  nUR                  5       n UR                    [	        UR                  5       5      mU GH%  nUR                  5       (       a  UR                  UT;   5        M/  UR                  R                  S:X  at  UR                  5       R                  5       (       aQ  [        R                  " S UR                  5        5       5      nUR                  [        U4S jU 5       5      5        M  [	        UR!                  5       5      S   u  p[#        U
[$        5      (       d  M  U
R&                  nSU-  n[(        R                  " U
R*                  SX5        GM(     GMi     [        U4S	 jU 5       5      $ ! [         a    [        SS/5      n   M0  f = f)
NTFrU   c              3   B   #    U  H  nUR                  5       v   M     g 7frE   r   r   s     r-   r   &builtins_isinstance.<locals>.<genexpr>7  s#      -&:
 $$&&&:s   c              3   ,   >#    U  H	  oT;   v   M     g 7frE   r*   )r   clsmros     r-   r   r   ;  s     $C7CCZ7s      z[TypeError: isinstance() arg 2 must be a class, type, or tuple of classes and types, not %s.ztype-error-isinstancec              3   d   >#    U  H%  n[         R                  " T[        U5      5      v   M'     g 7frE   )r   builtin_from_namestr)r   r   rJ   s     r-   r   r   E  s,      A 	""?CF;;s   -0)setrw   r   r<   rF   	py__mro__is_classaddr2   r3   get_root_contextr5   r   r   r   anyrG   r   r   r   r   rT   )rr   r   r)   rJ   bool_resultsor   
cls_or_tupclasses_rM   nodemessager   s      `         @r-   builtins_isinstancer   !  sm   5Lmmo	OO 3==?#J""$$  s!23,,7"335HHJJ",, -&0&8&8&:-    $C7$C!CD $Y%5%5%7 8 ;j-88%??D(*45G LL!3!35Ld\%   B    ;  	 e}-L	s   FF+*F+c                       \ rS rSrS rSrg)StaticMethodObjectiK  c                 .    [        U R                  /5      $ rE   )r   _wrapped_valuer   r   class_values      r-   	py__get__StaticMethodObject.py__get__L  s    ,,-..r0   r*   Nr   r   r   r   r   r   r*   r0   r-   r   r   K  s    /r0   r   c                 &    [        S U  5       5      $ )Nc              3   8   #    U  H  n[        U5      v   M     g 7frE   )r   )r   ra   s     r-   r   (builtins_staticmethod.<locals>.<genexpr>R  s     =9a&q))9   r   )	functionss    r-   builtins_staticmethodr   P  s    =9===r0   c                   .   ^  \ rS rSrU 4S jrS rSrU =r$ )ClassMethodObjectiU  c                 0   > [         TU ]  U5        X l        g rE   r   r   	_function)r   class_method_objfunctionr   s      r-   r   ClassMethodObject.__init__V  s    )*!r0   c           
          [        U R                  R                  S5       Vs/ s H  n[        X2U R                  5      PM     sn5      $ s  snf )N__get__)r   r   rg   ClassMethodGetr   )r   r   r   r   s       r-   r   ClassMethodObject.py__get__Z  sK    ..AA)L
L 7@L
  	 
s    A
r   )r   r   r   r   r   r   r   r   r   s   @r-   r   r   U  s    " r0   r   c                   4   ^  \ rS rSrU 4S jrS rS rSrU =r$ )r   ia  c                 <   > [         TU ]  U5        X l        X0l        g rE   )r   r   _classr   )r   
get_methodklassr   r   s       r-   r   ClassMethodGet.__init__b  s    $!r0   c                     U R                   R                  5        Vs/ s H  oR                  U R                   5      PM     sn$ s  snf rE   )r   get_signaturesbind)r   sigs     r-   r  ClassMethodGet.get_signaturesg  s4    48NN4Q4Q4ST4SS(4STTTs   $Ac                 `    U R                   R                  [        U R                  U5      5      $ rE   )r   rC   ClassMethodArgumentsr   r   s     r-   
py__call__ClassMethodGet.py__call__j  s#    ~~%%&:4;;	&RSSr0   )r   r   )	r   r   r   r   r   r  r	  r   r   r   s   @r-   r   r   a  s    "
UT Tr0   r   c                   2   ^  \ rS rSrU 4S jrSS jrSrU =r$ )r  in  c                 0   > [         TU ]  U5        Xl        g rE   )r   r   r   )r   r   r)   r   s      r-   r   ClassMethodArguments.__init__o  s    #r0   c              #      #    S [        U R                  5      4v   U R                  R                  U5       H  nUv   M	     g 7frE   )r   r   _wrapped_argumentsrG   )r   r@   valuess      r-   rG   ClassMethodArguments.unpacks  s9     N4;;///--44T:FL ;s   AA)r   rE   )r   r   r   r   r   rG   r   r   r   s   @r-   r  r  n  s     r0   r  c                 H   ^  [        U 4S jUR                  US9 5       5      $ )Nc              3   N   >#    U  H  nT  H  n[        X5      v   M     M     g 7frE   )r   )r   class_method_objectr   r   s      r-   r   'builtins_classmethod.<locals>.<genexpr>{  s/      #H!H 	-88! 	9#H   "%r(   r   r	  )r   r,   r)   s   `  r-   builtins_classmethodr  y  s+     #(#3#3i#3#H  r0   c                   z   ^  \ rS rSrSrU 4S jrS r\" S5      \" S5      \" S5      S 5       5       5       rS	r	U =r
$ )
PropertyObjecti  propertyc                 0   > [         TU ]  U5        X l        g rE   r   )r   property_objr   r   s      r-   r   PropertyObject.__init__  s    &!r0   c                 V    Uc  [        U /5      $ U R                  R                  U5      $ rE   )r   r   rh   r   s      r-   r   PropertyObject.py__get__  s*    TF##~~11(;;r0   deletergettersetterc                     [        U 15      $ rE   r   r   s     r-   _return_selfPropertyObject._return_self  s     r0   r   )r   r   r   r   api_typer   r   r    r%  r   r   r   s   @r-   r  r    sE    H"<
 IHH     r0   r  func, /)r\   c                 8   ^  [        U 4S jU" 5        5       5      $ )Nc              3   N   >#    U  H  nT  H  n[        X5      v   M     M     g 7frE   )r  )r   property_valuer   r   s      r-   r   $builtins_property.<locals>.<genexpr>  s-      (N!H 	~00! 	1(r  r   )r   r+   s   ` r-   builtins_propertyr-    s     &j  r0   c                    U R                   nSn[        X1S5       H  n[        U5      nUc  M  Un  O   [        X1S5      nU(       d  [        $ [	        U5      S   n[        U5      n	U	b!  U	R                  SS5      R                  5       n
O[        U[        R                  5      (       aZ  UR                  5        VVs/ s H&  nUR                  5         H  n[        U5      PM     M(     n
nnU
 Vs/ s H	  oc  M  UPM     n
nO[        $ [        R                  U[        U
5      [        U
5      [!        [        U
5      5      R                  SS5      SS SS	R#                  S
 [%        U
5       5       5      S9nUR&                  R)                  U5      n[+        UR-                  5       5      n[/        X?[0        R2                  " USS9S9R5                  5       n[7        [9        UUU5      /5      $ s  snnf s  snf )z
Implementation of the namedtuple function.

This has to be done by processing the namedtuple class template and
inferring the result.

jedi_unknown_namedtupler   r   , ' 
c              3   L   #    U  H  u  p[         R                  XS 9v   M     g7f))rK   r2   N)_NAMEDTUPLE_FIELD_TEMPLATEformat)r   rK   r2   s      r-   r   )collections_namedtuple.<locals>.<genexpr>  s(      C0A 8>>U>V0As   "$)typenamefield_names
num_fieldsarg_listrepr_fmt
field_defsT)keepends)
code_lines)rJ   rN   r   r   rF   replacesplitr   r   Sequencer   rH   _NAMEDTUPLE_CLASS_TEMPLATEr8  rU   lenreprjoin	enumerategrammarparser   iter_classdefsr   parsosplit_lines
as_contextr   r   )r,   r)   r+   rJ   r2   cxparam_values_fieldsrt   fieldsrM   vra   codemodulegenerated_classr4   s                     r-   collections_namedtuplerY    s    ++O %D?q9A=D	 : !Q?L< #GW%FS)//1	GX..	/	/ &002
2
%%' A' 2 	 

 $5V!V5 &,,&Mv;eFm$,,S"5a;99 C09&0AC C - D $$**40F60023O $$TD9 jl 
 ZQRSS9

 6s   <-G-0G3:G3c                   J   ^  \ rS rSrS	U 4S jjrS rS rS rS rS r	Sr
U =r$ )
PartialObjecti  c                 <   > [         TU ]  U5        X l        X0l        g rE   )r   r   
_argumentsr   )r   actual_valuer)   r   r   s       r-   r   PartialObject.__init__  s    &#!r0   c                     [        US5      u  p#Uc  Uc"  [        R                  " SU R                  5        g UR	                  5       $ )N)NNz(Partial should have a proper function %s)r   r   rq   r]  rH   )r   unpacked_argumentsrL   rM   s       r-   _get_functionsPartialObject._get_functions  s@    1<@?j0MMDdooV!!r0   c                 D   U R                   R                  5       nU R                  U5      nUc  / $ SnU R                  b  Sn[	        5       nU H   u  pVUc  US-  nM  UR                  U5        M"     UR                  5        Vs/ s H  n[        XsU5      PM     sn$ s  snf )Nr   r   )r]  rG   rb  r   r   r   r  PartialSignature)r   ra  funcs	arg_countkeysrL   r   ss           r-   r  PartialObject.get_signatures  s    !__335##$67=I	>>%Iu(FC{Q		 )
 ?D>R>R>TU>T t4>TUUUs   Bc                     U R                  U R                  R                  5       5      nUc  [        $ UR	                  [        U R                  XR                  5      5      $ rE   )rb  r]  rG   r   rC   MergedPartialArgumentsr   )r   r)   rf  s      r-   r	  PartialObject.py__call__  sM    ##DOO$:$:$<==}}"4??I~~N
 	
r0   c                     U R                  U R                  R                  5       5      nUc  gU H  nUR                  5       s  $    g)z
In CPython partial does not replace the docstring. However we are still
imitating it here, because we want this docstring to be worth something
for the user.
r3  )rb  r]  rG   	py__doc__)r   	callables	callable_s      r-   ro  PartialObject.py__doc__  sF     ''(>(>(@A	"I&&(( #r0   c                     [        U /5      $ rE   r   r   s      r-   r   PartialObject.py__get__  s    r0   )r]  r   rE   )r   r   r   r   r   rb  r  r	  ro  r   r   r   r   s   @r-   r[  r[    s'    "
"V"
   r0   r[  c                       \ rS rSrS rSrg)PartialMethodObjecti  c                 v    Uc  [        U /5      $ [        [        U R                  U R                  U5      /5      $ rE   )r   r[  r   r]  r   s      r-   r   PartialMethodObject.py__get__  s6    TF##t':':DOOXVWXXr0   r*   Nr   r*   r0   r-   rv  rv    s    Yr0   rv  c                   2   ^  \ rS rSrU 4S jrSS jrSrU =r$ )re  i  c                 <   > [         TU ]  U5        X l        X0l        g rE   )r   r   _skipped_arg_count_skipped_arg_set)r   wrapped_signatureskipped_arg_countskipped_arg_setr   s       r-   r   PartialSignature.__init__  s    *+"3 /r0   c                     U R                   R                  5       U R                  S  nU Vs/ s H   o3R                  U R                  ;  d  M  UPM"     sn$ s  snf rE   )_wrapped_signatureget_param_namesr{  r3   r|  )r   resolve_starsrs   ns       r-   r   PartialSignature.get_param_names  sK    ''779$:Q:Q:RS O5aMM9N9N$N5OOOs   AA)r{  r|  Fr   r   r   r   r   r  r   r   r   s   @r-   re  re    s    0
P Pr0   re  c                   (    \ rS rSrSS jrSS jrSrg)rl  i"  Nc                 (    Xl         X l        X0l        g rE   )_partial_arguments_call_argumentsr   )r   partial_argumentscall_argumentsr   s       r-   r   MergedPartialArguments.__init__#  s    "3-!r0   c              #     #    U R                   R                  U5      n[        US 5        U R                  b  S [	        U R                  5      4v   U H  nUv   M	     U R
                  R                  U5       H  nUv   M	     g 7frE   )r  rG   r   r   r   r  )r   funcdefunpackedkey_lazy_values       r-   rG   MergedPartialArguments.unpack(  sw     **11': 	Xt>>%t~~666&N   '"2299'BN   Cs   BB)r  r   r  rE   )r   r   r   r   r   rG   r   r*   r0   r-   rl  rl  "  s    "

!r0   rl  c                 L   ^ [        U4S jU R                  T5       5       5      $ )Nc              3   <   >#    U  H  n[        UT5      v   M     g 7frE   )r[  r   r   r)   s     r-   r   $functools_partial.<locals>.<genexpr>6  s"      3H 	h	**3   r  r,   r)   r+   s    ` r-   functools_partialr  5  (     ((3  r0   c                 L   ^ [        U4S jU R                  T5       5       5      $ )Nc              3   <   >#    U  H  n[        UT5      v   M     g 7frE   )rv  r  s     r-   r   *functools_partialmethod.<locals>.<genexpr>=  s"      3H 	Hi003r  r  r  s    ` r-   functools_partialmethodr  <  r  r0   zfirst, /c                     U $ rE   r*   )firstss    r-   _return_first_paramr  C  s    Mr0   r   c                 <    [         R                  " S U  5       5      $ )Nc              3   r   #    U  H-  nUR                  5         H  nUR                  5       v   M     M/     g 7frE   )r   rH   )r   sequencerM   s      r-   r   !_random_choice.<locals>.<genexpr>J  s9      !H"--/J 	/ 	!s   57)r   r   )r   s    r-   _random_choicer  H  s"     !  r0   c                     [        U R                  US5       H;  nUR                  5       (       a  [        [	        U5      /5      s  $ [        U /5      s  $    [
        $ r   )rN   rJ   r   r   DataclassWrapperr   )r,   r)   r+   rP  s       r-   
_dataclassr  Q  sP    500)Q?::<<-a0122UG$$	 @
 r0   c                       \ rS rSrS rSrg)r  iZ  c                    / n[        [        U R                  5       5      5       GH  n[        U[        5      (       d  M  UR                  5       R                  5       n[        UR                  5       S S9 H  nUR                  R                  5       nUR                  S   nUR                  S:X  d  M>  UR                  S:X  d  MP  [        UR                  5      S:  a  S nOUR                  S   nUR                  [        UR                   UR                  UR                  S   US95        M     GM     [#        WU5      /$ )	Nc                     U R                   $ rE   )	start_pos)r2   s    r-   <lambda>1DataclassWrapper.get_signatures.<locals>.<lambda>c  s    dnnr0   )rL   r   	expr_stmt	annassign      )r4   	tree_nameannotation_nodedefault_node)r   rF   r   r   r  rO  get_global_filtersortedr  r  get_definitionchildrentyperF  appendDataclassParamNamer4   DataclassSignature)r   param_namesr   filter_r2   dr  defaults           r-   r  DataclassWrapper.get_signatures[  s   D!123C#/00..*<<> #7>>#39TUD557A !

1Ivv,;1Ny112Q6&*G&/&8&8&;G#**+=+.+=+=&*nn,5,>,>q,A)0	,  V 4( #3455r0   r*   N)r   r   r   r   r  r   r*   r0   r-   r  r  Z  s    6r0   r  c                   2   ^  \ rS rSrU 4S jrSS jrSrU =r$ )r  it  c                 0   > [         TU ]  U5        X l        g rE   )r   r   _param_names)r   r,   r  r   s      r-   r   DataclassSignature.__init__u  s    'r0   c                     U R                   $ rE   r  )r   r  s     r-   r  "DataclassSignature.get_param_namesy  s       r0   r  r  r  r   s   @r-   r  r  t  s    (! !r0   r  c                   4   ^  \ rS rSrU 4S jrS rS rSrU =r$ )r  i}  c                 <   > [         TU ]  X5        X0l        X@l        g rE   )r   r   r  r  )r   r4   r  r  r  r   s        r-   r   DataclassParamName.__init__~  s    3.(r0   c                 "    [         R                  $ rE   )r   POSITIONAL_OR_KEYWORDr   s    r-   get_kindDataclassParamName.get_kind  s    ...r0   c                 r    U R                   c  [        $ U R                  R                  U R                   5      $ rE   )r  r   r4   
infer_noder   s    r-   rH   DataclassParamName.infer  s1    '&&11$2F2FGGr0   )r  r  )	r   r   r   r   r   r  rH   r   r   r   s   @r-   r  r  }  s    )
/H Hr0   r  c                   D   ^  \ rS rSrU 4S jr\" S5      S 5       rSrU =r$ )ItemGetterCallablei  c                 0   > [         TU ]  U5        X l        g rE   )r   r   _args_value_set)r   r   args_value_setr   s      r-   r   ItemGetterCallable.__init__  s    "-r0   zitem, /c                    [         nU R                   H  n[        UR                  5       5      n[	        U5      S:X  a'  X!R                  US   R                  5       S 5      -  nMR  U[        [        R                  " U R                  R                  U Vs/ s H,  n[        UR                  UR                  5       S 5      5      PM.     sn5      /5      -  nM     U$ s  snf )Nr   r   )r   r  rF   r   rF  get_itemrH   r   r   FakeListr   rJ   r   )r   item_value_set	value_set
args_valuelazy_valuesrM   s         r-   r	  ItemGetterCallable.py__call__  s    	..Jz4467K;1$44[^5I5I5KTRR	Xx'8'8''77 +6*5J ((?(?
@P@P@RTX(YZ*5( '  	 / s   3C)r  )	r   r   r   r   r   r	   r	  r   r   r   s   @r-   r  r    s!    . !+ ,r0   r  c                 &    [        S U  5       5      $ )Nc              3   8   #    U  H  n[        U5      v   M     g 7frE   )WrapsCallable)r   r@   s     r-   r   #_functools_wraps.<locals>.<genexpr>  s     :EDM$''Er   r   )rf  s    r-   _functools_wrapsr    s    :E:::r0   c                   0    \ rS rSr\" S5      S 5       rSrg)r  i  r(  c           	      j    [        U Vs1 s H  n[        X R                  5      iM     sn5      $ s  snf rE   )r   Wrappedr   )r   rf  r@   s      r-   r	  WrapsCallable.py__call__  s*    N':':;NOONs   0r*   N)r   r   r   r   r	   r	  r   r*   r0   r-   r  r    s     !+P ,Pr0   r  c                   >   ^  \ rS rSrU 4S jr\S 5       rS rSrU =r	$ )r  i  c                 0   > [         TU ]  U5        X l        g rE   )r   r   _original_function)r   r@   original_functionr   s      r-   r   Wrapped.__init__  s    "3r0   c                 .    U R                   R                  $ rE   )r  r2   r   s    r-   r2   Wrapped.name  s    &&+++r0   c                     U /$ rE   r*   r   s    r-   get_signature_functionsWrapped.get_signature_functions  s	    vr0   )r  )
r   r   r   r   r   r  r2   r  r   r   r   s   @r-   r  r    s&    4 , , r0   r  z*args, /c           	      t    [        UR                  U5       Vs/ s H  n[        X05      PM     sn5      $ s  snf rE   )r   r	  r  )r  r,   r)   r   s       r-   _operator_itemgetterr    s?    ((33H 	843   s   5c                 0   ^  [        SSSS9U 4S j5       nU$ )Nz	string, /Tr   c                 h   >^  UU 4S jn[        U" 5       5      nU(       a  U$ UR                  U5      $ )Nc               3      >#    T H>  n [        U 5      nUc  M  T" U5      n[        R                  " U R                  U5      v   M@     g 7frE   )r   r   create_simple_objectrJ   )r,   ri  r@   stringss     r-   r   ?_create_string_input_function.<locals>.wrapper.<locals>.iterate  sA      #E*=QA"778M8MqQQ	 !s
   A	0A	r  )r  r,   r)   r   r  r@   s   `    r-   rA   ._create_string_input_function.<locals>.wrapper  s0    	R ')$M	**r0   )rc   r@   rA   s   ` r-   _create_string_input_functionr    s&    [T$G
+ H
+ Nr0   c                    [        U 5      S:X  a  SnU u  nSnUR                  5        H|  nUR                  5       n[        U5      S:w  a    U" 5       $ [        [	        [        U5      5      5      nUc    U" 5       $ U(       d  U[        R                  R                  -  nX'-  nSnM~     [        [        R                  " UR                  U5      /5      $ U" 5       $ )Nr   r3  TF)rF  r   rH   r   r   r   ospathsepr   r   r  rJ   )args_setr+   rt   r  is_firstrM   string_valuesri  s           r-   _os_path_joinr
    s    
8}	"--/J&,,.M=!Q& :  T-%8 9:Ay : "''++%KFH 0 X::8;S;SU[\]^^:r0   )
getattrr  r   r   r   r   r   staticmethodclassmethodr  )copydeepcopyc                     [         $ rE   r   r  s      r-   r  r     s    9r0   c                     [         $ rE   r  r  s      r-   r  r    s    Ir0   )loadloads
namedtuple)partialpartialmethodwrapsproxychoice
itemgetterabstractmethodc                     [         $ rE   r  r  s      r-   r  r    s    Yr0   c                     [         $ rE   r  r  s      r-   r  r     s    	r0   )_aliasruntime_checkable	dataclass)definefrozen)dirnameabspathrelpathrH  )r1   r  jsoncollections	functools_weakrefrandomoperatorabctypingdataclassesattrattrsos.pathc                    ^  U 4S jnU$ )Nc                 f  > U H  nUR                  5       S:X  d  M  UR                  5       R                  5       S:X  d  M=  [        U R                  5       S9n[	        UR                  5        Vs0 s H#  nUR                  [        X5      R                  _M%     sn5      /s  $    T" XU5      $ s  snf )NEnumMetaenum)r4   )	r7   r   r!   rO  r"   r  r3   EnumInstancer2   )r   metaclassesr9   	metaclassr  r2   r@   s         r-   rA   &get_metaclass_filters.<locals>.wrapper;  s    $I##%3!224??AVK*#..:JK" ' 0$ 0 $$l3&=&B&BB 0$   	 % Ck22	$s   /*B.
r*   r  s   ` r-   get_metaclass_filtersr;  :  s    	3 Nr0   c                   :    \ rS rSrS r\S 5       rS rSS jrSr	g)	r7  iH  c                 t    UR                   U l         Xl        X l        U R                  R                  U l        g rE   )rJ   _cls_namer  	tree_node)r   r   r2   s      r-   r   EnumInstance.__init__I  s+    "22	
--r0   c                 @    [        X R                  R                  5      $ rE   )r   r?  r  r   s    r-   r2   EnumInstance.nameO  s    zz3344r0   c                    U R                   R                  nUR                  S5      (       a  UR                  S5      (       d  U R                   R                  S:X  a^  U R                   R                  5       nU(       a  [        [        U5      5      $ U R                  R                  R                  S5      u  nU$ U R                  R                  5       u  nU$ )N__r   object)r?  r3   
startswithendswithr'  rH   r   r   rJ   builtins_modulerg   r>  rh   )r   r  inferredr   r,   s        r-   r   EnumInstance._get_wrapped_valueS  s    JJ""<<!**T"2"2djj6I6IZ6Wzz'')HDN++%%55HHRBAH..0r0   Nc              #     #    [        [        [        R                  " U R                  U R
                  R                  5      R                  U R
                  S95      v   U R                  5       R                  5        H  nUv   M	     g 7f)N)r2   r,   )
r"   dictr   r  rJ   r?  r3   r2   r   r   )r   r   ra   s      r-   r   EnumInstance.get_filters_  si     ..t/C/CTZZE[E[\aa**
  	 ((*668AG 9s   BB	)r>  r?  rJ   r@  rE   )
r   r   r   r   r   r   r2   r   r   r   r*   r0   r-   r7  r7  H  s%    . 5 5
r0   r7  c                    ^  U 4S jnU$ )Nc                    > UR                   S:X  ab  UR                  5       (       aM  UR                  5       S:X  a9  [        [        R
                  " U [        R                  R                  5      15      $ T" XU5      $ )Nr  r2  )	r,   r6   r7   r   r   r  r  r  r  )rJ   rT   r  r@   s      r-   rA   $tree_name_to_values.<locals>.wrapperi  sg    ??e#(9(9(;(;@R@R@TXa@a--orww{{K   Oi88r0   r*   r  s   ` r-   tree_name_to_valuesrR  h  s    9 Nr0   )FFFFFrE   )fr   rM  r  inspectr   jedir   jedi.inference.utilsr   jedi.inference.helpersr   jedi.inference.argumentsr   r   r	   r
   r   jedi.inferencer   r   jedi.inference.value.instancer   r   jedi.inference.base_valuer   r   r   r   r   jedi.inference.valuer   r   jedi.inference.value.klassr   jedi.inference.value.functionr   r   jedi.inference.lazy_valuer   r   r   jedi.inference.namesr   r   jedi.inference.filtersr   r    r!   r"   jedi.inference.signaturer#   r$   rE  r7  rC   rN   rc   rk   ro   ru   rz   r|   r   r   r   r   r   r   r   r   r  r  r  r-  rY  r[  rv  re  rl  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r$  r%  r&  r:   r;  r7  rR  r*   r0   r-   <module>rb     sX  
  	   . 2I I # #<8 8 8 1 7 )  =! ! H9 v 
 F" CH?D"' F )EU FU )*W +W
 -.
 /
 +,% -%$ 0 %D9I :I
' 
 4ED FD$ !$TR& S&R/ /
 >  >	 	
T\ 
T/  4E F '  & $/ 07Tt5 L 5 pY- YP' P!. !&    6|Z 64!* !H* H  0 ; ;PL P
lM 
 TB C  40 1. $%)-+% $'
 ==
 	, %0! 	$ 	. 	* 	- ? J 	Z 
 
 1A0A0A	GIX# @r0   