+
     h)  c                  s    ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^RIHtH	t	H
t
HtHtHtHtHt ^RIHt ^RIHtHtHt  ! R R]4      t ! R R	]4      t ! R
 R]4      tR# )i    )annotationsN)ConnectErrorConnectTimeoutExceptionMapping	ReadErrorReadTimeout
WriteErrorWriteTimeoutmap_exceptions)is_socket_readable)SOCKET_OPTIONNetworkBackendNetworkStreamc                  s    ] tR t^tRtRtRR R lltR R ltRR R	 lltRR
 R llt	R R lt
RR R lltR R ltRtR# )TLSinTLSStreamz
Because the standard `SSLContext.wrap_socket` method does
not work for `SSLSocket` objects, we need this class
to implement TLS stream using an underlying `SSLObject`
instance in order to support TLS on top of TLS.
i @  Nc               (    V ^8  d   QhRRRRRRRR/# )	   socksocket.socketssl_contextssl.SSLContextserver_hostname
str | Nonetimeoutfloat | None Zformat   "</usr/lib/python3.14/site-packages/httpcore/_backends/sync.py__annotate__TLSinTLSStream.__annotate__"   s2     4 44 $4 $	4
 4    c                	sT   Wn         \        P                  ! 4       V n        \        P                  ! 4       V n        VP                  V P                  V P                  VR 7      V n        V P                   P                  V4       V P                  V P                  P                  4       R# ))ZincomingZoutgoingr   N)
_socksslZ	MemoryBIO	_incoming	_outgoingZwrap_biossl_obj
settimeout_perform_ioZdo_handshake)selfr   r   r   r   s   &&&&&r   __init__ZTLSinTLSStream.__init__"   sw     
"++^^^^+ , 
 	

g&223r   c                    V ^8  d   QhRRRR/# )r   funcz typing.Callable[..., typing.Any]return
typing.Anyr   r   r   r   r   r   6   s      . 
r   c                	s   R p R p V! 4       pV P                  P                  V P                  P                  4       4       V\         P                  8X  dd   V P                  P                  V P                  4      pV'       d   V P                  P                  V4       MV P                  P                  4        Ve   K  V#   \         P                  \         P                  3 d   pTP                  p R p?LR p?ii ; iN)r    ZSSLWantReadErrorZSSLWantWriteErrorerrnor   Zsendallr"   readZSSL_ERROR_WANT_READrecvTLS_RECORD_SIZEr!   writeZ	write_eof)r&   r)   Zretr-   ZeZbufs   &&    r   r%   ZTLSinTLSStream._perform_io6   s     E f JJt~~2245///jjood&:&:;NN((-NN,,.}
 ((#*?*?@   s   C %C<&C77C<c               $    V ^8  d   QhRRRRRR/# r   	max_bytesintr   r   r*   bytesr   r   r   r   r   r   O   s!      c L E r   c                	s   \         P                  \        \        \        /p\        V4      ;_uu_ 4        V P                  P                  V4       \        P                  ! \        V P                  \        P                  ! V P                  P                  V4      4      4      uuR R R 4       #   + '       g   i     R # ; ir,   )socketr   r   OSErrorr   r   r   r$   typingZcastr6   r%   	functoolspartialr#   r.   r&   r4   r   exc_map   &&& r   r.   ZTLSinTLSStream.readO   ss    %+^^['9$UG$$JJ!!'*;;t''	(9(9$,,:K:KY(WX %$$$s   A.B--B>	c               r2   r   bufferr6   r   r   r*   Noner   r   r   r   r   r   W   s!     ( (E (L (D (r   c                	sn   \         P                  \        \        \        /p\        V4      ;_uu_ 4        V P                  P                  V4       V'       dA   V P                  \        P                  ! V P                  P                  V4      4      pWR  pKH   R R R 4       R #   + '       g   i     R # ; ir,   )r7   r   r   r8   r   r   r   r$   r%   r:   r;   r#   r1   )r&   r@   r   r=   Znsent   &&&  r   r1   ZTLSinTLSStream.writeW   sx    %+^^\7J$WG$$JJ!!'*(():):4<<;M;Mv)VW  %$$$s   #B#A B##B4	c                   V ^8  d   QhRR/# r   r*   rA   r   r   r   r   r   r   _         t r   c                	:    V P                   P                  4        R # r,   r   closer&      &r   rH   ZTLSinTLSStream.close_       

r   c               r   	r   r   r   r   r   r   r   r*   r   r   r   r   r   r   r   b   s2     $ $#$ $$ 	$
 
$r   c                	s    \        4       hr,   )ZNotImplementedError)r&   r   r   r   s   &&&&r   	start_tlsZTLSinTLSStream.start_tlsb   s     "##r   c               r(   r   infostrr*   r+   r   r   r   r   r   r   j         3 : r   c                	s   VR 8X  d   V P                   # VR8X  d   V P                  P                  4       # VR8X  d   V P                  P                  4       # VR8X  d   V P                  # VR8X  d   \	        V P                  4      # R# Z
ssl_objectZclient_addrZserver_addrr7   Zis_readableN)r#   r   getsocknamegetpeernamer	   r&   rO      &&r   get_extra_infoZTLSinTLSStream.get_extra_infoj   sv    <<<= ::))++= ::))++8::= %djj11r   )r!   r"   r   r#   NNr,   )__name__
__module____qualname____firstlineno__Z__doc__r0   r'   r%   r.   r1   rH   rM   rW   __static_attributes__r   r   r   r   r      s6     O4(2($ r   r   c                  sj    ] tR t^xtR R ltRR R lltRR R lltR R	 ltRR
 R lltR R lt	Rt
