
    <|hl                        d dl mZmZ d dlZd dlZd dlmZ g Zej                  Zej                  Z
d dlmZ d dlmZ  G d de      Z e       Z ej%                  d	      ej&                        Ze
j*                  d
fe
j,                  dfgZd Z G d de      Z G d de      Z G d de      Z G d dej                        Z G d dej<                  e      Z G d de      Z  G d de ejB                  e      Z" G d de ejF                  e      Z$ G d dejJ                  e      Z&e& e'       d<    G d  d!ejP                  e      Z) G d" d#ejT                  e      Z+ G d$ d%ejX                  e      Z- G d& d'ej\                  e      Z/ G d( d)ej`                  e      Z1 G d* d+e1      Z2 G d, d-ejf                  e      Z4y).    )absolute_importprint_functionN)	_corecffi)watcher)_dbgc                       e Zd ZdZd Zy)_ClosingWatchers c                 `    	 | |= y # t         $ r t        dt        j                         Y y w xY w)Nzgevent error: Unable to remove closing watcher from keepaliveset. Has the module state been corrupted or executed more than once?)file)KeyErrorprintsysstderr)selfobjs     S/var/www/html/test/engine/venv/lib/python3.12/site-packages/gevent/libuv/watcher.pyremovez_ClosingWatchers.remove   s4    		S	 	 RZZ	s    $--N)__name__
__module____qualname__	__slots__r   r
       r   r	   r	      s    I
r   r	   _uv_close_callback)nameREADWRITEc                 6    t        j                  | t              S N)_baseevents_to_str_events)eventss    r   _events_to_strr$   8   s    vw//r   c                       e Zd Zy)UVFuncallErrorN)r   r   r   r
   r   r   r&   r&   ;   s    r   r&   c                       e Zd Zd Zd Zy)libuv_error_wrapperc                     || _         y r   )_libuv)r   uvs     r   __init__zlibuv_error_wrapper.__init__F   s	    r   c                     t        | j                  |      t        j                        fd       }t	        | ||       |S )Nc            
         | rt        | d   t              r| dd  }  | i |}||dk  rt        t        t        j                  t        j                  |            j                  d      dz   t        j                  t        j                  |            j                  d      z         dz   t        |       z   dz   t        |      z         |S )Nr      ascii z Args: z	 KWARGS: )
isinstancer   r&   strffistringlibuvuv_err_namedecodeuv_strerrorrepr)argskwargsres
libuv_funcs      r   wrapz-libuv_error_wrapper.__getattr__.<locals>.wrapL   s    
47G4ABxd-f-C37$

5#4#4S#9:AA'J**U%6%6s%;<CCGLM N    #'t*- 0;; >B&\J  Jr   )getattrr*   	functoolswrapssetattr)r   r   r?   r>   s      @r   __getattr__zlibuv_error_wrapper.__getattr__I   sA    T[[$/
		$	 
