+
    ^|iD                       a R` t0 t ^ RIHt ^ RIHtHtHtHt ^ RIHtH	t	H
t
HtHtHtHtHtHtHtHtHt ^ RIHtHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH t H!t! ^ RI"H#t#H$t$H%t% ^ R	I&H't' ^ RI"t"^ R
IH(t(H)t)H*t* ^ RIH+t+ ]' ! R R]4      4       t,]' ! R R]4      4       t-]' ! R R]4      4       t.]' ! R R]4      4       t/]].]/3,          t0R R lt1]']  ! R R4      4       4       t2R R lt3R R lt4R t5R R lt6]']  ! R R ]24      4       4       t7 ! R! R"]4      t8]
Ra,          t9]  ! R& R'4      4       t: ! R( R)4      t;];! 4       t<R*t=]! 4       t>]?! 4       t@ ! R+ R,]A4      tBR- R. ltC]P                  Rb]P                  Rc]P                  Rd]P                  Re]P                  Rf]P                  Rg]P                  Rh]P                  Ri]P                  Rj]P                  Rk]P                  Rl]P                  Rm]P                  Rn/tQ] ^ k ]P                  Ro]P                  Rp]P                  Rq]P                  Rr]P                  Rs]P                  Rt]P                  Ru/tY] ^k ]P                  Rv]P                  Rw]P                  Rx]P                  Ry/t^] ^k ]_]`]a]b]c3td ! R/ R04      te ! R1 R24      tfR3 R4 ltgR5 R6 lthR7 R8 ltiR9 R: ltjR; R< ltkR= tlR> R? ltmR@ RA ltnRB RC ltoRD RE ltpRF RG ltqRH RI ltrRJ RK ltsRL ttRM RN ltuRO RP ltv ! RQ RR]_4      twRzRS RT lltxRU RV ltyRW RX ltzRY t{0 R}mt|]_]}]~]`]b]]f]EP                   ]EP                  ]EP                  ]EP                  ]EP                  ]EP
                  ]EP                  ]8];0t] ^k R~RZ ltRtRt]a! ]! ]a4      4      ]a! ]! ]c4      4      ,          t]! / EP                  4       4      t] ^k ]! / EP                  4       4      t] ^k ]! / EP#                  4       4      t] ^k ]]]0t0 ]~k]! ]~4      m]~EP.                  k]_k]! ]_]4      m]_EP.                  k]EP.                  k]EP.                  k]EP.                  k]EP0                  k]`k]! ]`]4      m]`EP.                  k]ak]! ]a]4      m]aEP.                  k]ck]! ]c4      m]cEP.                  k]k]EP.                  k]}k]! ]}4      m]}EP.                  k]bk]! ]b4      m]bEP.                  k]k]! ]4      m]m] U Uu. uF  p ]! V 4       F  qNK  	  K  	  upp m]EP                  k]! ]EP                  ]4      m]EP                  EP.                  k]EP                   k]! ]EP                   ]4      m]EP                   EP.                  k]EP                  k]! ]EP                  ]4      m]EP                  EP.                  k]EP                  k]! ]EP                  ]4      m]EP                  EP.                  k]EP
                  k]! ]EP
                  ]4      m]EP
                  EP.                  k]EP                  k]! ]EP                  ]! ]}4      4      m]EP                  EP.                  k]EP6                  k]! ]EP6                  ]4      m]EP6                  EP.                  k]EP6                  EP8                  k]EP6                  EP:                  k]?EP<                  k]EP<                  k]fEP<                  kt0 ]m]ak]ck]?k]k]m]k]#k]$kt] ^k 0 ]mtR#]2! R[R\R\R\R\]a! 4       R\R\R]7      R$]7! ]]|]R{R|0]R[R[R[R[]R^7
      R%]2! R[R[R[R[R[R[R[R_7      /t. ROtR# u upp i )    )copy)isclass	signature	Signature	getmodule)	AnnotatedAnyStrLiteral
NamedTupleNewTypeOptionalProtocol	TypeGuardUnionget_args
get_originis_typeddict)CallableSequenceN)cached_property)	dataclassfield)MethodDescriptorType
ModuleType
MethodType)undoc)SelfLiteralStringget_type_hints)TypeAliasTypec                   2   a  ] tR t^&t o V 3R lR ltRtV tR# )
HasGetItemc                   < V ^8  d   QhRR/#    returnN )format__classdict__s   ";/usr/lib/python3/dist-packages/IPython/core/guarded_eval.py__annotate__HasGetItem.__annotate__(         $     c                    R # Nr'   selfkeys   &&r*   __getitem__HasGetItem.__getitem__(       r.   r'   N)__name__
__module____qualname____firstlineno__r4   __static_attributes____classdictcell__r)   s   @r*   r"   r"   &         r.   r"   c                   2   a  ] tR t^,t o V 3R lR ltRtV tR# )InstancesHaveGetItemc                    < V ^8  d   QhRS[ /# r%   r&   )r"   )r(   r)   s   "r*   r+   !InstancesHaveGetItem.__annotate__.   s      : r.   c                    R # r0   r'   )r2   argskwargss   &*,r*   __call__InstancesHaveGetItem.__call__.   r6   r.   r'   N)r7   r8   r9   r:   rG   r;   r<   r=   s   @r*   r@   r@   ,   r>   r.   r@   c                   2   a  ] tR t^2t o V 3R lR ltRtV tR# )
HasGetAttrc                   < V ^8  d   QhRR/# r$   r'   )r(   r)   s   "r*   r+   HasGetAttr.__annotate__4   r-   r.   c                    R # r0   r'   r1   s   &&r*   __getattr__HasGetAttr.__getattr__4   r6   r.   r'   N)r7   r8   r9   r:   rN   r;   r<   r=   s   @r*   rJ   rJ   2   r>   r.   rJ   c                       ] tR t^8tRtR# )DoesNotHaveGetAttrr'   N)r7   r8   r9   r:   r;   r'   r.   r*   rQ   rQ   8   s    r.   rQ   c                J    V ^8  d   QhR\         R\        \         R3,          /# )r%   funcr&   N)r   r   )r(   s   "r*   r+   r+   A   s#       eHdN&; r.   c                    \        V RR4      p\        V4      p\        V RR4      p\        VRR4      pVe*   V'       d"   V'       d   V'       d   W49  d   \        W#4      # R# )zuGet unbound method for given bound method.

Returns None if cannot get unbound method, or method is already unbound.
__self__Nr7   __dict__)getattrtype)rS   ownerowner_classnameinstance_dict_overridess   &    r*   _unbind_methodr]   A   s\    
 D*d+Eu+K4T*D%eZ>''D,O {))r.   c                      a  ] tR t^Vt o RtRtRtRtRtRt	Rt
RtRt]! ]R7      tR tR tRV 3R lR lltR	 tV 3R
 ltRtV tR# )EvaluationPolicyz Definition of evaluation policy.Fdefault_factoryc                    V P                   # r0   )allow_item_access)r2   valueitems   &&&r*   can_get_itemEvaluationPolicy.can_get_iteme       %%%r.   c                    V P                   # r0   )allow_attr_access)r2   rd   attrs   &&&r*   can_get_attrEvaluationPolicy.can_get_attrh   rh   r.   Nc                4   < V ^8  d   QhRS[ S[R3,          /# r%   dunders.tuplestr)r(   r)   s   "r*   r+   EvaluationPolicy.__annotate__k   s      5c? r.   c                .    V P                   '       d   R # R# TN)allow_all_operations)r2   rp   abs   &&&&r*   can_operateEvaluationPolicy.can_operatek   s    $$$ %r.   c                    V P                   '       d   R # WP                  9   d   R # \        V4      pV'       d   W P                  9   d   R # R# R# rv   )allow_any_callsallowed_callsr]   )r2   rS   owner_methods   && r*   can_callEvaluationPolicy.can_callo   sB    %%%%d+L,>,>> ?<r.   c                   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[S[,          ;R	&   # )
