o
    éT•j†	  ã                   @   s  d dl Z d dl T d dlmZ eƒ Ze dedd„ ¡ e dedd„ ¡ d	ev r0e d
edd„ ¡ dd„ Zdd„ Z	dd„ Z
e
e jƒdd„ ƒZe
e jƒdd„ ƒZd	ev r[e
e jƒdd	„ ƒZdev rhe
e jƒdd„ ƒZdev rue
e jƒdd„ ƒZdev r‚e
e jƒdd„ ƒZ[[
dS )é    N)Ú*)ÚIntEnumÚSignalsc                 C   s(   |   ¡ r|  d¡o|  d¡ p|  d¡S )NÚSIGÚSIG_ÚCTRL_)ÚisupperÚ
startswith©Úname© r   ú/usr/lib/python3.10/signal.pyÚ<lambda>	   s   ÿ
r   ÚHandlersc                 C   ó   | dv S )N)ÚSIG_DFLÚSIG_IGNr   r
   r   r   r   r      ó    Úpthread_sigmaskÚSigmasksc                 C   r   )N)Ú	SIG_BLOCKÚSIG_UNBLOCKÚSIG_SETMASKr   r
   r   r   r   r      r   c                 C   s"   z|| ƒW S  t y   |  Y S w )zsConvert a numeric value to an IntEnum member.
    If it's not a known member, return the numeric value itself.
    )Ú
ValueError)ÚvalueÚ
enum_klassr   r   r   Ú_int_to_enum   s
   
ÿr   c              	   C   s&   zt | ƒW S  ttfy   |  Y S w )zmConvert an IntEnum member to a numeric value.
    If it's not an IntEnum member return the value itself.
    )Úintr   Ú	TypeError)r   r   r   r   Ú_enum_to_int"   s
   
ÿr   c                    s   ‡ fdd„}|S )Nc                    s   ˆ j | _ | S ©N)Ú__doc__)Úwrapper©Úwrappedr   r   Ú	decorator1   s   z_wraps.<locals>.decoratorr   )r$   r%   r   r#   r   Ú_wraps0   s   r&   c                 C   s   t  t| ƒt|ƒ¡}t|tƒS r    )Ú_signalÚsignalr   r   r   ©Ú	signalnumÚhandlerr   r   r   r(   6   s   
r(   c                 C   ó   t  | ¡}t|tƒS r    )r'   Ú	getsignalr   r   r)   r   r   r   r-   <   ó   

r-   c                 C   s   t  | |¡}tdd„ |D ƒƒS )Nc                 s   s   � | ]}t |tƒV  qd S r    ©r   r   ©Ú.0Úxr   r   r   Ú	<genexpr>F   s   € z"pthread_sigmask.<locals>.<genexpr>)r'   r   Úset)ÚhowÚmaskÚsigs_setr   r   r   r   C   s   Ú
sigpendingc                   C   ó   dd„ t  ¡ D ƒS )Nc                 S   ó   h | ]}t |tƒ’qS r   r/   r0   r   r   r   Ú	<setcomp>L   ó    zsigpending.<locals>.<setcomp>)r'   r8   r   r   r   r   r8   J   ó   Úsigwaitc                 C   r,   r    )r'   r>   r   r   )ÚsigsetÚretsigr   r   r   r>   P   r.   Úvalid_signalsc                   C   r9   )Nc                 S   r:   r   r/   r0   r   r   r   r;   Y   r<   z valid_signals.<locals>.<setcomp>)r'   rA   r   r   r   r   rA   W   r=   )r'   Úenumr   Ú_IntEnumÚglobalsÚ_globalsÚ	_convert_Ú__name__r   r   r&   r(   r-   r   r8   r>   rA   r   r   r   r   Ú<module>   sJ    þþþ