%	 	dD!r   N)r   r   r   r,   rD   r
   r   r   r(   r(   >   s    r   r(   c                       e Zd Zd Zd Zd Zy)ffi_unwrapperc                     || _         y r   )_ffi)r   ffs     r   r,   zffi_unwrapper.__init__c   s	    	r   c                 .    t        | j                  |      S r   )r@   rH   )r   r   s     r   rD   zffi_unwrapper.__getattr__f   s    tyy$''r   c                 f    t        |t              sJ | j                  j                  t        |      S r   )r2   r(   rH   	addressofr6   )r   libr   s      r   rL   zffi_unwrapper.addressofi   s*    #2333yy""5$//r   N)r   r   r   r,   rD   rL   r
   r   r   rF   rF   _   s    (0r   rF   c                       e Zd Z ee      Z ee      ZdZ	dZ
ed        Zd Zd Zd Zd Zej$                  d        Zej$                  d	        Zd
 Zd Zd Zd Z eee      Zd Zy)r   r+   z%s_tc                    | j                   j                  d|      }t        j                  |_        |j
                  rDt        j                  |      s.|t        |<   t        j                  |t        j                         y y y )Nzuv_handle_t*)_FFIcastr4   NULLdatatyper6   uv_is_closing_closing_watchersuv_closer   )clsffi_watcherffi_handle_watchers      r   _watcher_ffi_closezwatcher._watcher_ffi_closeu   sh    < !XX]]>;G"%((""5+>+>{+K
 5@01NN;(@(@A ,L"r   c                     || _         y r   )refr   r]   s     r   _watcher_ffi_set_init_refz!watcher._watcher_ffi_set_init_ref   s	    r   c                 f     | j                   | j                  j                  | j                  g| S r   _watcher_initloopptr_watcherr   r;   s     r   _watcher_ffi_initzwatcher._watcher_ffi_init   s0    !t!!$))--"&--)#') 	)r   c                 P    | j                  | j                  | j                         y r   )_watcher_startre   _watcher_callbackr   s    r   _watcher_ffi_startzwatcher._watcher_ffi_start   s    DMM4+A+ABr   c                 T    | j                   r| j                  | j                          y y r   )re   _watcher_stoprk   s    r   _watcher_ffi_stopzwatcher._watcher_ffi_stop   s"    ==
 t}}- r   c                 B    t         j                  | j                         y r   )r6   uv_refre   rk   s    r   _watcher_ffi_refzwatcher._watcher_ffi_ref   s    T]]#r   c                 B    t         j                  | j                         y r   )r6   uv_unrefre   rk   s    r   _watcher_ffi_unrefzwatcher._watcher_ffi_unref   s    t}}%r   c                      y r   r
   rk   s    r   _watcher_ffi_start_unrefz watcher._watcher_ffi_start_unref       r   c                      y r   r
   rk   s    r   _watcher_ffi_stop_refzwatcher._watcher_ffi_stop_ref   rx   r   c                 l    | j                   y t        t        j                  | j                               S r   )re   boolr6   
uv_has_refrk   s    r   _get_refzwatcher._get_ref   s)    == E$$T]]344r   c                 J    |r| j                          y | j                          y r   )rr   ru   )r   values     r   _set_refzwatcher._set_ref   s    !!###%r   c                     t        d      )NzNot implemented)	Exception)r   _revents	_callback_argss       r   feedzwatcher.feed   s    )**r   N)r   r   r   rF   r4   rP   r(   r6   _LIB_watcher_prefix_watcher_struct_patternclassmethodr[   r_   rg   rl   ro   r    only_if_watcherrr   ru   rw   rz   r~   r   propertyr]   r   r
   r   r   r   r   n   s    Du%DO$&B &BP)C. $ $ & &5& 8X
&C+r   r   c                   v    e Zd ZdZdZdZej                  ej                  z  ej                  z  Z
dZd fd	Zd Zej                  d        Zd Zd	 Z eee      Zd
 Zej.                  j1                  d      rej4                  j6                  Z G d de      Zd Zd Z d Z!d Z" fdZ#d Z$d Z%d Z& xZ'S )iopoll_gevent_poll_callback2Fr
   c                 d    t         t        |   ||||||f       || _        || _        g | _        y )N)r]   priorityr   )superr   r,   _fdr"   _multiplex_watchers)r   rc   fdr#   r]   r   	__class__s         r   r,   zio.__init__   s9    b$ r6sXVXUZ [#% r   c                     | j                   S r   )r   rk   s    r   _get_fdz
