
    gG                        d dl mZ d dlZd dlZd dlmZ ddgZ	 	 	 dddZ	 	 	 dddZddZ		 	 	 ddda
dddZdddZdS )    )annotationsN)partialwait_for_readwait_for_writeFsocksocket.socketreadboolwritetimeoutfloat | Nonereturnc                   |s|st          d          g }g }|r|                    |            |r|                    |            t          t          j        |||          } ||          \  }}}	t	          |p|p|	          S )N2must specify at least one of read=True, write=True)RuntimeErrorappendr   selectr
   )
r   r	   r   r   rcheckwcheckfnrreadywreadyxreadys
             M/var/www/html/4nations/venv/lib/python3.11/site-packages/urllib3/util/wait.pyselect_wait_for_socketr   !   s      Q QOPPPFF d d 
	7	7BR[[FFF*&*F+++    c                    |s|st          d          d}|r|t          j        z  }|r|t          j        z  }t          j                                        | |           dfd}t           ||                    S )	Nr   r   tr   r   list[tuple[int, int]]c                <    | | dz  }                      |           S )Ni  )poll)r   poll_objs    r   do_pollz%poll_wait_for_socket.<locals>.do_pollJ   s#    =IA}}Qr   )r   r   r   r   )r   r   POLLINPOLLOUTr!   registerr
   )r   r	   r   r   maskr#   r"   s         @r   poll_wait_for_socketr(   9   s      Q QOPPPD  {}}HdD!!!           
   !!!r   c                     	 t          j                    } |                     d           dS # t          t          f$ r Y dS w xY w)Nr   TF)r   r!   AttributeErrorOSError)r"   s    r   _have_working_pollr,   R   sT    ;==a t G$   uus   (, A Ac                    t                      rt          ant          t          d          rt
          at          | |||          S )Nr   )r,   r(   wait_for_sockethasattrr   r   )r   r	   r   r   s       r   r.   r.   _   sD      1.		"	" 104ug666r   c                &    t          | d|          S )zWaits for reading to be available on a given socket.
    Returns True if the socket is readable, or False if the timeout expired.
    T)r	   r   r.   r   r   s     r   r   r   q   s     4dG<<<<r   c                &    t          | d|          S )zWaits for writing to be available on a given socket.
    Returns True if the socket is readable, or False if the timeout expired.
    T)r   r   r1   r2   s     r   r   r   x   s     4tW====r   )FFN)
r   r   r	   r
   r   r
   r   r   r   r
   )r   r
   )N)r   r   r   r   r   r
   )
__future__r   r   socket	functoolsr   __all__r   r(   r,   r.   r   r    r   r   <module>r9      s   " " " " " "        ,
-8  	, , , , ,4  	" " " " "2
 
 
 
  	7 7 7 7 7$= = = = => > > > > > >r   