§
     @g{  ã                  ó  — d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlmZ d dlmZmZmZmZmZmZmZ d	d
lmZ d	dlmZmZmZ ddlmZmZmZ ddlm Z  ee!e
ef         Z"ee!e#f         Z$ee$e!f         Z%ee&e$f         Z' ed¦  «        Z( G d„ de¦  «        Z) G d„ de¦  «        Z* G d„ dee*¦  «        Z+ G d„ de+¦  «        Z, G d„ dee+         e*¦  «        Z- G d„ dee'         e*¦  «        Z. G d„ dee&         e*¦  «        Z/dS )é    )ÚannotationsN)Úabstractmethod)ÚAsyncExitStack)ÚIOBase)ÚIPv4AddressÚIPv6Address)ÚAddressFamily)ÚAnyÚCallableÚ
CollectionÚMappingÚTupleÚTypeVarÚUnioné   )Úcreate_task_group)ÚTypedAttributeProviderÚTypedAttributeSetÚtyped_attributeé   )Ú
ByteStreamÚListenerÚUnreliableObjectStream)Ú	TaskGroupÚT_Retvalc                  óÄ   — e Zd ZU  e¦   «         Zded<    e¦   «         Zded<    e¦   «         Zded<    e¦   «         Zded<    e¦   «         Z	ded	<    e¦   «         Z
ded
<   dS )ÚSocketAttributer	   ÚfamilyÚSockAddrTypeÚlocal_addressÚintÚ
local_portúsocket.socketÚ
raw_socketÚremote_addressÚremote_portN)Ú__name__Ú
__module__Ú__qualname__r   r   Ú__annotations__r    r"   r$   r%   r&   © ó    úF/var/www/piapp/venv/lib/python3.11/site-packages/anyio/abc/_sockets.pyr   r   #   s¨   € € € € € € à+˜OÑ-Ô-€FÐ-Ð-Ð-Ñ-à"1 /Ñ"3Ô"3€MÐ3Ð3Ð3Ñ3à%�oÑ'Ô'€JÐ'Ð'Ð'Ñ'à / Ñ 1Ô 1€JÐ1Ð1Ð1Ñ1à#2 ?Ñ#4Ô#4€NÐ4Ð4Ð4Ñ4à&�Ñ(Ô(€KÐ(Ð(Ð(Ñ(Ð(Ð(r,   r   c                  óN   — e Zd Zedd„¦   «         Zeedd„¦   «         ¦   «         ZdS )	Ú_SocketProviderÚreturnúMapping[Any, Callable[[], Any]]c                ó²  ‡ ‡‡‡— ddl mŠ t          j        ˆ fd„t          j        ˆˆ fd„t          j        ˆ fd„i}	  ‰‰ j                             ¦   «         ¦  «        Šn# t          $ r d ŠY nw xY w‰�ˆfd„|t          j	        <   ‰ j        j        t          j        t          j        fv r.ˆ fd„|t          j        <   ‰�‰d         Šˆfd	„|t          j        <   |S )
Nr   )Úconvert_ipv6_sockaddrc                 ó   •— ‰ j         j        S ©N)Ú_raw_socketr   ©Úselfs   €r-   ú<lambda>z2_SocketProvider.extra_attributes.<locals>.<lambda>8   s   ø€ ¨DÔ,<Ô,C€ r,   c                 óH   •—  ‰ ‰j                              ¦   «         ¦  «        S r5   ©r6   Úgetsockname)Úconvertr8   s   €€r-   r9   z2_SocketProvider.extra_attributes.<locals>.<lambda>9   s%   ø€ °7°7ØÔ ×,Ò,Ñ.Ô.ñ4ô 4€ r,   c                 ó   •— ‰ j         S r5   )r6   r7   s   €r-   r9   z2_SocketProvider.extra_attributes.<locals>.<lambda><   s
   ø€ °Ô0@€ r,   c                 ó   •— ‰ S r5   r+   )Úpeernames   €r-   r9   z2_SocketProvider.extra_attributes.<locals>.<lambda>E   s   ø€ À€ r,   c                 óB   •— ‰ j                              ¦   «         d         S )Nr   r;   r7   s   €r-   r9   z2_SocketProvider.extra_attributes.<locals>.<lambda>K   s   ø€ ˜Ô(×4Ò4Ñ6Ô6°qÔ9€ r,   r   c                 ó   •— ‰ S r5   r+   )r&   s   €r-   r9   z2_SocketProvider.extra_attributes.<locals>.<lambda>N   s   ø€ À+€ r,   )Ú_core._socketsr3   r   r   r    r$   r6   ÚgetpeernameÚOSErrorr%   r	   ÚAF_INETÚAF_INET6r"   r&   )r8   Ú