R# )
SyncStreamc               r(   )r   r   r   r*   rA   r   r   r   r   r   SyncStream.__annotate__y   s      ] t r   c                	s    Wn         R # r,   r   )r&   r   rV   r   r'   ZSyncStream.__init__y   s    
r   Nc               r2   r3   r   r   r   r   r   r_   |   s!     . .c .L .E .r   c                	s   \         P                  \        \        \        /p\        V4      ;_uu_ 4        V P                  P                  V4       V P                  P                  V4      uuR R R 4       #   + '       g   i     R # ; ir,   )	r7   r   r   r8   r   r   r   r$   r/   r<   r>   r   r.   ZSyncStream.read|   sP    %+^^['9$UG$$JJ!!'*::??9- %$$$s   6A55B	c               r2   r?   r   r   r   r   r   r_      s!     	$ 	$E 	$L 	$D 	$r   c                	sD   V'       g   R # \         P                  \        \        \        /p\        V4      ;_uu_ 4        V'       d=   V P                  P                  V4       V P                  P                  V4      pWR  pKD   R R R 4       R #   + '       g   i     R # ; ir,   )	r7   r   r   r8   r   r   r   r$   Zsend)r&   r@   r   r=   ZnrB   r   r1   ZSyncStream.write   si    %+^^\7J$WG$$

%%g.JJOOF+  %$$$s   B<BB	c               rC   rD   r   r   r   r   r   r_      rE   r   c                	rF   r,   rG   rI   rJ   r   rH   ZSyncStream.close   rK   r   c               r   rL   r   r   r   r   r   r_      s2        #  $  	 
 
 r   c                	s
   \         P                  \        \        \        /p\        V4      ;_uu_ 4         \        V P                  \        P                  4      '       d"   \        V P                  WV4      uuR R R 4       # V P                  P                  V4       VP                  V P                  VR7      p R R R 4       \        X4      #   \         d   pT P                  4        ThR p?ii ; i  + '       g   i     L@; i)N)r   )r7   r   r   r8   r   r   
isinstancer   r    	SSLSocketr   r$   Zwrap_socketZ	ExceptionrH   r^   )r&   r   r   r   r=   r   Zexc   &&&&   r   rM   ZSyncStream.start_tls   s     NNN\%
 G$$djj#--88 *

K' %$ JJ))'2&22

O 3 D %" $  

	 %$s/   C2A C8CC/C**C//C22D	c               r(   rN   r   r   r   r   r   r_      rQ   r   c                	sv   VR 8X  dA   \        V P                  \        P                  4      '       d   V P                  P                  # VR8X  d   V P                  P                  4       # VR8X  d   V P                  P                  4       # VR8X  d   V P                  # VR8X  d   \        V P                  4      # R# rR   )ra   r   r    rb   Z_sslobjrS   rT   r	   rU   rV   r   rW   ZSyncStream.get_extra_info   s    <Jtzz3==$I$I::%%%= ::))++= ::))++8::= %djj11r   r`   r,   rX   )rY   rZ   r[   r\   r'   r.   r1   rH   rM   rW   r]   r   r   r   r^   r^   x   s%    .	$ : r   r^   c                  s6    ] tR t^tRR R lltRR R lltRtR# )	SyncBackendNc               s0    V ^8  d   QhRRRRRRRRR	R
RR/# )r   hostrP   portr5   r   r   local_addressr   socket_options%typing.Iterable[SOCKET_OPTION] | Noner*   r   r   r   r   r   r   SyncBackend.__annotate__   sF            	 
 "  >  
 r   c                	s   Vf   . pW3pVf   R MV^ 3p\         P                  \        \        \        /p\        V4      ;_uu_ 4        \         P                  ! VVVR7      p	V F  p
V	P                  ! V
!   K  	  V	P                  \         P                  \         P                  ^4       R R R 4       \        X	4      #   + '       g   i     L; i)N)source_address)r7   r   r   r8   r   r   Zcreate_connection
setsockoptZIPPROTO_TCPZTCP_NODELAYr^   )r&   re   rf   r   rg   rh   Zaddressrk   r=   r   options   &&&&&&     r   connect_tcpZSyncBackend.connect_tcp   s     !N,!.!6]A<NNNN\%

 G$$++-D
 )( )OOF..0B0BAF % $ %$s   A"B<<C	c               r   )	r   pathrP   r   r   rh   ri   r*   r   r   r   r   r   r   rj      s2            >	 
 
 r   c                	s   \         P                  R 8X  d   \        R4      hVf   . p\        P                  \
        \        \        /p\        V4      ;_uu_ 4        \        P                  ! \        P                  \        P                  4      pV F  pVP                  ! V!   K  	  VP                  V4       VP                  V4       RRR4       \        X4      #   + '       g   i     L; i)Zwin32z:Attempted to connect to a UNIX socket on a Windows system.N)sysZplatformZRuntimeErrorr7   r   r   r8   r   r   ZAF_UNIXZSOCK_STREAMrl   r$   Zconnectr^   )r&   ro   r   rh   r=   r   rm   rc   r   connect_unix_socketZSyncBackend.connect_unix_socket   s     <<7"L  !N NNN\%
 G$$==1C1CDD(( )OOG$LL % $ %$s   A/CC,	r   )NNNrX   )rY   rZ   r[   r\   rn   rq   r]   r   r   r   rd   rd      s     <   r   rd   )Z
__future__r    r:   r7   r    rp   r9   Z_exceptionsr   r   r   r   r   r   r   r   Z_utilsr	   Zbaser
   r   r   r   r^   rd   r   r   r   <module>rr      s[    "   
 
 	 	 	 ( > >^] ^B@ @F6 . 6 r   