
    F\h                         S r  " S S\5      r " S S5      r " S S5      r\R                  \5      r\" 5       r\" 5       r	\	S\S\S	0r
\
R                  5        V Vs0 s H  u  pX_M	     snn rS
 rS rgs  snn f )z(Common code between queues and channels.c                       \ rS rSrSrSrg)ItemInterpreterDestroyed   zBRaised when trying to get an item whose interpreter was destroyed. N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       =/usr/lib/python3.13/test/support/interpreters/_crossinterp.pyr   r      s    Lr   r   c                   *    \ rS rSrSrS rS rS rSrg)	classonly   zA non-data descriptor that makes a value only visible on the class.

This is like the "classmethod" builtin, but does not show up on
instances of the class.  It may be used as a decorator.
c                 R    Xl         [        U5      R                  U l        S U l        g N)valueclassmethod__get__gettername)selfr   s     r   __init__classonly.__init__   s     
!%(00	r   c                 @    U R                   b  [        S5      eX l         g )Nzalready used)r   	TypeError)r   clsr   s      r   __set_name__classonly.__set_name__   s    99 N++	r   c                 V    Ub  [        U R                  5      eU R                  S U5      $ r   )AttributeErrorr   r   )r   objr   s      r   r   classonly.__get__   s'    ? ++{{4%%r   )r   r   r   N)	r   r   r   r	   r
   r   r   r   r   r   r   r   r   r      s    

&r   r   c                   D    \ rS rSrSrSr\S	S j5       r\ rSr	S r
S rSrg)
UnboundItem    zRepresents a cross-interpreter item no longer bound to an interpreter.

An item is unbound when the interpreter that added it to the
cross-interpreter container is destroyed.
r   UNBOUNDc           
          U R                   R                  SU5      nUR                  SU5      n[        SUR                  5        S3U 4[	        UUUS95      n[
        R                  U5      $ )Nzcross-interpreter containerzcross-interpreterUnboundItem)_MODULE_NAMEr
   )r
   replacetype
capitalizedictobject__new__)r   kindmoduler   docsubclasss         r   	singletonUnboundItem.singleton)   so    kk!!"?Fkk-t4doo'(-F
 ~~h''r   c                 L    [        SU R                   SU R                   35      e)Nzuse .)	Exceptionr+   r,   )r   s    r   r2   UnboundItem.__new__;   s"    $s{{m1SYYK899r   c                 8    U R                    SU R                   3$ )Nr:   )r+   r,   )r   s    r   __repr__UnboundItem.__repr__>   s    ,,q--r   N)r'   )r   r   r   r	   r
   	__slots__r   r7   r+   r,   r2   r>   r   r   r   r   r%   r%       s6     I( ( GE:.r   r%            c                 Z    U n [         U   nU4$ ! [         a    [        SU< 35      ef = f)N#unsupported unbound replacement op )_UNBOUND_CONSTANT_TO_FLAGKeyErrorNotImplementedError)unboundopflags      r   serialize_unboundrL   P   sF    	BP(, 5L  P!$Gv"NOOPs   	 *c                      [         U    nU[        L a  [        eU[        L a  U" S5      eU[
        L a  [
        $ [        [        U5      5      e! [         a    [        SU < 35      ef = f)NrE   z%item's original interpreter destroyed)_UNBOUND_FLAG_TO_CONSTANTrG   rH   UNBOUND_REMOVEUNBOUND_ERRORr'   repr)rK   exctype_destroyedrJ   s      r   resolve_unboundrS   Y   sw    R&t, 
^!!	}	 GHH	w!$r(++  R!$Gx"PQQRs   	A A(N)r
   r;   r   r   r%   r1   r2   r'   rP   rO   rF   itemsrN   rL   rS   )kvs   00r   <module>rW      s    .My M& &0. .F ..
% A1Q  *C)H)H)JL)J T)JL ,Ls   A5