r%   allow_locals_accessallow_globals_accessrc   rj   allow_builtins_accessrw   r}   allow_auto_importr~   )boolsetr   )r(   r)   s   "r*   r+   rt   V   s~     
 %  &  #  #   '  &  !  #  x== r.   r'   r0   )r7   r8   r9   r:   __doc__r   r   rc   rj   r   rw   r}   r   r   r   r~   rf   rl   rz   r   __annotate_func__r;   r<   r=   s   @r*   r_   r_   V   sc      + %!&##"'!&!O##(#=M&& 
3  r.   r_   c                F    V ^8  d   QhR\         R\        \         ,          /# )r%   module_nameaccess_pathrs   r   )r(   s   "r*   r+   r+   |   s      s # r.   c                    \         P                  V ,          pV F  p\        W#4      pK  	  V#   \        \        3 dE    RP                  T .TO4      pT\         P                  9   d   \         P                  T,          u # h i ; i)zGet value from external module given a dotted access path.

Only gets value if the module is already imported.

Raises:
* `KeyError` if module is removed not found, and
* `AttributeError` if access path does not match an exported object
.)sysmodulesrW   KeyErrorAttributeErrorjoin)r   r   member_typerk   module_paths   &&   r*   _get_externalr   |   sw    kk+.D!+4K  n% hh:k:;#++%;;{++s   ,/ ABBc                R    V ^8  d   QhR\         R\        \         ,          R\         /# )r%   r   r   method_namer   )r(   s   "r*   r+   r+      s,     / // #/ 	/r.   c                 :   V\         P                  9  d,   R P                  V.VO4      pV\         P                  9  d   R#  \        W4      p\	        V 4      p\	        V 4      V8X  d   R# \        V\        4      '       dw   \        V4      pV'       d   VP                  '       g   R# VP                  VP                  8X  g3   VP                  P                  VP                  R ,           4      '       d   R# VR8X  d   R# \        V\        4      '       g2   \        W4      '       d!   \        WcR4      p\        WSR4      p	W8X  d   R# \        V\        4      '       d   \        WcR4      pVP                  R,           F  p
\        V
4      pV'       g   K  VP                  VP                  8X  g5   VP                  P                  VP                  R ,           4      '       g   Kg  \        WR4      pVf   Ky  W8X  g   K   R# 	  R# R#   \        \        3 d     R# i ; i)r   FT__getattribute__N:   NN)r   r   r   r   rX   
isinstancer   r   r7   
startswithrW   __mro__r   r   )rd   r   r   r   full_module_pathr   
value_typevalue_modulemethodmember_method
base_classbase_modulebase_methods   &&&&         r*   _has_original_dunder_externalr      s    #++%88[$?;$?@3;;.$#K=%[
;+%k:..$Z0L|'<'<'<%%)=)==((33K4H4H34NOO,, +z22z%7U7UZd;F#KdCM&k:..Zd;F(0044
'
3;((K,@,@@"++66{7K7Kc7QRR #**4"HK".;3H# 5 / H% sR   &H *:H 'AH 6H ?AH AH A
H "H 4H <H ?H HHc                     \        V 4      pWQ9   d   R # \        WTR4      pVf   R# Wb9   d   R # V F  vrx\        WW4      '       g   K   R # 	  R# )TNF)rX   rW   r   )	rd   allowed_typesallowed_methodsallowed_externalr   r   r   r   r   s	   &&&&&    r*   _has_original_dunderr      sW    
 eJ "Zd3F~ %5!([VV &6 r.   c                    V ^8  d   QhR\         \        \        R3,          \        ,          ,          R\         \        \        R3,          ,          /# )r%   
allow_list.r&   )r   rr   rs   )r(   s   "r*   r+   r+      s;      E#s(Oc)*sCxr.   c                    V  Uu0 uF5  p\        V\        4      '       d   TM\        VP                  R4      4      kK7  	  up# u upi )z<Replace dotted paths on the provided allow-list with tuples.r   )r   rr   split)r   paths   & r*   _coerce_path_to_tuplesr      sG     D 4''U4::c?-CC  s   ;Ac                   X  a  ] tR t^t o ]! ]R7      t]! ]R7      t]! ]R7      t]! ]R7      t	]! ]R7      t
]! ]R7      t]! ]R7      t]! ]RR7      tR tR tRV 3R lR lltV 3R	 lR
 lt]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       tV 3R lR ltV 3R ltRtV tR# )SelectivePolicyr`   F)ra   initc                D   \        V P                  4      p\        VV P                  V P                  VR R7      p\        VV P                  V P
                  VRR7      pRpVf   V'       d   RpMT;'       d    TpV'       d   \        V4      p\        Wr4      '       g   R# \        Wr4      p\        V\        4      p	V	'       g   R# \        V4      V P                  9   d   R# V F  vr \        W4      p\        W4      pY8H  u # 	  R#   \        \        3 d      R# i ; i)r   r   r   r   r   rN   FT)r   allowed_getattr_externalr   allowed_getattr_getattribute_methods_getattr_methodsrX   hasattrrW   r   propertyr   r   r   )r2   rd   rk   r   has_original_attributehas_original_attracceptvalue_classclass_attr_valis_propertyr   r   external_classexternal_class_attr_vals   &&&           r*   rl   SelectivePolicy.can_get_attr   s+   #9$:W:W#X !5.. 665*"
 1.. 115%
  $)?F 'AA+AF u+K;--$[7N$^X>K E{d222 .F)!%2;%LN.5n.K+ &@@ .F 	 !.1 ! !s   )D		DDc                P   \        V P                  4      pV P                  '       d]   \        V\        P
                  \        P                  34      '       d   R# \        V\        4      '       d   \        VR4      '       d   R# \        VV P                  V P                  VRR7      # )zTAllow accessing `__getiitem__` of allow-listed instances unless it was not modified.T__class_getitem__r4   r   )r   allowed_getitem_externalallow_getitem_on_typesr   typing_SpecialForm_BaseGenericAliasrX   r   r   allowed_getitem_getitem_methods)r2   rd   re   r   s   &&& r*   rf   SelectivePolicy.can_get_item3  s    #9$:W:W#X &&&%&"5"5v7O7O!PQQ%&&75:M+N+N#.. 115%
 	
