+
    Bi                     j   R t ^ RItRsRsR t ! R R4      t ! R R4      tRR lt]P                  R3R lt	R	 t
R
 tR tR tR tR t]P                   t]P"                  t]P                  t]P$                  t]P&                  t]P(                  tRtRt]! ]R4      '       d   ]P0                  tR# R# )z.Mock socket module used by the smtplib tests.
Nc                 
    V s R # N)_reply_data)lines   &'/usr/lib/python3.14/test/mock_socket.py
reply_withr      s    K    c                   :   a  ] tR t^t o RtR tRR ltR tRtV t	R# )MockFilez8Mock file object returned by MockSocket.makefile().
    c                    Wn         R # r   lines)selfr   s   &&r   __init__MockFile.__init__   s    
r   c                    V P                   P                  ^ 4      R,           pV^ 8  d$   V P                   P                  ^ W!R 4       VRV pV# )       
N)r   popinsert)r   limitresults   && r   readlineMockFile.readline   sI    "W,A:JJab!12FU^Fr   c                    R # r    r   s   &r   closeMockFile.close       r   r   N))
__name__
__module____qualname____firstlineno____doc__r   r   r   __static_attributes____classdictcell____classdict__s   @r   r
   r
      s      r   r
   c                      a  ] tR t^#t o RtRR ltR tRR ltR tR t	R t
R	 tRR
 ltR tR tR tR tR tRR ltRR ltRR ltR tR tR tRtV tR# )
MockSocketz2Mock socket object used by the smtplib tests.
    Nc                    Wn         . V n        . V n        \        '       d"   V P                  P	                  \        4       R sR V n        R V n        R # r   )familyoutputr   r   appendconntimeout)r   r.   s   &&r   r   MockSocket.__init__&   s?    
;JJk*K	r   c                <    V P                   P                  V4       R # r   )r   r0   )r   r   s   &&r   
queue_recvMockSocket.queue_recv1   s    

$r   c                J    V P                   P                  ^ 4      R,           pV# )r   r   )r   r   )r   bufsizeflagsdatas   &&& r   recvMockSocket.recv4   s    zz~~a 7*r   c                    ^ # r   r   r   s   &r   filenoMockSocket.fileno8       r   c                4    Vf   \         V n        R # Wn        R # r   )_defaulttimeoutr2   )r   r2   s   &&r   
settimeoutMockSocket.settimeout;   s    ?*DL"Lr   c                    V P                   # r   r2   r   s   &r   
gettimeoutMockSocket.gettimeoutA   s    ||r   c                    R # r   r   )r   leveloptnamevalues   &&&&r   
setsockoptMockSocket.setsockoptD   r    r   c                    ^ # r>   r   )r   rK   rL   buflens   &&&&r   
getsockoptMockSocket.getsockoptG   rA   r   c                    R # r   r   )r   addresss   &&r   bindMockSocket.bindJ   r    r   c                <    \        4       V n        V P                  R 3# )c)r,   r1   r   s   &r   acceptMockSocket.acceptM   s    L	yy#~r   c                    R# )0.0.0.0)r]   r   r   r   s   &r   getsocknameMockSocket.getsocknameQ   s    r   c                    R # r   r   )r   flags   &&r   setblockingMockSocket.setblockingT   r    r   c                    R # r   r   )r   backlogs   &&r   listenMockSocket.listenW   r    r   c                0    \        V P                  4      pV# r   )r
   r   )r   moder8   handles   &&& r   makefileMockSocket.makefileZ   s    $**%r   c                Z    Wn         V P                  P                  V4       \        V4      # r   lastr/   r0   lenr   r:   r9   s   &&&r   sendallMockSocket.sendall^   #    	4 4yr   c                Z    Wn         V P                  P                  V4       \        V4      # r   rn   rq   s   &&&r   sendMockSocket.sendc   rt   r   c                    R# )peer-address)ry   z	peer-portr   r   s   &r   getpeernameMockSocket.getpeernameh   s    ,,r   c                    R # r   r   r   s   &r   r   MockSocket.closek   r    r   c                    R # r   r   )r   hosts   &&r   connectMockSocket.connectn   r    r   )r1   r.   ro   r   r/   r2   r   )rr!   )r"   r#   r$   r%   r&   r   r5   r;   r?   rD   rH   rN   rR   rV   rZ   r^   rb   rf   rk   rr   rv   rz   r   r   r'   r(   r)   s   @r   r,   r,   #   sn     	 #

- r   r,   c                     \        V 4      # r   )r,   )r.   typeprotos   &&&r   socketr   r   s    fr   c                      \        V ^,          4      p\        4       pT\        P
                  J d   \        4       pTP                  T4       T#   \         d    \        hi ; i)   )int
ValueErrorerrorr,   socket_module_GLOBAL_DEFAULT_TIMEOUTgetdefaulttimeoutrD   )rU   r2   source_addressint_portmss   &&&  r   create_connectionr   u   sZ    wqz? 
B-777#%MM'I  s   A A!c                 
    V s R # r   rC   rG   s   &r   setdefaulttimeoutr      s    Or   c                      \         # r   r   r   r   r   r   r      s    r   c                      R #  r   r   r   r   getfqdnr          r   c                      R # r   r   r   r   r   gethostnamer      s    r   c                     R # r   r   )names   &r   gethostbynamer      r   r   c                  .    \         P                  ! V / VB # r   )r   getaddrinfo)argskws   *,r   r   r      s    $$d1b11r   AF_UNIX)NNN)r&   r   r   rC   r   r   r
   r,   r   r   r   r   r   r   r   r   gaierrorr   AF_INETAF_INET6SOCK_STREAM
SOL_SOCKETSO_REUSEADDRhasattrr   r   r   r   <module>r      s     

  L L^ (5'L'L%)

	2 !! (?? 


!!''

=)$$##G %r   