
    6h                     :   S SK r S SKrS SKrS SKrS SKrS SKrS SKJrJr  \R                  " 5       S:H  r
\R                  SS S:  r\r\R                  SS S:  r\
(       d  \(       a  \rOS SKJr  \rS r " S	 S
5      rS r\" 5       r\R.                  " 5       rg)    N)MappingSequencePyPy   )      )r   
   )OrderedDictc                  8    [         R                  " S[        SS9  g )NzRunning interpreter doesn't sufficiently support code object introspection.  Some features like bare super() or accessing __class__ will not work with slotted classes.r   )
stacklevel)warningswarnRuntimeWarning)argskws     C/usr/lib/python3/dist-packages/mercurial/thirdparty/attr/_compat.py	just_warnr      s    MM	8 	    c                   0    \ rS rSrSrS/rS rS rS rSr	g)	_AnnotationExtractor&   zR
Extract type annotations from a callable, returning None whenever there
is none.
sigc                 v     [         R                  " U5      U l        g ! [        [        4 a
    S U l         g f = fN)inspect	signaturer   
ValueError	TypeError)selfcallables     r   __init___AnnotationExtractor.__init__.   s4    	((2DHI& 	DH	s    88c                    U R                   (       d  g[        U R                   R                  R                  5       5      nU(       a9  US   R                  [
        R                  R                  La  US   R                  $ g)zE
Return the type annotation of the first argument if it's not empty.
Nr   )r   list
parametersvalues
annotationr   	Parameterempty)r   paramss     r   get_first_param_type)_AnnotationExtractor.get_first_param_type4   s^     xxdhh))0023fQi**'2C2C2I2II!9'''r   c                     U R                   (       aG  U R                   R                  [        R                  R                  La  U R                   R                  $ g)z+
Return the return type if it's not empty.
N)r   return_annotationr   	Signaturer)   )r   s    r   get_return_type$_AnnotationExtractor.get_return_typeA   s<    
 HH**'2C2C2I2II88---r   )r   N)
__name__
__module____qualname____firstlineno____doc__	__slots__r!   r+   r0   __static_attributes__ r   r   r   r   &   s    
 I
r   r   c                     ^ [         (       a  S n U $ S n UR                  nUR                  S:w  d  UR                  S:w  a  [        e[
        R                  S:  a  S n OUR                  /nUR                  UR                  5        UR                  UR                  UR                  UR                  UR                  UR                  UR                   UR"                  UR$                  UR&                  UR(                  UR*                  UR                  UR                  /5        [,        R.                  " U6 mU4S jn S nU" 5       R0                  S	   nU " US
5        UR2                  S
:w  a  [        e U $ ! [4         a	    [6        s $ f = f)ztReturn a function of two arguments (cell, value) which sets
the value stored in the closure cell `cell` to `value`.
c                 (    U R                  U45        g r   )__setstate__cellvalues     r   set_closure_cell/make_set_closure_cell.<locals>.set_closure_cellV   s    uh'r   c                 
   ^ U mg r   r9   )r?   force_x_to_be_a_cellxs     @r   set_first_cellvar_to3make_set_closure_cell.<locals>.set_first_cellvar_to^   s    r   rD   r9   )r      c                     Xl         g r   )cell_contentsr=   s     r   r@   rA   s   s    %*"r   c                 L   > [         R                  " T0 SSU 45      nU" U5        g )Nsetterr9   )typesFunctionType)r>   r?   rL   set_first_freevar_codes      r   r@   rA      s+     ++*B"tg ur   c                     ^ S mU4S jn U $ )Nc                     > T $ r   r9   rG   s   r   func@make_set_closure_cell.<locals>.make_func_with_cell.<locals>.func   s    r   r9   )rR   rD   s    @r   make_func_with_cell2make_set_closure_cell.<locals>.make_func_with_cell   s    A Kr   r   d   )PYPY__code__co_cellvarsco_freevarsAssertionErrorsysversion_infoco_argcountappendco_kwonlyargcountextend
co_nlocalsco_stacksizeco_flagsco_code	co_constsco_namesco_varnamesco_filenameco_nameco_firstlineno	co_lnotabrM   CodeType__closure__rJ   	Exceptionr   )r@   rE   cor   rT   r>   rO   s         @r   make_set_closure_cellrq   N   sa    t	(  
@  "**>>V#r~~';   v%+ NN#DKK,,-KKMMOOKKJJLLKKNNNNJJ%%LLNNNN$ &+^^T%:"	 #$003s#$   %    s   E!E: :FF)r   platformr\   	threadingrM   r   collections.abcr   r   python_implementationrW   r]   PY36HAS_F_STRINGSPY310dictordered_dictcollectionsr
   r   r   rq   r@   localrepr_contextr9   r   r   <module>r~      s      
    - %%'61
v%!' 4L'L% %PZ z )*   r   