attributesr=   r@   r&   s   ` @@@r-   Úextra_attributesz _SocketProvider.extra_attributes3   s6  øøøø€ àEÐEÐEÐEÐEÐEõ Ô"Ð$CÐ$CÐ$CÐ$CÝÔ)ð ,ð ,ð ,ð ,ð ,õ Ô&Ð(@Ð(@Ð(@Ð(@ð4
ˆ
ð	Ø/6¨w°tÔ7G×7SÒ7SÑ7UÔ7UÑ/VÔ/VˆHˆHøÝð 	ð 	ð 	ØˆHˆHˆHð	øøøð ÐØ9IÐ9IÐ9IÐ9IˆJ•Ô5Ñ6ð ÔÔ"¥}Ô'<½mÔ>TÐ&UÐUÐUð :Ð9Ð9Ð9ð ÝÔ*ñð Ð#Ø& qœk�Ø:MÐ:MÐ:MÐ:M�
�?Ô6Ñ7àÐs   ¼"A ÁA.Á-A.r#   c                ó   — d S r5   r+   r7   s    r-   r6   z_SocketProvider._raw_socketR   s	   € ð 	ˆr,   N)r0   r1   )r0   r#   )r'   r(   r)   ÚpropertyrI   r   r6   r+   r,   r-   r/   r/   2   s\   € € € € € Øðð ð ñ „Xðð< Øðð ð ñ „^ñ „Xðð ð r,   r/   c                  ó   — e Zd ZdZdS )ÚSocketStreamzu
    Transports bytes over a socket.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    N©r'   r(   r)   Ú__doc__r+   r,   r-   rM   rM   X   ó   € € € € € ðð ð ð r,   rM   c                  ó>   — e Zd Zedd„¦   «         Zedd„¦   «         ZdS )ÚUNIXSocketStreamÚmessageÚbytesÚfdsúCollection[int | IOBase]r0   ÚNonec              ƒ  ó
   K  — dS )zð
        Send file descriptors along with a message to the peer.

        :param message: a non-empty bytestring
        :param fds: a collection of files (either numeric file descriptors or open file or socket
            objects)
        Nr+   )r8   rS   rU   s      r-   Úsend_fdszUNIXSocketStream.send_fdsa   ó
   è è € € € r,   Úmsglenr!   Úmaxfdsútuple[bytes, list[int]]c              ƒ  ó
   K  — dS )a  
        Receive file descriptors along with a message from the peer.

        :param msglen: length of the message to expect from the peer
        :param maxfds: maximum number of file descriptors to expect from the peer
        :return: a tuple of (message, file descriptors)
        Nr+   )r8   r[   r\   s      r-   Úreceive_fdszUNIXSocketStream.receive_fdsk   rZ   r,   N)rS   rT   rU   rV   r0   rW   )r[   r!   r\   r!   r0   r]   )r'   r(   r)   r   rY   r_   r+   r,   r-   rR   rR   `   sR   € € € € € Øðð ð ñ „^ðð ðð ð ñ „^ðð ð r,   rR   c                  ó6   — e Zd ZdZedd„¦   «         Z	 ddd„ZdS )ÚSocketListenerz}
    Listens to incoming socket connections.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    r0   rM   c              ƒ  ó
   K  — dS )zAccept an incoming connection.Nr+   r7   s    r-   ÚacceptzSocketListener.accept}   rZ   r,   NÚhandlerúCallable[[SocketStream], Any]Ú
