+
    iL  c                   s   ^ RI HtHt ^ RIHt ^ RIHt ^ RIt^ RIt^ RI	t	^t
^tR t]! R. R$O4      tR]n        R]P                  n        R	]P                   n        R
]P"                  n        R]P$                  n         ! R R]4      t ! R R]R7      t ! R R]4      t ! R R]4      t ! R R]4      t]! ]R4      '       d    ! R R]4      t]! ]R4      '       d&   ]P4                  ( t]P8                  ( t ! R R]4      t]! ]R4      '       d    ! R R]4      t]! ]R 4      '       d    ! R! R"]4      t R# t!]!! R 4      '       d   ] t"R# ]!! R4      '       d   ]t"R# ]!! R4      '       d   ]t"R# ]!! R4      '       d   ]t"R# ]t"R# )%    )ABCMetaabstractmethod)
namedtuple)MappingNc                 s   \        V \        4      '       d   T pM \        V P                  4       4      pV^ 8  d   \        RP                  V4      4      hV#   \        \        \
        3 d    \        R P                  T 4      4      Rhi ; i)zInvalid file object: {!r}NzInvalid file descriptor: {})Z
isinstanceZintfilenoZAttributeErrorZ	TypeError
ValueErrorformat)fileobjfds   & "/usr/lib64/python3.14/selectors.py_fileobj_to_fdr      s     '3	?W^^%&B 
Av6==bABBI 	:6 	? $$*F7O5:>?	?s   A 2B	SelectorKeyzSelectorKey(fileobj, fd, events, data)

    Object used to associate a file object to its backing
    file descriptor, selected event mask, and attached data.
zFile object registered.zUnderlying file descriptor.z3Events that must be waited for on this file object.zvOptional opaque data associated to this file object.
For example, this could be used to store a per-client session ID.c                   sB   a  ] tR t^<t o R tR tRR ltR tR tRt	V t
R# )	_SelectorMappingc                s    Wn         R # N	_selector)selfselector   &&r
   __init__Z_SelectorMapping.__init__?   s    !    c                @    \        V P                  P                  4      # r   )lenr   
_fd_to_keyr      &r
   __len__Z_SelectorMapping.__len__B   s    4>>,,--r   Nc                s    V P                   P                  V4      pV P                   P                  P                  W24      # r   )r   _fileobj_lookupr   get)r   r   Zdefaultr	   s   &&& r
   r   Z_SelectorMapping.getE   s1    ^^++G4~~((,,R99r   c                s    V P                   P                  V4      pV P                   P                  P                  V4      pVf   \	        RP                  V4      4      hV# )N{!r} is not registered)r   r   r   r   KeyErrorr   )r   r   r	   keys   &&  r
   __getitem__Z_SelectorMapping.__getitem__I   sQ    ^^++G4nn''++B/;3::7CDD
r   c                r   r   )Ziterr   r   r   r   r
   __iter__Z_SelectorMapping.__iter__P   s    DNN--..r   r   r   )__name__
__module____qualname____firstlineno__r   r   r   r!   r"   __static_attributes____classdictcell____classdict__   @r
   r   r   <   s#     ".:/ /r   r   c                   s   a  ] tR t^Tt o ]RR l4       t]R 4       tRR lt]RR l4       tR t	R t
]R 4       tR	 tR
 tRtV tR# )BaseSelectorNc                    \         hr   ZNotImplementedErrorr   r   eventsdata   &&&&r
   registerZBaseSelector.registerc   s
    * "!r   c                r-   r   r.   )r   r   r   r
   