io._get_fd  s    xxr   c                 6    || _         | j                  |f       y r   )r   rg   )r   r   s     r   _set_fdz
io._set_fd  s    u%r   c                     | j                   S r   r"   rk   s    r   _get_eventszio._get_events
  s    ||r   c                     || j                   k(  ry || _         | j                  r@| j                  J | j                  | j                  | j                   | j
                         y y r   )r"   active_handleri   re   rj   )r   r#   s     r   _set_eventszio._set_events  sV    T\\!;; <<+++t||T=S=ST	 r   c                 f    | j                  | j                  | j                  | j                         y r   )ri   re   r"   rj   rk   s    r   rl   zio._watcher_ffi_start  s"    DMM4<<9O9OPr   win32c                       e Zd ZdZdZdZdZd Z ed  e	j                  d             Zd Zd	 Zd
 Zed        Zed        Z ed d       Zy)io._multiplexwatcherNr
   FTc                      || _         || _        y r   )r"   _watcher_refr   r#   r   s      r   r,   zio._multiplexwatcher.__init__@  s    !DL !(Dr   c                     | j                   S r   r   rk   s    r   <lambda>zio._multiplexwatcher.<lambda>K  s
     r   c                     t        | d|      S )Nr"   )rC   r   nvs     r   r   zio._multiplexwatcher.<lambda>L  s    GD)R4P r   c                     |j                  d      | _        || _        || _        | j                  }|.|j
                  s|j                          y |j                          y y )Npass_events)getr   callbackr;   r   r   	_io_start_calc_and_update_events)r   r   r;   r<   r   s        r   startzio._multiplexwatcher.startN  sX    %zz-8D$DMDI''G"~~%%' 335 #r   c                 l    d | _         d | _        d | _        | j                  }||j	                          y y r   )r   r   r;   r   _io_maybe_stopr   r   s     r   stopzio._multiplexwatcher.stop[  s:     DM#DDI''G"&&( #r   c                 `    | j                   | j                   j                  |        d | _         y r   )r   _multiplex_closedrk   s    r   closezio._multiplexwatcher.closec  s*      ,!!33D9 $Dr   c                     | j                   d uS r   )r   rk   s    r   r   zio._multiplexwatcher.activeh  s    ==,,r   c                 .    | j                   j                  S r   )r   re   rk   s    r   re   zio._multiplexwatcher._watcherl  s     $$---r   c                 0    t        | j                  dd      S )Nr   )r@   r   rk   s    r   r   zio._multiplexwatcher.<lambda>s  s    74+<+<eR#H r   c                 8    | j                   j                  |      S r   )r   r   r   s     r   r   zio._multiplexwatcher.<lambda>t  s    t'8'8'@'@'D r   )r   r   r   r   r;   r   r]   r,   r   r    not_while_activer#   r   r   r   r   re   r   r
   r   r   _multiplexwatcherr   9  s    	( %"E""#PQS	6	)	%
 
	- 
	- 
	. 
	. HDFr   r   c                     | j                          | j                  D ]  }|j                   y  | j                          y r   )r   r   r   r   )r   ws     r   r   zio._io_maybe_stopv  s=    $$&)) 	Azz% 		 			r   c                 ^    | j                          | j                  | j                  d       y )NT)r   )r   r   _io_callbackrk   s    r   r   zio._io_start  s$    $$&

4$$$
7r   c                     d}| j                   D ]  }|j                  ||j                  z  }  | j                  |       y )Nr   )r   r   r#   r   r   s      r   r   zio._calc_and_update_events  sF    // 	)G+'..(	) 	 r   c                     | j                  ||       }| j                  j                  |       | j                          |S r   )r   r   appendr   r   s      r   	multiplexzio.multiplex  s9    ((6  ''0$$&r   c                 .    t         t        |           | `y r   )r   r   r   r   )r   r   s    r   r   zio.close  s    b$$r   c                     | j                   j                  |       | j                   s1| j                          | j                          | j	                          y | j                          y r   )r   r   r   _no_more_watchersr   r   r   s     r   r   zio._multiplex_closed  sK      ''0''IIK""$ JJL((*r   c                      y r   r
   rk   s    r   r   zio._no_more_watchers  s     	r   c           
         |dk  rdt        d| j                  t        j                  t        j                  |            t        j                  t        j                  |                   | j                  D ]  }|j                  s|j                  | u sJ | |j                  f       ||j                  z  xs |dk  }|sJ|j                  s |j                  |j                    p |j                  |g|j                     y )Nr   zCallback error on)r   r   r4   r5   r6   r7   r9   r   r   r   r#   r   r;   )r   r#   r   