r.   Nc                4   < V ^8  d   QhRS[ S[R3,          /# ro   rq   )r(   r)   s   "r*   r+   SelectivePolicy.__annotate__E  s     
 
5c? 
r.   c                   \        V P                  4      pV.pVe   VP                  V4       \        V UUu. uF5  pV F,  p\	        VV P
                  V P                  V4      VVR7      NK.  	  K7  	  upp4      # u uppi )Nr   )r   allowed_operations_externalappendallr   allowed_operations_operator_dunder_methods)r2   rp   rx   ry   r   objectsdunderobjs   &&&&    r*   rz   SelectivePolicy.can_operateE  s    &<,,'
# #=NN1 &
 &F"C %"&"9"9$($A$A&$I%@ & # &

 	

s   ;A;
c                6   < V ^8  d   QhRS[ RS[S[,          /# )r%   r   r&   )rs   r   r   )r(   r)   s   "r*   r+   r   Z  s     5 5s 5s8} 5r.   c                    WP                   9  d*   V P                  V P                  V4      V P                   V&   V P                   V,          # r0   )_operation_methods_cache_safe_get_methodsr   )r2   r   s   &&r*   r   (SelectivePolicy._operator_dunder_methodsZ  sG    666484J4J''5D))&1 ,,V44r.   c                0   < V ^8  d   QhRS[ S[,          /# rB   r   r   )r(   r)   s   "r*   r+   r   b       K K#h- Kr.   c                :    V P                  V P                  R 4      # )r4   )r   r   r2   s   &r*   r    SelectivePolicy._getitem_methodsa      %%d&:&:MJJr.   c                0   < V ^8  d   QhRS[ S[,          /# rB   r   )r(   r)   s   "r*   r+   r   f  r   r.   c                :    V P                  V P                  R 4      # )rN   r   r   r   s   &r*   r    SelectivePolicy._getattr_methodse  r   r.   c                0   < V ^8  d   QhRS[ S[,          /# rB   r   )r(   r)   s   "r*   r+   r   j  s     P Ps8} Pr.   c                :    V P                  V P                  R 4      # )r   r   r   s   &r*   r   %SelectivePolicy._getattribute_methodsi  s    %%d&:&:<NOOr.   c                0   < V ^8  d   QhRS[ S[,          /# rB   r   )r(   r)   s   "r*   r+   r   m  s     
 
#h- 
r.   c           	     b    V UUu0 uF  p\        W2R 4      pV'       g   K  VkK  	  upp# u uppi r0   )rW   )r2   classesr[   class_r   s   &&&  r*   r   !SelectivePolicy._safe_get_methodsm  s:     "
!"66 F!
 	
 
s   ++c                \  < V ^8  d   Qh/ S[ S[,          ;R&   S[ S[S[R3,          S[,          ,          ;R&   S[ S[,          ;R&   S[ S[S[R3,          S[,          ,          ;R&   S[ ;R&   S[ S[S[R3,          S[,          ,          ;R&   S[;R&   S[S[S[ S[,          3,          ;R	&   # )
r%   r   .r   r   r   r   r   r   r   )r   r@   rr   rs   MayHaveGetattrr   dictr   )r(   r)   s   "r*   r+   r      s      -.K  "%S/C"78U	  (E  "%S/C"78U  8  "%U38_s%:!;X  !>  #3H#56  r.   r'   r0   )r7   r8   r9   r:   r   r   r   r   r   r   r   r   r   r   r   r   rl   rf   rz   r   r   r   r   r   r   r   r;   r<   r=   s   @r*   r   r      s      27s1KO;@QT;U+0+EO;@QT;U#C8>CTW>X#(#>9>5:6p
$
 
*5 5 K K K K P P
 
I  r.   r   c                       ] tR tRtRtRtR# )_DummyNamedTupleiv  z<Used internally to retrieve methods of named tuple instance.r'   Nr7   r8   r9   r:   r   r;   r'   r.   r*   r   r   v  s    Fr.   r   minimallimitedunsafec                   n   a  ] tR tRt o RtRtRt]! ]R7      t	]! ]R7      t
RtRtRtR tV 3R ltRtV tR# )	EvaluationContexti}  	forbiddenFNr`   c               0    \         P                  ! V 3/ VB # )z8Return a new copy of the context, with specified changes)dataclassesreplace)r2   changess   ",r*   r  EvaluationContext.replace  s    ""43733r.   c                  < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[;R&   S[;R&   S[S[S[,          .S[3,          R,          ;R&   S[ ;R&   S[ ;R&   S[ R,          ;R	&   S[R,          ;R
&   S[P                  R,          ;R&   # )r%   localsglobals
evaluationin_subscriptNauto_importpolicy_overridestransient_localsclass_transientsinstance_arg_namecurrent_value)	r   EvaluationPolicyNamer   r   r   rs   r   astAST)r(   r)   s   "r*   r+   EvaluationContext.__annotate__}  s      L 
 M  %2    8C=/:56=D  8   8! $ Tk(% ( Tz() . 77T>(/ r.   r'   )r7   r8   r9   r:   r  r  r  r   r   r  r  r  r  r  r  r   r;   r<   r=   s   @r*   r  r  }  sM      (3J L@DK"48"48$($( %)M43  r.   r  c                   *   a  ] tR tRt o RtR tRtV tR# )_IdentitySubscripti  z<Returns the key itself when item is requested via subscript.c                    V# r0   r'   r1   s   &&r*   r4   _IdentitySubscript.__getitem__  s    
r.   r'   N)r7   r8   r9   r:   r   r4   r;   r<   r=   s   @r*   r  r    s     F r.   r  __SUBSCRIPT_SENTINEL__c                       ] tR tRtRtRtR# )GuardRejectioni  z7Exception raised when guard rejects evaluation attempt.r'   Nr   r'   r.   r*   r  r    s    Ar.   r  c                0    V ^8  d   QhR\         R\        /# )r%   codecontextrs   r  )r(   s   "r*   r+   r+     s     !$ !$s !$%6 !$r.   c                   VP                   pVP                  R8X  d   \        R4      hVP                  '       d]   V '       g   \	        4       # VP                  4       p\        V\        &   \        R,           V ,           R,           p VP                  VR7      pVP                  R8X  d!   \        WP                  VP                   4      # \        P                  ! V RR7      p\        W14      # )	a#  Evaluate provided code in the evaluation context.

If evaluation policy given by context is set to ``forbidden``
no evaluation will be performed; if it is set to ``dangerous``
standard :func:`eval` will be used; finally, for any other,
policy :func:`eval_node` will be called on parsed AST.
r  zForbidden mode[])r	  	dangerousexec)mode)r	  r  r  r  rr   r   IDENTITY_SUBSCRIPTSUBSCRIPT_MARKERr  evalr
  r  parse	eval_node)r  r   locals_nodes   &&  r*   guarded_evalr/    s     nnG[(-..
 
 7N,,.$6 !#%,s2///1[(D//7>>::99T'DT##r.   c                       ] tR tRtRtRtR# )ImpersonatingDucki  zXA dummy class used to create objects of other classes without calling their ``__init__``r'   Nr   r'   r.   r*   r1  r1    s    br.   r1  c                      a a ] tR tRt oRtRV3R lR lltV3R lR ltV3R lR ltV 3R	 ltV3R
 lR lt	V3R lR lt
R tRtVtV ;t# )_Ducki  zHA dummy class used to create objects pretending to have given attributesc                F   < V ^8  d   QhRS[ S[,          RS[ S[,          /# )r%   
attributesitems)r   r   )r(   r)   s   "r*   r+   _Duck.__annotate__  s#     8 88D> 8$ 8r.   c                F    Ve   TM/ V n         Ve	   W n        R # / V n        R # r0   r5  r6  )r2   r5  r6  s   &&&r*   __init___Duck.__init__  s     (2(>*B#/U
R
r.   c                    < V ^8  d   QhRS[ /# r%   rk   rs   )r(   r)   s   "r*   r+   r7    s     % % %r.   c                (    V P                   V,          # r0   r5  r2   rk   s   &&r*   rN   _Duck.__getattr__  s    t$$r.   c                    < V ^8  d   QhRS[ /# r=  r>  )r(   r)   s   "r*   r+   r7    s     ' ' 'r.   c                    WP                   9   # r0   r@  rA  s   &&r*   __hasattr___Duck.__hasattr__  s    &&r.   c                >   < . \        \        4      OV P                  O# r0   )dirsuperr5  )r2   	__class__s   &r*   __dir___Duck.__dir__  s    .U.doo..r.   c                    < V ^8  d   QhRS[ /# r%   r3   r>  )r(   r)   s   "r*   r+   r7          s r.   c                (    V P                   V,          # r0   r6  r1   s   &&r*   r4   _Duck.__getitem__      zz#r.   c                    < V ^8  d   QhRS[ /# rN  r>  )r(   r)   s   "r*   r+   r7    rO  r.   c                (    V P                   V,          # r0   rQ  r1   s   &&r*   __hasitem___Duck.__hasitem__  rS  r.   c                6    V P                   P                  4       # r0   )r6  keysr   s   &r*   _ipython_key_completions__Duck._ipython_key_completions_  s    zz  r.   r9  )NN)r7   r8   r9   r:   r   r:  rN   rE  rK  r4   rV  rZ  r;   r<   __classcell__rJ  r)   s   @@r*   r3  r3    sI     R8 8% %' '/  ! !r.   r3  c                X    V ^8  d   QhR\         \        \        R3,          R3,          /# )r%   r&   .N)r   rr   rs   )r(   s   "r*   r+   r+     s%      eE#s(OT,A&B r.   c                 f    R pVP                  4        F  w  r4\        W4      '       g   K  TpK  	  V# r0   )r6  r   )node_oprp   r   opcandidate_dunders   &&   r*   _find_dunderrc    s1    F 'g""%F !0 Mr.   c                0    V ^8  d   QhR\         R\        /# )r%   r   r&   )r  r_   )r(   s   "r*   r+   r+      s      ) .> r.   c                     \        \        V P                  ,          4      pV P                  P	                  4        F$  w  r#\        W4      '       g   K  \        WV4       K&  	  V# r0   )r   EVALUATION_POLICIESr  r  r6  r   setattr)r   policyr3   rd   s   &   r*   
get_policyri     sO    %g&8&89:F..446
6F' 7 Mr.   c                <    V ^8  d   QhR\         R\        R\        /# )r%   policy_namer  r&   )r  r   r   )r(   s   "r*   r+   r+   )  s$      %9=	r.   c                     \         V ,          pR pVP                  4        F9  w  rE\        W$4      '       d   K  \        P                  ! RV: RV : R24       RpK;  	  V# )Tz	Override z is not valid with z evaluation policyF)rf  r6  r   warningswarn)rk  r  rh  all_goodr3   rd   s   &&    r*   _validate_policy_overridesrp  )  sa     !-FH&,,.
v##MMC7"5k_DVW H / Or.   c                $    V ^8  d   QhR\         /# rB   )r   )r(   s   "r*   r+   r+   8  s       r.   c                0   \        V \        4      '       d   R# \        V \        P                  4      '       d   R# \	        \        R4      '       d#   \        V \        P
                  4      '       d   R# \        V \        P                  \        P                  34      '       d   R# \        V \        P                  4      '       d   R# \        V \        4      '       d   \	        V R4      '       d   R# \	        \        R4      '       d   \        V 4      e   R# R# )z<
Returns True if obj is a type annotation, False otherwise.
T	UnionTyper   r   F)r   rX   typesGenericAliasr   rs  r   r   r   TypeVarr   )r   s   &r*   _is_type_annotationrw  8  s     #t#u))**uk""z#u'G'G#++V-E-EFGG#v~~&&#t.A!B!Bv|$$C)Dr.   c                D    V ^8  d   QhR\         P                  R\        /# r%   r.  r   )r  Assignr  )r(   s   "r*   r+   r+   P  s#     ^ ^ ^.? ^r.   c           	      	   \        V P                  V4      pVP                  p\        V4      pVP                  pV P
                   EFl  p\        V\        P                  \        P                  34      '       Ed   \        V4      pVP                  p\        V4       U	U
u. uF)  w  r\        V
\        P                  4      '       g   K'  V	NK+  	  pp	p
V'       d
   V^ ,          M
\        V4      p\        V4       FS  p	\!        W,          V4      '       d   Wy,          WXV	,          P"                  &   K8  Wy,          W8V	,          P$                  &   KU  	  V'       Ed3   \        V4      \        V4      V,
          ^,
          ,
          p\!        W,          V4      '       d   VW WXV,          P"                  &   M!VW W8V,          P                  P$                  &   \        V^,           \        V4      4       F  p	\!        W,          V4      '       d?   V\        V4      \        V4      V	,
          ,
          ,          WXV	,          P"                  &   KY  V\        V4      \        V4      V	,
          ,
          ,          W8V	,          P$                  &   K  	  EKE  EKH  \        V\        P&                  4      '       Ed   \        VP                  \        P(                  4      '       d}   VP                  P$                  pVP+                  V4      pVf   VP,                  P+                  V4      pVf   VP.                  P+                  V4      pVf   \1        V R24      hTpTpM\        VP                  \        P2                  4      '       d\   \!        VP                  V4      '       d@   VP                  P"                  pVP+                  VR4      pVf   \1        V R24      hTpTpM R# \        VP4                  V4      pVP7                  VP8                  4      '       d   \:        P=                  \?        V4      4      M/ p/ pVPA                  VR4      '       d    \;        VPC                  4       4      pVVV&   \G        VVR7      pVVV&   EK<  \!        Wa4      '       d   W%VP"                  &   EK^  W#VP$                  &   EKo  	  R# u up
p	i   \D         d     Ldi ; i)r   N+ not found in locals, globals, nor builtinsz not found in class transientsr9  )$r,  rd   r  ri  r  targetsr   r  TupleListlistelts	enumerateStarredlenrange!_is_instance_attribute_assignmentrk   id	SubscriptNamegetr	  r
  	NameError	Attributeslicer   rK  r   fromkeysrH  rf   r6  	Exceptionr3  )r.  r   rd   r  rh  r  targetvaluesr}  itstarredstar_or_last_idxendr[   	containerstorage_dictstorage_keyrk   r3   r5  r6  duck_containers   &&                     r*   _handle_assignr  P  s   djj'*E// F//,,fsyy#((344%[FkkG%.w%7V%7TQ:a;Uqq%7GV .5wqz#g, +,4WZII8>	$QZ__56<i$QZ]]3 - w&kS\4D%Dq%HI4-w  HN(H$-=%>%C%CD LR(L$-=%>%D%D%G%GH
 /!3S\BA8WMM<BK3w<!+;<=(9 ;AK3w<!+;<;(7 C . ..&,,11||,006	$ ' 2 24 8I$ ' 3 3D 9I$#& KL   0"cmm 3FLL'JJ||((,00t<	$#tf,J$KLL/"FLL'2C ??9#4#455 c)n- 
 E""9d33 !23E E#J"jFN(6L%.v??,1V[[)*/VYY'q r i WT ! s    $R9	R9R??SSc                 @   VP                  \        V R R4      R7      p\        V P                  V4      p\	        V4      '       d3   \        W14      p\        V\        4      ;'       d    V P                  RJpMTpRp\        V RR4      '       d   \        V P                  \        P                  4      '       df   V P                  P                  pV'       d8   \        \        P                  ! V P                  .V P                  R7      V4      # WAP                  V&   R# \!        V P                  V4      '       df   V P                  P"                  pV'       d8   \        \        P                  ! V P                  .V P                  R7      V4      # WAP$                  V&   R# R# )rd   N)r  Fsimpler}  rd   )r  rW   r,  
annotationrw  _resolve_annotationr   GENERIC_CONTAINER_TYPESrd   r  r  r  r  r  rz  r  r  rk   r  )r.  r   context_with_valueannotation_resultannotation_value	use_valuer[   rk   s   &&      r*   _handle_annassignr    sI    wtWd7ST!$//3EF,--./@J ')@A\\djjX\F\ 	 -	 tXu%%*T[[#((*K*K{{~~!

DKK=

CW  *:  & )g>>{{!

DKK=

CW  *:  &r.   c                D    V ^8  d   QhR\         P                  R\        /# ry  )r  Callr  )r(   s   "r*   r+   r+     s      388 6G r.   c           
      h   V P                    Uu. uF  p\        W!4      NK  	  ppV P                   UUUu/ uFf  pVP                  '       d#   VP                  \        VP                  V4      /M\        VP                  V4      P                  4        F  w  rVWVbK	  	  Kh  	  ppppW73# u upi u upppi r0   )rE   r,  keywordsargrd   r6  )r.  r   r  rE   kwkvrF   s   &&      r*   _extract_args_and_kwargsr    s    /3yy9yIc#yD9 --B vvv VVYrxx12288W-
%'	DA 	
 	
   < :s   B(B-AB-c                P    V ^8  d   QhR\         P                  R\        R\        /# )r%   r  r   r&   )r  r  r  r   )r(   s   "r*   r+   r+     s(     
 
GG
/
	
r.   c                @   VP                   RJ;'       d    VP                  RJ;'       dt    \        V \        P                  4      ;'       dR    \        \        V RR4      \        P                  4      ;'       d%    \        V P                  RR4      VP                  8H  # )zFReturn True if target is an attribute access on the instance argument.Nrd   r  )r  r  r   r  r  rW   r  rd   )r  r   s   &&r*   r  r    s    
 	  , 	K 	K%%T1	K 	Kvs}}-	K 	K wvw5sxx@	K 	K FLL$-1J1JJr.   c                \    V ^8  d   QhR\         \        \        \        ,          3,          /# rB   )r   rs   r   object)r(   s   "r*   r+   r+     s"      4Xf-=(=#> r.   c            	          R  p V ! 4       p \        V4       Uu/ uF  q"\        WR4      bK  	  upVP                  4        # u upi   TP                  4        i ; i)c                     "   R # 5ir0   r'   r'   r.   r*   _dummy)_get_coroutine_attributes.<locals>._dummy  s     s   N)rH  rW   close)r  corork   s      r*   _get_coroutine_attributesr    sO     8D<?IFIDgd$//IF

 G

s   A AA A Ac                ^    V ^8  d   QhR\         \        P                  R3,          R\        /# )r%   r.  Nr   )r   r  r  r  )r(   s   "r*   r+   r+     s,     i iE#''4-( i3D ir.   c                *  a \        S4      pV f   R# \        V \        P                  \        P                  34      '       d$   RpV P
                   F  p\        VS4      pK  	  V# \        V \        P                  \        P                  34      '       Ed4   \        V \        P                  4      pSP                  P                  4       pSP                  VR7      pRpRp	Rp
V P                   F:  p \        VS4      pT\        J d   RpK  T\        J d   Rp	K,  T\         J g   K8  Rp
K<  	  VP"                  e[   V	'       gS   V
'       gK   V P$                  P$                  '       d(   V P$                  P$                  ^ ,          P&                  MRVn        \        V P*                  SR7      pV P
                   F  p\        WG4       K  	  V'       d}   VeS   \-        V4      '       d&   \/        VS4      SP                  V P0                  &   R# VSP                  V P0                  &    R# \3        W4      pVSP                  V P0                  &   R# R pVe(   \-        V4      '       d   WP4                  R&   MWn        M\3        W4      pVe   VVn        V P0                  Vn        Wn        W_n        VSP                  V P0                  &   R# \        V \        P>                  4      '       d!   R p\        V P
                  S4      Vn        V# \        V \        P@                  4      '       d   / pSPB                  P                  4       pVPE                  SP                  4       SP                  VVR	7      pVVn        V P
                   F  p\        VV4       K  	  \G        V PH                   Uu. uF  p\        VS4      NK  	  up4      p\K        V P0                  VV4      pVSP                  V P0                  &   R# \        V \        PL                  4      '       d7   \        V PN                  S4      p\Q        VR
4      '       d   VPR                  # V# \        V \        PT                  4      '       d   SP                  P                  4       pSP                  VR7      pRpV P
                   F  p\        VV4      pK  	  \        S4      p\W        VSP                  P                  4       .V4      pSP                  PE                  V4       V# \        V \        PX                  4      '       Ed9    \        V PZ                  S4      pRpVe8    VP_                  \a        VRR4      4      '       d   \c        \[        V4      4      pSP                  P                  4       pSP                  VR7      pVeF    \        Pd                  ! V Pf                  .\        Ph                  ! VR7      R7      p\k        VV4       RpV P
                   F  p\        VV4      pK  	  \        S4      p\W        VSP                  P                  4       .V4      pSP                  PE                  V4       V# \        V \        Pl                  4      '       Ed   . pT p Rp SP                  P                  4       p!SP                  V!R7      p"V P
                   F  p\        VV"4      pK  	  VPo                  V!4       V Pp                  '       g   M\s        V Pp                  4      ^8X  dG   \        V Pp                  ^ ,          \        Pl                  4      '       d   V Pp                  ^ ,          p K  SP                  P                  4       p#SP                  V#R7      p$V Pp                   F  p\        VV$4      pK  	  VPo                  V#4        VPo                  SP                  P                  4       4       \        S4      p\W        VV4      pSP                  PE                  V4       V# \        V \        Pd                  4      '       d   \k        V S4      # \        V \        Pt                  4      '       d   \w        V S4      # \        V \        Px                  4      '       d   \        V P
                  S4      # \        V \        Pz                  4      '       d   \        V PN                  S4      # \        V \        P|                  4      '       d   R# \        V \        P~                  4      '       d   R# \        V \        P                  \        P                  34      '       d   R# \        V \        P                  \        P                  34      '       d   R# \        V \        P                  4      '       Ed   \        V P                  S4      p%\        V P                  S4      p&\        V P                  \        P                  4      '       EdK   \-        V%4      '       Ed9   \-        V&4      '       Ed'   VP_                  V%P                  4      '       d(   \        \        P                  \        V%4      4      4      M	\        4       p'VP_                  V&P                  4      '       d(   \        \        P                  \        V&4      4      4      M	\        4       p(SP                  p)V)e[   \        V)\        P                  4      '       d;   \        V%V&39   d.   \        V'V(\        P                  ! V)4      .\        S4      R7      # \        V'V(.\        S4      R7      # \        V P                  \        4      p*V*'       d[   VP                  V*V%V&4      '       d   \a        V%V*^ ,          4      ! V&4      # \        RV* R2\K        V%4      RSP                   R24      h\        V \        P                  4      '       Ed   \        V P                  S4      p%Rp+Rp,\        V P                  V P                  4       EFt  w  p-p&\        V&S4      p&Rp.\        V-\        4      p*V*'       g   \        V-\        P                  4      '       d   \        \        P                  ,          p*Rp,\        V-\        P                  4      '       d   Rp.\        V-\        P                  4      '       d   Rp.Rp,V.'       g   V*'       d
   V*^ ,          p.V.'       d   V.R8X  d   V&V%3MV%V&3w  p/p0V.R8X  g"   V*'       dO   VP                  V*V/V04      '       d6   \a        \        V.4      ! V/V04      pV,'       d   V'       * pV'       g   Rp+T&p%EK@  \        RV. R2\K        V%4      RSP                   R24      h\        RV. R24      h	  V+# \        V \        Ph                  4      '       d   V PN                  # \        V \        P                  4      '       dG   \F        ;QJ d!    . V3R lV P                   4       F  NK  	  5# ! V3R lV P                   4       4      # \        V \        P                  4      '       d'   V P                   U1u. uF  p1\        V1S4      NK  	  up1# \        V \        P                  4      '       d'   V P                   U1u0 uF  p1\        V1S4      kK  	  up1# \        V \        P                  4      '       d^   \        \        V P                   U2u. uF  p2\        V2S4      NK  	  up2V P                   U3u. uF  p3\        V3S4      NK  	  up34      4      # \        V \        P                  4      '       dJ   \        \        V P                  S4      \        V P                  S4      \        V P                  S4      4      # \        V \        P                  4      '       d   \        V P                  S4      p\        V P                  \        4      p*V*'       dZ   VP                  V*V4      '       d    \a        VV*^ ,          4      ! 4       # \        RV* R2\K        V4      RSP                   R24      h\        V \        P                  4      '       dr   \        V PN                  S4      p\        V P                  S4      p4VP                  VV44      '       d
   VV4,          # \        R\K        V4      RSP                   R24      h\        V \        P                  4      '       d   \        V P                  S4      # \        V \        P                  4      '       Ed   SP"                  eu   \        V PN                  \        P                  4      '       dK   V PN                  P                  SP(                  8X  d&   SP"                  P                  V P                  4      # \        V PN                  S4      pVP                  VV P                  4      '       d   \a        VV P                  4      #  \        V\J        4      '       d   TM\a        VRR4      p5V5eg   \        T5SP                  ;'       g    / SPB                  ;'       g    / R7      p6V P                  V69   d    V6V P                  ,          p7\/        V7S4      # \        R\K        T4      RSP                   R24      h\        V \        P                  4      '       dK   \        V P                  S4      p8V8'       d   \        V P
                  S4      # \        V Pp                  S4      # \        V \        P                  4      '       Ed   \        V EP                   S4      p9VP_                  V94      '       d   E\        V S4      w  p:p;V9! V:/ V;B # E\        V94      '       d3   E\        V9EP                  V S4      p<V<E\
        Jd   V<# E\        V94      # \a        V9R E\
        4      pE\        V9V S4      p\a        V9R!R4      '       d'   Ve   TMTp=\        E\        4       R"7      p>V=V>n)        V># VE\
        Jd   V# VE\
        Jd   V# \        R#V9RSP                   R24      h\        V \        EP                  4      '       dA   V EP                  '       d   \        V EP                  S4      # \        V P                  S4      # R#   \         d     EK  i ; iu upi   \\         d    Rp ELi ; i  \\         d    Rp ELxi ; i  \\         d     ELi ; iu up1i u up1i u up2i u up3i   \         d&    \        RT P                   R\K        T4       24      hi ; i  \\         d     ELi ; i)$aG  Evaluate AST node in provided context.

Applies evaluation restrictions defined in the context. Currently does not support evaluation of functions with keyword arguments.

Does not evaluate actions that always have side effects:

- class definitions (``class sth: ...``)
- function definitions (``def sth: ...``)
- variable assignments (``x = 1``)
- augmented assignments (``x += 1``)
- deletions (``del x``)

Does not evaluate operations which do not return values:

- assertions (``assert x``)
- pass (``pass``)
- imports (``import x``)
- control flow:

    - conditionals (``if x:``) except for ternary IfExp (``a if x else b``)
    - loops (``for`` and ``while``)
    - exception handling

The purpose of this function is to guard against unwanted side-effects;
it does not give guarantees on protection from malicious code execution.
N)r  FT)r   c                      R # r0   r'   rE   rF   s   *,r*   dummy_function!eval_node.<locals>.dummy_functionL      r.   r&   c                      R # r0   r'   r  s   *,r*   r  r  `  r  r.   )r  r	  __awaited_type____iter__)rd   r  )rh  zOperation (`z`) forznot allowed in  modeis___contains__zComparison (`zComparison `z` not supportedc              3   <   <"   T F  p\        VS4      x  K  	  R # 5ir0   )r,  ).0er   s   & r*   	<genexpr>eval_node.<locals>.<genexpr>(  s     >IqYq'**Is   zbad operand type for unary z: z$Subscript access (`__getitem__`) forz not allowed in rJ  )globalnslocalnsz$Attribute access (`__getattr__`) for__inferred_return____is_async__r@  zCall for)ri  r   r  InteractiveModulebodyr,  FunctionDefAsyncFunctionDefr  r   r  decorator_listr  r   staticmethodclassmethodr  rE   r  r  returnsrw  r  r[   _infer_return_value__annotations__r  r7   __node__r  LambdaClassDefr	  updaterr   basesrX   Awaitrd   r   r  While_merge_dicts_by_keyForiterr  r   rW   nextrz  r  Constantr  Ifr   orelser  	AnnAssignr  
ExpressionExprPassImport	AugAssignDeleteGlobalNonlocalBinOpleftrightra  BitOrrK  r3  r   r  rH  r  Dict_merge_valuesliteral_evalrc  BINARY_OP_DUNDERSrz   r  r  ComparezipopscomparatorsCOMP_OP_DUNDERSNotInInIsIsNotoperator
ValueErrorr~  r  r  SetrY  r  Slicer  lowerupperstepUnaryOpoperandUNARY_OP_DUNDERSr   	TypeErrorr  rf   r  _eval_node_namer  r  r  rk   rl   r   r
  IfExptestr  rS   r  r   _eval_return_type__new__NOT_EVALUATED_create_duck_for_heap_typer  Assertmsg)?r.  r   rh  result
child_nodeis_asyncfunc_localsfunc_contextr   	is_staticis_classmethoddecorator_node	decoratorreturn_typereturn_valuer  inferred_returnclass_localsouter_localsclass_contextbaser  dummy_classrd   loop_localsloop_contextstmtmerged_localsiterablesamplefake_assignbranchescurrentbranch_localsbranch_contextelse_localselse_contextr  r  	left_duck
right_duck
value_noderp   all_truenegatera  r   rx   ry   r  r  r  slice_clsresolved_hints	annotatedr  rS   rE   rF   overridden_return_typeawaited_typecoroutine_ducks?   &f                                                             r*   r,  r,    s   6  F|$#**566))Jz73F $$#*>*>?@@dC$8$89..335D	"11N%ng>	
 H$"l* 	k)!% 2 ((4^-1YY^^^DIINN1%)) .  g>))Jj/ $ &&{33:M#W;G,,TYY7  ;FG,,TYY7
   34F6B((3	 "";//;F..x85@21$EO*5D2"&))"&&.#.<  +$

##	 .7tyy'-J*$%%~~**,G445), ( 
 *6&))Jj-0 $DJJGJDyw/JGH499e\:.9  +$		""$**g.5,--)))$		""..335DIIDt\2F  G$+'22779:F
 	  ''6$  	 G4H ??78Z#FGG!$x.1F ..335D!jj![[MF1K {L9 IIDt\2F  G$+'22779:F
 	  ''6$#4499;M$__m_LN"48 %OOM*>>>W^^$)j9JCFF.S.S!..+ &66;;=&L#NND&t\:F +,005578G$+Hf=  ''6$

##dG,,$&& w//$''G,,$!!W--$!!$

##$

344$S\\233$		""G,$**g.tww		**#D))#E** ??4<<00 dmmCI./W  ??5==11 dmmCJ/0W 
 !..J%*Z*J*JD%=(("J0@0@0LM)'2  !)Z!8GATUUtww(9:!!'477tWQZ077$"7)62J%g&8&8%9? 
 $$$G,TXXt'7'78IBeW-EF"27Gb#)),,-cff5G!Fb#&&))"Fb#)),,"F!Fg (..(@t}tUm1U?g&2D2DWaQR2S2S$Xv6q!<F%+!#( D('xv6T
)'*<*<)=UC  !"6(/: ? 9D $%%zz$		""u>DII>u>u>DII>>>$!!/3yy9y!	!W%y99$  /3yy9y!	!W%y99$!!04		:	11g&	:04<11g&<
 	
 $		""djj'*djj'*dii)
 	

 $$$$,,0tww(89!!'511"5'!*577 %"7)62K%g&8&8%9? 
 $&&$**g.4::w/uf--= 2Kw112%8
 	

 $!!tww00$&&$$04::sxx00

!:!::++//		::$**g.udii005$)),,	#E400ge[RV6W  !/%oo33$^^11r"
 99. .tyy 9I.y'BB 2Kg0017
 	

 $		""G,TYY00T[['22$!!G,??4  3D'BLD&(((4==
 &7t||T7%S"%]:---d33%d,A=QO+D$@Kt^U33'6'BO  "'2K2M!N2>/%%m3&&-/""g0017
 	

 $

## 888TXXw//G,,w   P H6  	H	    V :9 ;<  & #5dggYbeN Z  		s   3AR=-AS.AS 6AS) 2AAS= ATAT,ATAT@AT# HAAU IAU I7AU R=ASSASSAS&S%AS&S)AS:S9AS:S=ATTATT#0AUUAU%U$AU%c                0    V ^8  d   QhR\         R\        /# )r%   dictsrh  )r  r_   )r(   s   "r*   r+   r+     s      t -= r.   c                (   \        V 4      ^8X  d
   V ^ ,          # \        4       pV  F"  pVP                  VP                  4       4       K$  	  / pV F9  pV  Uu. uF  q5V9   g   K  W5,          NK  	  ppV'       g   K,  \	        Wa4      WE&   K;  	  V# u upi )z;Merge multiple dictionaries, combining values for each key.)r  r   r  rY  r  )rC  rh  all_keysdmergedr3   r  s   &&     r*   r  r    s    
5zQQxuH!  F"'4%Q!8&!&&%46'7FK 
 M	 5s   B$Bc                $    V ^8  d   QhR\         /# )r%   rh  )r_   )r(   s   "r*   r+   r+     s     /K /K"2 /Kr.   c           	     p   \        V 4      ^8X  d
   V ^ ,          # V  Uu0 uF  p\        V4      kK  	  ppRp/ p\        4       pV  F  pVP                  VP                  4      '       d   VP                  \        V4      4        VP                  VP                  4      '       d>    VP                  4        F&  w  rxVP                  V. 4      P                  V4       K(  	  K  VP                  VP                  4      '       d<    VP                  4        F$  pVP                  V. 4      P                  R4       K&  	  K  K  	  V'       d:   VP                  4        UU
u/ uF  w  rzYz^ ,          e   \        W4      MRbK  	  ppp
\        V4      ^8X  d   \        \        V4      4      pV\        39  d   \!        \        \        V 4      4      R4      '       dI   \!        \        \        V 4      4      R4      '       gF   \!        \        \        V 4      4      R4      '       g"   V\"        \        \$        39   d   V# V ^ ,          # \'        \        P)                  V4      VR7      # u upi   \         d   p	 Rp	?	EK2  Rp	?	ii ; i  \         d   p	 Rp	?	EKL  Rp	?	ii ; i  \         d   p	 Rp	?	EKf  Rp	?	ii ; iu up
pi )zGRecursively merge multiple values, combining attributes and dict items.Nr4   r6  rY  r9  )r  rX   r   r   rK  r  rH  r6  
setdefaultr   r  rY  r  r  r  r   r   r  rr   r3  r  )r  rh  r  rt  merged_items
key_valuesr5  r  valr  valsr  s   &&          r*   r  r    s+   
6{aay$%fT!WfE%LJJ??199%%c!f%	qww''"#'')"--a4;;C@ #, ((VVX"--a4;;DA & ) &  &++-
- 1g.A}T*tK- 	 

 5zQeTGDf&66T&\*G444V-v66 T3&&!9DMM*5\JJU & !  !  		
s_   I J%:I$! J8I>#J2$I;/J6I;;J>J	JJJJ/*J/c                D    V ^8  d   QhR\         P                  R\        /# ry  )r  r  r  )r(   s   "r*   r+   r+     s     
0 
0coo 
08I 
0r.   c                    \        V P                  V4      pV'       g   R# \        V4      ^8X  d
   V^ ,          # \        V4      p\	        W#4      # )zLInfer the return value(s) of a function by evaluating all return statements.N)_collect_return_valuesr  r  ri  r  )r.  r   return_valuesrh  s   &&  r*   r  r    sE    *499g>M
=QQ F//r.   c                   . pV  EFH  p\        V\        P                  4      '       dG   VP                  f   K4   \	        VP                  V4      pVe   V\
        Jd   VP                  V4       \        V\        P                  \        P                  \        P                  \        P                  34      '       d   K  \        VR4      '       dF   \        VP                  \        4      '       d&   VP                  \!        VP                  V4      4       \        V\        P"                  4      '       d   VP$                   F<  p\        VR4      '       g   K  VP                  \!        VP                  V4      4       K>  	  \        VR4      '       d&   VP                  \!        VP&                  V4      4       \        VR4      '       d&   VP                  \!        VP(                  V4      4       \        VR4      '       g   EK   \        VP&                  \        4      '       g   EK#  VP                  \!        VP&                  V4      4       EKK  	  V#   \         d     ELi ; i)z@Recursively collect return values from a list of AST statements.r  r  	finalbody)r   r  Returnrd   r,  r  r   r  r  r  r  r  r   r  r  extendrQ  Tryhandlersr  rT  )r  r   rR  r+  rd   hs   &&    r*   rQ  rQ    s   MdCJJ''zz!!$**g6$m)C!((/ 3??C$8$8#,,

S
 
 T6""z$))T'B'B  !7		7!KLdCGG$$]]1f%%!(()?)PQ # tX&&$$%;DKK%QRt[))$$%;DNNG%TU4""z$++t'D'D  !7W!MN3 4 %  s   5II#"I#c                P    V ^8  d   QhR\         R\        P                  R\        /# )r%   rS   r.  r   )r   r  r  r  )r(   s   "r*   r+   r+     s&      H CHH ?P r.   c                     \        V 4      pVP                  \        P
                  JpV'       d   \        VP                  W#W4      # \        #   \         d
    \        p LTi ; i)zqEvaluate return type of a given callable function.

Returns the built-in type, a duck or NOT_EVALUATED sentinel.
)r   r  UNKNOWN_SIGNATUREreturn_annotationr   emptyr  r  )rS   r.  r   sig	not_emptys   &&&  r*   r  r    sZ    
 o
 %%Y__<I"3#8#8'SS    s   A A"!A"c                0    V ^8  d   QhR\         R\        /# )r%   r  r   r!  )r(   s   "r*   r+   r+   (  s      r.   c                 H    \        V \        4      '       d   \        W4      # T # r0   )r   rs   r  )r  r   s   &&r*   _eval_annotationrc  (  s*     j#&& 	
, r.   c                   B   a a ] tR tRt oRtV 3R ltR tR tRtVt	V ;t
# )_GetItemDucki3  zUA dict subclass that always returns the factory instance and claims to have any item.c                4   < \         SV `  ! V/ VB  Wn        R # r0   )rI  r:  _factory)r2   factoryrE   rF   rJ  s   &&*,r*   r:  _GetItemDuck.__init__6  s    $)&)r.   c                "    V P                  4       # r0   rg  r1   s   &&r*   r4   _GetItemDuck.__getitem__:  s    }}r.   c                    R # )Tr'   r1   s   &&r*   r  _GetItemDuck.__contains__=  s    r.   rk  )r7   r8   r9   r:   r   r:  r4   r  r;   r<   r\  r]  s   @@r*   re  re  3  s     _  r.   re  c                    V ^8  d   QhR\         \        ,          R\        R\        R,          R\        R,          R\
        P                  R,          /# )r%   r  r   r_  NrS   r.  )r  rs   r  r   r   r  r  )r(   s   "r*   r+   r+   A  sV     ^9 ^9^9^9 
T	^9 T/	^9
 ((T/^9r.   c                	  aaaaa V f   R# \        V S4      p \        V 4      pV \        J d'   S'       d   \        SR4      '       d   SP                  # V\
        J d'   \        V 4      p\        V4      ^8X  d
   V^ ,          # R# V \        J d   R# V \        J Edh   RpS'       d   \        SR4      '       d   SP                  p\        VP                  P                  4       FG  w  rV
P                  '       g   K  \        V
P                  P                  S4      p V \        J g   KE  T	p M	  \        S\         4      ;'       d    \#        SR4      RJpV'       d   V'       d
   V^,          pMOS'       dH   \        SP$                  P'                  4       4       F   w  p	w  rVP                  \        J g   K  T	p M	  Vf   R# V^ 8  g   V\        SP                  4      8  d   R# \)        SP                  V,          S4      # V\*        J d   R# V\,        J g   V\.        J d   \1        \3        \        V 4      ^ ,          SSSS4      4       Uu. uF  pVNK  	  pp\5        \6        P9                  V4      R7      o\5        \6        P9                  \1        V! 4       4      4      \;        V3R l4      R7      # V\<        J dK   \<        ;QJ d#    . VVVV3R	 l\        V 4       4       F  NK  	  5# ! VVVV3R	 l\        V 4       4       4      # V\>        J d[   \        V 4       UUu. uF$  p\1        \3        VSSSS4      4       F  pVNK  	  K&  	  ppp\5        \6        P9                  V4      R7      # \A        V 4      '       dm   \5        \6        P9                  \1        \7        4       4      4      V PB                  P'                  4        UUu/ uF  w  ppV\3        VSSSS4      bK  	  uppR7      # \        V R
4      '       d)   \5        \6        P9                  \1        V 4      4      R7      # V\D        J d"   \        V 4      ^ ,          p\3        VSSSS4      # \        V \F        4      '       d   \I        V PJ                  S4      # \        V \L        4      '       d   \I        V PN                  S4      # \I        V S4      # u upi u uppi u uppi )zKResolve annotation created by user with `typing` module and custom objects.NrU    r  Fr@  c                     < S # r0   r'   )ducks   r*   <lambda>%_resolve_annotation.<locals>.<lambda>}  s    tr.   r9  c              3   B   <"   T F  p\        VSSSS4      x  K  	  R # 5ir0   )r  )r  r  r   rS   r.  r_  s   & r*   r  &_resolve_annotation.<locals>.<genexpr>  s(      
+  Wc4>>+s   _is_protocol)(rc  r   r   r   rU   r
   r   r  r   r	   r  r  rE   r  r  r   r   rW   
parametersr6  r,  r   r   r  rH  r  r3  r   r  re  rr   r   r   r  r   r   _eval_or_create_duck__supertype__r    	__value__)r  r   r_  rS   r.  origin	type_argsindexdef_noder  r  is_bound_methodr3   rd   rk   r5  type_argr  r  rs  s   &ffff              @r*   r  r  A  s    !*g6J
#FTdwtZ'@'@}}	7	Z(	y>QQ< 	}	$	v	GD*--}}H#HMM$6$67~~~-cnn.?.?I
'E 8 4,VVz1JRV1V  
#,S^^-A-A-C#D<C##v-E $E =19TYY/5)733	9		3&D. #HZ$8$;Wc4QUV
  	 
 j 9:}}S]3|,
 	

 
5u 

+
u 	
u 

+
 
 	
 
5 %Z0
0/'3dST T 0 	 

 j 9::	j	!	!}}S[1 '66<<>>DAq &q'3dCC>
 	
 
^	,	,c*o >??	9	J'*"8Wc4FF	J	(	(#J$<$<gFF	J	.	.#J$8$8'BB#J88Y
(
s   R0*R5R;c                0    V ^8  d   QhR\         R\        /# )r%   node_idr   r!  )r(   s   "r*   r+   r+     s     Q QS Q+< Qr.   c                    \        V4      pWP                  9   d   VP                  V ,          # VP                  '       d$   WP                  9   d   VP                  V ,          # VP                  '       d$   WP
                  9   d   VP
                  V ,          # VP                  '       d'   \        \        V 4      '       d   \        \        V 4      # VP                  '       d$   VP                  '       d   VP                  V 4      # VP                  '       g,   VP                  '       g   \        R VP                   R24      h\        V  R24      h)z Namespace access not allowed in r  r|  )ri  r  r   r	  r   r
  r   r   builtinsrW   r   r  r  r  r  )r  r   rh  s   && r*   r  r    s
    F***''00!!!g&?~~g&&"""w//'Aw''###'(B(Bx))G$7$7$7""7++&&&v/I/I/I.w/A/A.B%H
 	
 7)#NOPPr.   c                $    V ^8  d   QhR\         /# )r%   r   )r  )r(   s   "r*   r+   r+     s     1 1-> 1r.   c                 j    \        V4      pVP                  V 4      '       d   V ! 4       # \        V 4      # r0   )ri  r   r  )	duck_typer   rh  s   && r*   rz  rz    s.     Fy!!{%i00r.   c                T    \        4       p Wn        V#   \         d	     \        # i ; i)zCreate an imitation of an object of a given type (a duck).

Returns the duck or NOT_EVALUATED sentinel if duck could not be created.
)r1  rJ  r  r  )r  rs  s   & r*   r  r    s3    
 D" s    ''c                h    V'       d   TM
\        V 4       Uu. uF  p\        W4      NK  	  up# u upi )z=For use on immutable objects or with methods returning a copy)rH  rW   )r<  sourcer  s   && r*   _list_methodsr    s+    06fCH&DF&DGCO&DFFFs   /TF)r   r   r   rc   rj   r~   r}   rw   )
r   r   r   r   r   r   r   r   r   r~   )r   r   r   rj   rc   r}   rw   c                   V ^8  d   Qh/ ^ \         9   d;   \        \        \        P                  ,          \
        \        ,          3,          ;R&   ^\         9   d=   \        \        \        P                  ,          \
        \        R3,          3,          ;R&   ^\         9   d=   \        \        \        P                  ,          \
        \        R3,          3,          ;R&   ^\         9   d   \        \        ,          ;R&   ^\         9   d)   \        \        P                  P                  ,          ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d   \        \        ,          ;R	&   # )
r%   r  .r  r  BUILTIN_GETITEM	dict_keysdict_values
dict_itemsBUILTIN_GETATTR)__conditional_annotations__r   rX   r  r  rr   rs   cmpopunaryopr   r@   collectionsabcKeysViewr   )r(   s   "r*   r+   r+      s"     b 4S\\*E#J67 c B	 	d399ouS#X67 	C X $tCKK(%S/9: Y p. )* q. l/ < ;4(() ;m/ n/ & %T %o/ p/ $ #D #q/ p1
 
^$ 
q1 r.   )r  r   r   r   r%  )__add__)__sub__)__mul__)__truediv__)__floordiv__)__mod__)__pow__)
__lshift__)
__rshift__)__or__)__xor__)__and__)
__matmul__)__eq__)__ne__r  )__lt____gt__)__le____ge__)r  r  )r  r  )r  )__neg__)__pos__)
__invert____inv__)__not__)NNNpandas	DataFramer  Series>   numpyvoidr  ndarrayr  r  r  coreindexing_LocIndexerr  r  r  _iLocIndexerr0   )r   rY  r  r6  )r   r  count)r/  r,  r  r  r]   )r  r   inspectr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   collections.abcr   r   r  r  r  r  r  r   rm  	functoolsr   r   r   rt  r   r   r   IPython.utils.decoratorsr   r   r   r   r    r"   r@   rJ   rQ   r   r]   r_   r   r   r   r   r   r   r  r  r  r(  r)  r\  r  r  r  r  r/  AddSubMultDivFloorDivModPowLShiftRShiftr  BitXorBitAndMatMultr  EqNotEqLtLtEGtGtEr  r  USubUAddInvertNotr  r   r  r   rr   	frozensetr  r1  r3  rc  ri  rp  rw  r  r  r  r  r  r,  r  r  r  rQ  r  rc  re  r  r  rz  r  SUPPORTED_EXTERNAL_GETITEMrs   bytesrX   defaultdictdequeOrderedDictChainMapUserDictUserList
UserStringr  r  dict_non_mutating_methodslist_non_mutating_methodsrH  set_non_mutating_methodsrY  r  r  r  r6  r  intfloatcomplexNUMERICSr  
isdisjointr  r   Counterelementsmost_commonrK  ALLOWED_CALLSr  BUILTIN_OPERATIONSrf  __all__r+   )numeric_clsr   r  s   00@r*   <module>r     sO	     < <    / 
     
   % ( > > *  6 6     
 8  
   
 	 	 	
 z#556* 
! !  !H./d4 
H
& H
  H
VGz G WX  4 4 4:  () + K 	Y 	!$J GG\GG\HHlGGLL#GG\GG\JJJJII{JJJJKK;  " FFKII#FF GG!FF GG!FF	; 	 HHlHHlJJ)GG\>    sE9= c c! !40^B!F
iX$/Kd
0@"4 ^9BQ*1  				!. (G
 @ 6 s3x=3s9~+>>  -1O	 ;% %
#
 # :	:5: 
NN: 		:
 423: 	MM: : : : : 	: 423: 	MM: : 301:  LL!:" #:$ 9%:& ':( 
):* 
NN+:, -:. 3/:0 LL1:2 
3:4 55:6 
NN7:8 	9:: 4;:< =:> !)R}[7QVf7QfR?:@ A:B ;$$&?@C:D E:F G:H ;**,EFI:J $$K:L M:N ;**,EFO:P $$Q:R S:T ;'')BCU:V !!W:X Y:Z ;'')BC[:\ !!]:^ _:` ;))3s84a:b ##c:d e:f ;&&(ABg:h   i:j   k:l ##m:n NNo:p 	LLq:r 
MMs:x
(
(
( 
( 	
(
 	
( 
( 
( 
( 
( 
 ('  "!"e"	 '!;' $ "

 ." !##  " !!7$ Ng Ss   ^