unregisterZBaseSelector.unregisterz   
    " "!r   c                sH    V P                  V4       V P                  WV4      # r   )r4   r3   r/   r2   r
   modifyZBaseSelector.modify   s!     	 }}Wd33r   c                r-   r   r.   )r   timeoutr   r
   selectZBaseSelector.select   r5   r   c                s    R # r    r   r   r
   closeZBaseSelector.close   s    
 	r   c                s    V P                  4       pVf   \        R4      h W!,          #   \         d    \        RP                  T4      4      R hi ; i)NzSelector is closedr   )get_mapZRuntimeErrorr   r   )r   r   Zmapping   && r
   get_keyZBaseSelector.get_key   sY     ,,.?344	O## 	O3::7CD$N	Os	   ) 'Ac                r-   r   r.   r   r   r
   r;   ZBaseSelector.get_map   s
     "!r   c                s    V # r   r9   r   r   r
   	__enter__ZBaseSelector.__enter__   s    r   c                s&    V P                  4        R # r   )r:   )r   Zargss   &*r
   __exit__ZBaseSelector.__exit__   s    

r   r9   r   )r#   r$   r%   r&   r   r3   r4   r6   r8   r:   r=   r;   r>   r?   r'   r(   r)   r+   r
   r,   r,   T   st      " ", " "$4" " "$O " " r   r,   )Z	metaclassc                   sR   a  ] tR t^t o R tR tR
R ltR tR
R ltR t	R t
R	tV tR# )_BaseSelectorImplc                s4    / V n         \        V 4      V n        R # r   )r   r   _mapr   r   r
   r   Z_BaseSelectorImpl.__init__   s    $T*	r   c                s     \        V4      #   \         dD    T P                  P                  4        F#  pTP                  TJ g   K  TP
                  u u # 	  h i ; ir   )r   r   r   Zvaluesr   r	   r   r   r    r<   r
   r   Z!_BaseSelectorImpl._fileobj_lookup   sR    	!'** 	--/;;')66M 0 	s   
 5AAANc                sl   V'       d    V\         \        ,          ( ,          '       d   \        R P                  V4      4      h\	        WP                  V4      W#4      pVP                  V P                  9   d%   \        RP                  WP                  4      4      hW@P                  VP                  &   V# )zInvalid events: {!r}z"{!r} (FD {}) is already registered)	
EVENT_READEVENT_WRITEr   r   r   r   r	   r   r   r   r   r0   r1   r       &&&& r
   r3   Z_BaseSelectorImpl.register   s    FzK'?%@@@3::6BCC'#7#7#@&O66T__$?"F7FF35 5 #&
r   c                s     V P                   P                  V P                  V4      4      pV#   \         d    \        R P	                  T4      4      Rhi ; i)r   N)r   Zpopr   r   r   rB   r<   r
   r4   Z_BaseSelectorImpl.unregister   sZ    	O//%%d&:&:7&CDC 
  	O3::7CD$N	Os	   *. 'Ac                s~    V P                   V P                  V4      ,          pY$P                  8w  d&   T P                  T4       T P                  YT4      pT# Y4P                  8w  d+   TP                  TR7      pY@P                   TP                  &   T#   \         d    \        R P                  T4      4      Rhi ; i)r   N)r1   )
r   r   r   r   r0   r4   r3   r1   _replacer	   rE   rF   r
   r6   Z_BaseSelectorImpl.modify  s    	O//$"6"6w"?@C ZZOOG$--6C
 
	 XX,,D,)C&)OOCFF#
  	O3::7CD$N	Os   "B 'B<c                sH    V P                   P                  4        R V n        R # r   )r   ZclearrA   r   r   r
   r:   Z_BaseSelectorImpl.close  s    	r   c                s    V P                   # r   )rA   r   r   r
   r;   Z_BaseSelectorImpl.get_map  s    yyr   )r   rA   r   )r#   r$   r%   r&   r   r   r3   r4   r6   r:   r;   r'   r(   r)   r+   r
   r@   r@      s-     +& r   r@   c                   s   a a ] tR tRt oV 3R ltR	V 3R lltV 3R lt]P                  R8X  d   R	R lt	M]