send_events       r   r   zio._io_callback  s    A:$dhhE--f56E--f568" // 	<G##''4/M$8L8L1MM/ 7>>1@fqjJ**$G$$gll3$G$$V;gll;	<r   )TN)(r   r   r   _watcher_type_watcher_callback_name&_watcher_registers_with_loop_on_creater6   UV_READABLEUV_WRITABLEUV_DISCONNECT
EVENT_MASKr   r,   r   r    r   r   r   r   r   r#   rl   r   platform
startswithr   r   uv_poll_init_socketrb   objectr   r   r   r   r   r   r   r   r   __classcell__r   s   @r   r   r      s    M5D .3*""U%6%669L9LLJ& & &U k;/FQ ||w'4  88;FF ;Fz	8!%+&
<r   r   c                   r     e Zd ZdZ fdZd Zed        Zd Zd Z	ed        Z
d Zd	 Zd
 Zd Zd Z xZS )_SimulatedWithAsyncMixinTc                     |j                         | _        	 t        t        |   |g|i | y #  | j                  j                           xY wr   )async__asyncr   r   r,   r   )r   rc   r;   r<   r   s       r   r,   z!_SimulatedWithAsyncMixin.__init__  sI    kkm	*D:4Q$Q&Q	KKs	   0 Ac                      y r   r
   r   r   s     r   _watcher_createz(_SimulatedWithAsyncMixin._watcher_create      r   c                      y r   r
   rk   s    r   _watcher_handlez(_SimulatedWithAsyncMixin._watcher_handle      r   c                      y r   r
   r   s     r   rg   z*_SimulatedWithAsyncMixin._watcher_ffi_init  r   r   c                 &    || j                   _        y r   )r   r]   r^   s     r   r_   z2_SimulatedWithAsyncMixin._watcher_ffi_set_init_ref  s    r   c                 .    | j                   j                  S r   )r   r   rk   s    r   r   z_SimulatedWithAsyncMixin.active  s    {{!!!r   c                     | j                   J | j                          || _        || _         | j                   j                  |g|  y r   )r   _register_loop_callbackr   r;   r   )r   cbr;   s      r   r   z_SimulatedWithAsyncMixin.start  sE    {{&&&$$&	"$t$r   c                     | j                          d | _        d | _        | j                  | j                  j	                          y y r   )_unregister_loop_callbackr   r;   r   r   rk   s    r   r   z_SimulatedWithAsyncMixin.stop  s=    &&(	;;" KK #r   c                 d    | j                   $| j                   }d | _         |j                          y y r   )r   r   )r   as     r   r   z_SimulatedWithAsyncMixin.close  s*    ;;"ADKGGI #r   c                     t               r   NotImplementedErrorrk   s    r   r   z0_SimulatedWithAsyncMixin._register_loop_callback      !##r   c                     t               r   r   rk   s    r   r   z2_SimulatedWithAsyncMixin._unregister_loop_callback  r   r   )r   r   r   _watcher_skip_ffir,   r   r   r   rg   r_   r   r   r   r   r   r   r   r   s   @r   r   r     s^       " "%$$r   r   c                   "    e Zd ZdZd Zd Zd Zy)forkFc                 N    | j                   j                  j                  |        y r   )rc   _fork_watchersaddrk   s    r   r   zfork._register_loop_callback  s    		  $$T*r   c                 n    	 | j                   j                  j                  |        y # t        $ r Y y w xY wr   )rc   r   r   r   rk   s    r   r   zfork._unregister_loop_callback  s1    	II$$++D1 		s   %( 	44c                 8    | j                   j                          y r   )r   sendrk   s    r   _on_forkzfork._on_fork  s    r   N)r   r   r   r   r   r   r  r
   r   r   r   r     s     +r   r   c                   "    e Zd ZdZd Zd Zd Zy)childTc                 :    | j                   j                  |        y r   )rc   _register_child_watcherrk   s    r   r   zchild._register_loop_callback-  s    		))$/r   c                 :    | j                   j                  |        y r   )rc   _unregister_child_watcherrk   s    r   r   zchild._unregister_loop_callback0  s    		++D1r   c                 T    || _         || _        | j                  j                          y r   )_rpid_rstatusr   r  )r   pidstatuss      r   _set_waitpid_statuszchild._set_waitpid_status3  s     
r   N)r   r   r   r   r   r   r  r
   r   r   r  r    s     02r   r  c                   >    e Zd ZdZd Zd Zd Zd Zd Ze	d        Z
y)	r   _gevent_async_callback0c                       y r   r
   r
   r   r   r   zasync_.<lambda>K  s    r   c                 x    | j                  | j                  j                  | j                  | j                        S r   )rb   rc   rd   re   rj   rf   s     r   rg   zasync_._watcher_ffi_initM  s0    
 !!$))--"&"8"8: 	:r   c                      y r   r
   rk   s    r   rl   zasync_._watcher_ffi_startU  rx   r   c                      y r   r
   rk   s    r   ro   zasync_._watcher_ffi_stopX  rx   r   c                     | j                   t        j                   usJ d       t        j                  | j                        rt        d      t        j                  | j                         y )NzSending to a closed watcherzClosing handle)r   r   r6   rU   re   r   uv_async_sendrk   s    r   r  zasync_.send[  sP    ~~V%5%55T7TT5t}}-,--DMM*r   c                      y r   r
   rk   s    r   pendingzasync_.pendingb  r   r   N)r   r   r   r   r   rg   rl   ro   r  r   r  r
   r   r   r   r   9  s7    6" I:+  r   r   asyncc                   &    e Zd ZdZdZd Zd Zd Zy)timer_gevent_timer_callback0Fc                 j   | j                  | j                  j                  | j                         |\  | _        | _        | j                  r-| j                  dk  rdd l}|j                  dd       d| _        | j
                  r/| j
                  dk  rdd l}|j                  dd       d| _        y y y )NgMbP?r   zTlibuv only supports millisecond timer resolution; all times less will be set to 1 ms   )
