o
    ˜»áf`  ã                   @   s  U d Z ddlmZ ddlmZ ded< G dd„ dƒZddlmZ d	Ze	ed
< eZ
eed< ee	e	f ed< G dd„ deƒZdZe G dd„ deƒZddlmZ edefƒZedƒZG dd„ dƒZG dd„ deƒZG dd„ deƒZG dd„ dedZd%d
e	fdd „Zd!d"„ Ze	eB ed#< d$S )&zw
The module for testing variable annotations.
Empty lines above are for good reason (testing for correct line numbers)
é    )ÚOptional©Úwrapsé   é   c                   @   s"   e Zd ZU dZdZed  ed< dS )ÚCé   NÚy)Ú__name__Ú
__module__Ú__qualname__Úxr	   r   Ú__annotations__© r   r   ú&/usr/lib/python3.10/test/ann_module.pyr      s   
 r   )ÚTupler   r   r	   Úfc                   @   s"   e Zd ZU ded< eZeed< dS )ÚMé{   Ú123ÚoN)r
   r   r   r   Úobjectr   Útyper   r   r   r   r      s   
 r   Tc                   @   ó&   e Zd ZU dZeed< dZeed< dS )ÚDÚhiÚjÚbyeÚkN)r
   r   r   r   Ústrr   r   r   r   r   r   r      s   
 r   )Ú	new_classÚHÚJc                   @   s"   e Zd ZU dZeed< dd„ ZdS )ÚFr   Úzc                 C   s   d S ©Nr   )Úselfr   r   r   r   Ú__init__$   s   z
F.__init__N)r
   r   r   r$   Úintr   r'   r   r   r   r   r#   "   s   
 r#   c                       ó   e Zd Z‡ fdd„Z‡  ZS )ÚYc                    s   t t| ƒ d¡ d S )Nr   )Úsuperr#   r'   )r&   ©Ú	__class__r   r   r'   (   s   z
Y.__init__)r
   r   r   r'   Ú__classcell__r   r   r,   r   r*   '   ó    r*   c                       r)   )ÚMetac                    s   t ƒ  | |||¡S r%   )r+   Ú__new__)ÚmetaÚnameÚbasesÚ	namespacer,   r   r   r1   ,   s   zMeta.__new__)r
   r   r   r1   r.   r   r   r,   r   r0   +   r/   r0   c                   @   r   )ÚSÚ	somethingr   zsomething elser	   N)r
   r   r   r   r   r   r	   r   r   r   r   r6   /   s   
 r6   )Ú	metaclassé
   c                 C   s   dt t fdd„}|ƒ  d S )Nr	   c                 S   s   d}d S )NÚyesr   )r	   r   r   r   r   Úbar4   s   zfoo.<locals>.bar)ÚListr   )r   r;   r   r   r   Úfoo3   s   
r=   c                    s   t ˆ ƒ‡ fdd„ƒ}|S )Nc                     s   ˆ | i |¤ŽS r%   r   )ÚargsÚkwargs©Úfuncr   r   Úwrapper9   s   zdec.<locals>.wrapperr   )rA   rB   r   r@   r   Údec8   s   rC   ÚuN)r9   )Ú__doc__Útypingr   Ú	functoolsr   r   r   r   r   r(   r	   r   r   r   ÚparsÚboolr   Útypesr    Úh_classÚj_classr#   r*   r0   r6   r=   rC   Úfloatr   r   r   r   Ú<module>   s(   (