P                  t	R	R lt
RtVtV ;t# )
SelectSelectori  c                s`   < \         SV `  4        \        4       V n        \        4       V n        R # r   )superr   Zset_readers_writersr   	__class__   &r
   r   ZSelectSelector.__init__  s     r   c                s  < \         SV `  WV4      pV\        ,          '       d&   V P                  P	                  VP
                  4       V\        ,          '       d&   V P                  P	                  VP
                  4       V# r   )rI   r3   rC   rJ   Zaddr	   rD   rK   )r   r   r0   r1   r    rM   s   &&&& r
   r3   ZSelectSelector.register!  s[    gw5JMMcff%KMMcff%
r   c                s   < \         SV `  V4      pV P                  P                  VP                  4       V P
                  P                  VP                  4       V# r   )rI   r4   rJ   Zdiscardr	   rK   r   r   r    rM      && r
   r4   ZSelectSelector.unregister)  sC    g )cff%cff%
r   Zwin32c                sL    \         P                   ! WW$4      w  rpWV,           . 3# r   )r8   )r   rw_r7   Zxs   &&&&& r
   _selectZSelectSelector._select0  s$    mmA!5GA!!eR<r   c                s   Vf   R M\        V^ 4      p. p V P                  V P                  V P                  . V4      w  r4p\        T4      p\        T4      pY4,          pT P                  P                  pT Fa  pT! T4      p	T	'       g   K  Y9   ;'       d    \        Y9   ;'       d    \        ,          p
TP                  YT	P                  ,          34       Kc  	  T#   \         d    Tu # i ; ir   )maxrT   rJ   rK   InterruptedErrorZ	frozensetr   r   rC   rD   appendr0   )r   r7   readyrQ   rR   rS   Zrwfd_to_key_getr	   r    r0      &&         r
   r8   ZSelectSelector.select6  s    !/$s7A	ll4==$--WMGA! aLaLU++B#Cs711zW446cCJJ#678     	L	s   +C C.-C.)rJ   rK   r   )r#   r$   r%   r&   r   r3   r4   sysZplatformrT   r8   r'   r(   __classcell__rM   r*      @@r
   rH   rH     s<     
 ||w	  -- r   rH   c                   st   a a ] tR tRt oRtRtRtV 3R ltR	V 3R lltV 3R lt	R	V 3R llt
R	R ltRtVtV ;t# )
_PollLikeSelectoriJ  Nc                sN   < \         SV `  4        V P                  4       V n        R # r   )rI   r   _selector_clsr   rL   rN   r
   r   Z_PollLikeSelector.__init__P  s    ++-r   c                s.  < \         SV `  WV4      pV\        ,          ;'       d    V P                  V\        ,          ;'       d    V P
                  ,          p V P                  P                  VP                  V4       V#    \         ST `!  T4       h ; ir   )	rI   r3   rC   _EVENT_READrD   _EVENT_WRITEr   r	   r4   )r   r   r0   r1   r    Zpoller_eventsrM      &&&&  r
   r3   Z_PollLikeSelector.registerT  s    gw5 :-BB$2B2B"[0FFT5F5FH	NN##CFFM: 
	Gw's   &B Bc                s   < \         SV `  V4      p V P                  P                  VP                  4       V#   \         d     T# i ; ir   )rI   r4   r   r	   OSErrorrO   rP   r
   r4   Z_PollLikeSelector.unregister_  sO    g )	NN%%cff-
 
	  	 
		s   %9 AAc                sB  <  V P                   V P                  V4      ,          pRpY$P                  8w  dq   T\        ,          ;'       d    T P
                  T\        ,          ;'       d    T P                  ,          p T P                  P                  TP                  T4       RpY4P                  8w  d   RpT'       d+   TP                  Y#R7      pY@P                   TP                  &   T#   \         d    \        T: R 24      Rhi ; i   \        ST `1  T4       h ; i)z is not registeredNFT)r0   r1   )r   r   r   r0   rC   ra   rD   rb   r   r6   r	   rI   r4   r1   rG   )r   r   r0   r1   r    ZchangedZselector_eventsrM   s   &&&&   r
   r6   Z_PollLikeSelector.modifyi  s    	G//$"6"6w"?@C ZZ & 3 H H8H8H"(;"6"L"L4;L;L NO%%cffo> G88G,,f,8C&)OOCFF#