task_groupúTaskGroup | NonerW   c              ƒ  ó  K  — t          ¦   «         4 ƒd {V —†}|€'|                     t          ¦   «         ¦  «        ƒ d {V —†}	 |                      ¦   «         ƒ d {V —†}|                     ||¦  «         Œ1# 1 ƒd {V —†swxY w Y   d S r5   )r   Úenter_async_contextr   rc   Ú
start_soon)r8   rd   rf   Ú
exit_stackÚstreams        r-   ÚservezSocketListener.serve�   sú   è è € õ
 "Ñ#Ô#ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7 zØÐ!Ø#-×#AÒ#AÕBSÑBUÔBUÑ#VÔ#VÐVÐVÐVÐVÐVÐV�
ð7Ø#Ÿ{š{™}œ}Ð,Ð,Ð,Ð,Ð,Ð,�Ø×%Ò% g¨vÑ6Ô6Ð6ð7ð		7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7s   —AA3Á3
A=Â A=)r0   rM   r5   )rd   re   rf   rg   r0   rW   )r'   r(   r)   rO   r   rc   rm   r+   r,   r-   ra   ra   v   s\   € € € € € ðð ð ð-ð -ð -ñ „^ð-ð (,ð7ð 7ð 7ð 7ð 7ð 7ð 7r,   ra   c                  ó   — e Zd ZdZdd
„ZdS )Ú	UDPSocketz{
    Represents an unconnected UDP socket.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    ÚdatarT   ÚhostÚstrÚportr!   r0   rW   c              ƒ  óD   K  — |                       |||ff¦  «        ƒ d{V —†S )zKAlias for :meth:`~.UnreliableObjectSendStream.send` ((data, (host, port))).N)Úsend)r8   rp   rq   rs   s       r-   ÚsendtozUDPSocket.sendto–   s3   è è € à—Y’Y  t¨T lÐ3Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4r,   N)rp   rT   rq   rr   rs   r!   r0   rW   )r'   r(   r)   rO   rv   r+   r,   r-   ro   ro   �   s2   € € € € € ðð ð5ð 5ð 5ð 5ð 5ð 5r,   ro   c                  ó   — e Zd ZdZdS )ÚConnectedUDPSocketzy
    Represents an connected UDP socket.

    Supports all relevant extra attributes from :class:`~SocketAttribute`.
    NrN   r+   r,   r-   rx   rx   ›   rP   r,   rx   )0Ú
__future__r   ÚsocketÚabcr   Ú
contextlibr   Úior   Ú	ipaddressr   r   r	   Útypingr
   r   r   r   r   r   r   Ú_core._tasksr   Ú_core._typedattrr   r   r   Ú_streamsr   r   r   Ú_tasksr   rr   ÚIPAddressTyper!   ÚIPSockAddrTyper   rT   ÚUDPPacketTyper   r   r/   rM   rR   ra   ro   rx   r+   r,   r-   ú<module>r‡      sê  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø  Ð  Ð  Ð  Ð  Ð  ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð -Ð ,Ð ,Ð ,Ð ,Ð ,ðð ð ð ð ð ð ð ð ð ð
 CÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ Ð Ð Ð Ð Ð à�c˜;¨Ð3Ô4€Ø�s˜C�x”€Ø�^ SÐ(Ô)€Ø�e˜^Ð+Ô,€Øˆ7�:ÑÔ€ð)ð )ð )ð )ð )Ð'ñ )ô )ð )ð#ð #ð #ð #ð #Ð,ñ #ô #ð #ðLð ð ð ð �:˜ñ ô ð ðð ð ð ð �|ñ ô ð ð,7ð 7ð 7ð 7ð 7�X˜lÔ+¨_ñ 7ô 7ð 7ð2	5ð 	5ð 	5ð 	5ð 	5Ð& }Ô5°ñ 	5ô 	5ð 	5ðð ð ð ð Ð/°Ô6¸ñ ô ð ð ð r,   