stacklevel)rb   rc   rd   re   _after_repeatwarningswarn)r   r;   r$  s      r   rg   ztimer._watcher_ffi_init  s    499==$--8$(!T\;;4;;. MM ?%&  (
  DK<<DLL50MM ?%&  ( !DL 1<r   c           	      4   | j                   r t        j                  | j                         y 	 | j	                  | j                  | j
                  t        | j                  dz        t        | j                  dz               y # t        $ r t               w xY wNi  )_againr6   uv_timer_againre   ri   rj   intr"  r#  
ValueError	TypeErrorrk   s    r   rl   ztimer._watcher_ffi_start  sw    ;;  /"##DMM43I3I$'d(:$;$'t(;$<>  "k!"s   AB Bc                     | j                   s | j                  |g|i | y d| _        	  | j                  |g|i | | `y # | `w xY w)NT)r   r   r(  )r   r   r;   kws       r   againztimer.again  sU    {{ DJJx-$-"-	DJJx-$-"-s   A A	N)r   r   r   r   r(  rg   rl   r/  r
   r   r   r  r  h  s    6( F!(
"r   r  c                   ^    e Zd ZdZdZdZd Zd ZdZd Z	e
d        Ze
d	        Ze
d
        Zy)statfs_pollgevent_fs_poll_t_gevent_fs_poll_callback3c                 (    ||j                   _        |S r   )handlerS   )r   the_watcherrS   s      r   _watcher_set_datazstat._watcher_set_data  s    "&r   c                 b    | j                  | j                  j                  | j                        S r   ra   rf   s     r   rg   zstat._watcher_ffi_init  s!    !!$))--??r   g`--g?c           	          t        | j                  | j                        | _        | j                  | j                  | j
                  | j                  t        | j                  dz               y r'  )max	_intervalMIN_STAT_INTERVALri   re   rj   _cpathr*  rk   s    r   rl   zstat._watcher_ffi_start  sN    T^^T-C-CDDMM4+A+A KK 56	8r   c                 B    | j                   j                  j                  S r   )re   r6  rS   rk   s    r   r   zstat._watcher_handle  s    }}##(((r   c                 p    | j                   j                  j                  sy | j                   j                  S r   )re   currst_nlinkrk   s    r   attrz	stat.attr  (    }}!!**}}!!!r   c                 p    | j                   j                  j                  sy | j                   j                  S r   )re   prevrB  rk   s    r   rF  z	stat.prev  rD  r   N)r   r   r   r   _watcher_struct_namer   r8  rg   r=  rl   r   r   rC  rF  r
   r   r   r1  r1    sg    M-8@ "8 ) ) " "
 " "r   r1  c                       e Zd ZdZd Zd Zy)signal_gevent_signal_callback1c                 r    | j                  | j                  j                  | j                         d| _        y )NF)rb   rc   rd   re   r]   rf   s     r   rg   zsignal._watcher_ffi_init  s%    499==$--8r   c                 f    | j                  | j                  | j                  | j                         y r   )ri   re   rj   