'  	Gg[(:;<$F	G"7+s   "C- ?&D -D	Dc                s   Vf   R pM'V^ 8:  d   ^ pM\         P                  ! VR,          4      p. p V P                  P                  V4      pT P
                  P                  pT F  w  rVT! T4      pT'       g   K  Y`P                  ( ,          ;'       d    \        Y`P                  ( ,          ;'       d    \        ,          pTP                  YxTP                  ,          34       K  	  T#   \         d    Tu # i ; i)N     @@)mathceilr   pollrV   r   r   ra   rD   rb   rC   rW   r0   )	r   r7   rX   fd_event_listrY   r	   eventr    r0   s	   &&       r
   r8   Z_PollLikeSelector.select  s     ?G\G ii#.G	 NN//8M ++&IB#Cs $4$4#44DD#'8'8&88GGZIcCJJ#678 '    	L	s   C, ,C<;C<r   r   )r#   r$   r%   r&   r`   ra   rb   r   r3   r4   r6   r8   r'   r(   r\   r]   r^   r
   r_   r_   J  s2     MKL.	0 r   r_   rh   c                   s^    ] tR tRt]P
                  t]P                  t]P                  t
RtR# )PollSelectori  r9   N)r#   r$   r%   r&   r8   rh   r`   POLLINra   POLLOUTrb   r'   r9   r   r
   rk   rk     s    mm~~r   rk   epollc                   s   a a ] tR tRt o]P
                  t]P                  t]P                  t
R tRR ltV 3R ltRtVtV ;t# )EpollSelectori  c                6    V P                   P                  4       # r   r   r   r   r   r
   r   ZEpollSelector.fileno      >>((**r   c                s0   Vf   RpM.V^ 8:  d   ^ pM$\         P                  ! VR,          4      R,          p\        V P                  4      ;'       g    ^p. p V P                  P                  W4      pT P                  pT F~  w  rgTP                  T4      pT'       g   K   T\        ,          ;'       d    \        T\        ,          ;'       d    \        ,          p	TP                  YTP                  ,          34       K  	  T#   \         d    Tu # i ; i)Nre   gMbP?i)rf   rg   r   r   r   rh   rV   r   _NOT_EPOLLINrD   _NOT_EPOLLOUTrC   rW   r0   )
r   r7   max_evrX   ri   Z	fd_to_keyr	   rj   r    r0   s
   &&        r
   r8   ZEpollSelector.select  s    A ))GcM2T9
 )..QFE $ 3 3G D I*	mmB'3$|3CC!&!6!E!E:GFLL#

':!;< + L $ s   D DDc                X   < V P                   P                  4        \        SV `  4        R # r   r   r:   rI   rL   rN   r
   r:   ZEpollSelector.close      NN  "GMOr   r9   r   )r#   r$   r%   r&   r8   rn   r`   EPOLLINra   EPOLLOUTrb   r   r:   r'   r(   r\   r]   r^   r
   ro   ro     s4     nn	+	<	 	r   ro   devpollc                   s   a a ] tR tRt o]P
                  t]P                  t]P                  t
R tV 3R ltRtVtV ;t# )DevpollSelectori  c                rp   r   rq   r   r   r
   r   ZDevpollSelector.fileno  rr   r   c                rv   r   rw   rL   rN   r
   r:   ZDevpollSelector.close  rx   r   r9   )r#   r$   r%   r&   r8   r{   r`   rl   ra   rm   rb   r   r:   r'   r(   r\   r]   r^   r
   r|   r|     s/     mm~~	+	 	r   r|   kqueuec                   sj   a a ] tR tRt oV 3R ltR tR	V 3R lltV 3R ltR	R ltV 3R lt	Rt
