ó
    úÞ jà	  ã                  óÊ   • S SK Jr  S SKrS SKrS SKrS SKrS SKJrJrJ	r	J
r
JrJr  S SKJrJr  S SKJr  \R$                  " S5      rS
S jr\    SS j5       r\SS	 j5       rg)é    )ÚannotationsN)ÚAsyncGeneratorÚAsyncIterableÚAsyncIteratorÚ	GeneratorÚIterableÚIterator)ÚasynccontextmanagerÚcontextmanager)Ú
isasyncgenÚTc                ó|  • U c  SOU R                  5       nUb  US:  a  g[        R                  S:X  d  [        [        SS5      c)  [        R                  " U// / S5      u  n  n[        U5      $ [        R                  " 5       nUR                  U[        R                  5        [        UR                  S5      5      $ )zÐ
Return whether a socket, as identified by its file descriptor, is readable.
"A socket is readable" means that the read buffer isn't empty, i.e. that calling
.recv() on it would immediately return some data.
Nr   TÚwin32Úpoll)	ÚfilenoÚsysÚplatformÚgetattrÚselectÚboolr   ÚregisterÚPOLLIN)ÚsockÚsock_fdÚrreadyÚ_Úps        ÚJ/var/www/html/gaurav/venv/lib/python3.13/site-packages/httpcore2/_utils.pyÚis_socket_readabler      s”   € ð ‘l‰d¨¯©«€GØ�˜' A›+Øô ‡|�|�wÓ¤'¬&°&¸$Ó"?Ñ"GÜ—}’} g Y°°B¸Ó:‰ˆ��1Ü�F‹|ÐÜ�Š‹€AØ‡J�JˆwœŸ™Ô&Ü�—‘�q“	‹?Ðó    c              ó  #   • [        U [        5      (       a  U OU R                  5       n U7v •  [        U5      (       a  UR	                  5       I S h  v•N   g g  N! [        U5      (       a  UR	                  5       I S h  v•N    f f = f7f©N)Ú
isinstancer   Ú	__aiter__r   Úaclose©Úiterable_or_iteratorÚiterators     r   Úsafe_async_iterater)   3   sy   é € ô
 !+Ð+?Ä× OÑ OÑÐUi×UsÑUsÓUuð ð$Ø‹ä�h×ÑØ—/‘/Ó#×#Ñ#ð  Ù#øô �h×ÑØ—/‘/Ó#×#Ò#ð  üs3   ‚(B«A °#BÁAÁBÁ$BÂ BÂBÂBc             #  ób   #   • [        U [        5      (       a  U OU R                  5       nUv •  g 7fr"   )r#   r	   Ú__iter__r&   s     r   Úsafe_iterater,   A   s+   é € ô (2Ð2FÌ×'QÑ'QÑ#ÐWk×WtÑWtÓWv€HØ
ƒNùs   ‚-/)r   zsocket.socket | NoneÚreturnr   )r'   z#AsyncIterable[T] | AsyncIterator[T]r-   z AsyncGenerator[AsyncIterator[T]])r'   zIterable[T] | Iterator[T]r-   z"Generator[Iterator[T], None, None])Ú
__future__r   r   Úsocketr   ÚtypingÚcollections.abcr   r   r   r   r   r	   Ú
contextlibr
   r   Úinspectr   ÚTypeVarr   r   r)   r,   © r    r   Ú<module>r6      sq   ðÝ "ã Û Û 
Û ÷÷ ÷ ;Ý à
‡N‚N�3Ó€ôð< ð
$Ø=ð
$à%ó
$ó ð
$ð óó ñr    