_signalnumrk   s    r   rl   zsignal._watcher_ffi_start  s%    DMM4+A+A OO	-r   N)r   r   r   r   rg   rl   r
   r   r   rI  rI    s    7
-r   rI  c                       e Zd ZdZy)idle_gevent_idle_callback0Nr   r   r   r   r
   r   r   rO  rO    s
     6r   rO  c                       e Zd ZdZy)check_gevent_check_callback0NrQ  r
   r   r   rS  rS    s    6r   rS  c                       e Zd ZdZd Zd Zy)OneShotCheckTc                 ^    | j                   t        j                        fd       }|S )Nc                                |  S r   r
   )r;   funcr   s    r   r   z"OneShotCheck.__make_cb.<locals>.cb  s    F;r   )r   rA   rB   )r   rY  r   r   s    ` @r   	__make_cbzOneShotCheck.__make_cb  s.    yy			 
	 	r   c                 N    t        j                  | | j                  |      g| S r   )rS  r   _OneShotCheck__make_cb)r   r   r;   s      r   r   zOneShotCheck.start  s!    {{4!9ADAAr   N)r   r   r   r   r\  r   r
   r   r   rV  rV    s    Br   rV  c                       e Zd ZdZy)prepare_gevent_prepare_callback0NrQ  r
   r   r   r^  r^    s    8r   r^  )5
__future__r   r   rA   r   gevent.libuvr   __all__r4   rM   r6   gevent._ffir   r    r   dictr	   rV   
def_externr   r   r   r   r"   r$   r+  r&   r   r(   rF   IoMixinr   r   	ForkMixinr   
ChildMixinr  
AsyncMixinr   locals
TimerMixinr  	StatMixinr1  SignalMixinrI  	IdleMixinrO  
CheckMixinrS  rV  PrepareMixinr^  r
   r   r   <module>rq     s   7  
 " mm ( t  %&  ?S^^)=^> 
 v&w')0	Z 	& B0F 0b+emm b+H}< }<~8$v 8$t#??($4+Uw +Z  CEg CL#"5??G #"L
-U 
-65??G 67Eg 7B5 B9e  ' 9r   