VtV ;t# )
KqueueSelectori  c                sf   < \         SV `  4        \        P                  ! 4       V n        ^ V n        R# )r    N)rI   r   r8   r}   r   _max_eventsrL   rN   r
   r   ZKqueueSelector.__init__  s#    G#]]_DN Dr   c                rp   r   rq   r   r   r
   r   ZKqueueSelector.fileno  rr   r   c                st  < \         SV `  WV4      p V\        ,          '       dv   \        P                  ! VP
                  \        P                  \        P                  4      pV P                  P                  V.^ ^ 4       V ;P                  ^,          un
        V\        ,          '       dv   \        P                  ! VP
                  \        P                  \        P                  4      pV P                  P                  V.^ ^ 4       V ;P                  ^,          un
        V#    \         ST `5  T4       h ; i)r    )rI   r3   rC   r8   keventr	   KQ_FILTER_READZ	KQ_EV_ADDr   controlr   rD   KQ_FILTER_WRITEr4   )r   r   r0   r1   r    kevrM   rc   r
   r3   ZKqueueSelector.register  s    '"7D9CJ&& --0E0E(.(8(8:CNN**C5!Q7$$)$K'' --0F0F(.(8(8:CNN**C5!Q7$$)$ J"7+s   BD% .A5D% %D7c                s  < \         SV `  V4      pVP                  \        ,          '       dw   \        P
                  ! VP                  \        P                  \        P                  4      pV ;P                  ^,          un	         V P                  P                  V.^ ^ 4       VP                  \        ,          '       dy   \        P
                  ! VP                  \        P                  \        P                  4      pV ;P                  ^,          un	         V P                  P                  V.^ ^ 4       V# V#   \         d     Li ; i  \         d     T# i ; i)i   )rI   r4   r0   rC   r8   r   r	   r   ZKQ_EV_DELETEr   r   r   rd   rD   r   )r   r   r    r   rM   s   &&  r
   r4   ZKqueueSelector.unregister  s   '$W-CzzJ&&mmCFFF,A,A$*$7$79  A% NN**C5!Q7
 zzK''mmCFFF,B,B$*$7$79  A% NN**C5!Q7 J3J     Js$   D; E ;E	E	EEc                s    Vf   R M\        V^ 4      pV P                  ;'       g    ^p. p V P                  P                  R W!4      pT P
                  P                  pT F  pTP                  pTP                  pT! T4      p	T	'       g   K-  T\        P                  8H  ;'       d    \        T\        P                  8H  ;'       d    \        ,          p
TP                  YT	P                  ,          34       K  	  T#   \         d    Tu # i ; ir   )rU   r   r   r   rV   r   r   ZidentZfilterr8   r   rC   r   rD   rW   r0   )r   r7   ru   rX   Zkev_listrY   r   r	   Zflagr    r0   rZ   r
   r8   ZKqueueSelector.select  s    %od3w?G %%**FE>>11$H !OO//MYYzz#B'3#v'<'<<KK!%)?)?!?!O!OKQFLL#

':!;<   L $ s   C= =DDc                rv   r   rw   rL   rN   r
   r:   ZKqueueSelector.close3  rx   r   )r   r   r   )r#   r$   r%   r&   r   r   r3   r4   r8   r:   r'   r(   r\   r]   r^   r
   r~   r~     s(     	!
	+	$	.	.	 	r   r~   c                 s    \        \        V R 4      pVf   R#  V! 4       pV R8X  d   VP                  ^ 4       R# VP                  4        R#   \         d     R# i ; i)NFrh   T)Zgetattrr8   rh   r:   rd   )Zmethodr   Zselector_objs   &  r
   _can_user   8  se     vvt,H
zVa     s   A A AA)r   r	   r0   r1   )#Zabcr   r   Zcollectionsr   Zcollections.abcr   rf   r8   r[   rC   rD   r   r   Z__doc__r   r	   r0   r1   r   r,   r@   rH   r_   Zhasattrrk   ry   rs   rz   rt   ro   r|   r~   r   ZDefaultSelectorr9   r   r
   <module>r      s   ( " #   
 
2 (KL 
 8   6 R   E   /w /0{W {|C CN.& .bO) Od 66&( & 67NN?L__$M)) )X 69+  68M* M`4 H$Og#Oi%Of"O$Or   