
    F\h                     J    S SK Jr  S SKJr  S/r " S S5      r " S S5      rg)    ref)GenericAliasWeakSetc                   &    \ rS rSrS rS rS rSrg)_IterationGuard   c                 $    [        U5      U l        g N)r   weakcontainer)selfr   s     "/usr/lib/python3.13/_weakrefset.py__init___IterationGuard.__init__   s     /    c                 b    U R                  5       nUb  UR                  R                  U 5        U $ r   )r   
_iteratingadd)r   ws     r   	__enter___IterationGuard.__enter__   s,     =LLT"r   c                     U R                  5       nUb6  UR                  nUR                  U 5        U(       d  UR                  5         g g g r   )r   r   remove_commit_removals)r   etbr   ss         r   __exit___IterationGuard.__exit__   sB     =AHHTN""$  r   )r   N)__name__
__module____qualname____firstlineno__r   r   r   __static_attributes__ r   r   r   r      s    0%r   r   c                       \ rS rSrS#S jrS rS rS rS rS r	S	 r
S
 rS rS rS rS rS rS rS r\rS rS rS r\rS rS rS r\rS rS r\rS rS r S r!\!r"S r#S r$S r%\%r&S  r'S! r(\)" \*5      r+S"r,g)$r   $   Nc                     [        5       U l        [        U 5      4S jnX l        / U l        [        5       U l        Ub  U R                  U5        g g )Nc                     U" 5       nUbI  UR                   (       a  UR                  R                  U 5        g UR                  R	                  U 5        g g r   )r   _pending_removalsappenddatadiscard)itemselfrefr   s      r   _remove!WeakSet.__init__.<locals>._remove'   sA    9D??**11$7II%%d+	  r   )setr-   r   r1   r+   r   update)r   r-   r1   s      r   r   WeakSet.__init__%   sF    E	"%d) 	, !#%KK r   c                     U R                   R                  nU R                  R                  n  U" 5       nU" U5        M  ! [         a     g f = fr   )r+   popr-   r.   
IndexError)r   r7   r.   r/   s       r   r   WeakSet._commit_removals5   sS    $$(())##u DM   s   A   
AAc              #      #    [        U 5         U R                   H  nU" 5       nUc  M  Uv   M     S S S 5        g ! , (       d  f       g = f7fr   )r   r-   r   itemrefr/   s      r   __iter__WeakSet.__iter__?   s:     T"99y# J % #""s   A;;	A
A	Ac                 X    [        U R                  5      [        U R                  5      -
  $ r   )lenr-   r+   r   s    r   __len__WeakSet.__len__H   s     499~D$:$: ;;;r   c                 V     [        U5      nX R                  ;   $ ! [         a     gf = f)NF)r   	TypeErrorr-   )r   r/   wrs      r   __contains__WeakSet.__contains__K   s2    	TB YY  		s    
((c                 P    U R                   [        U 5      4U R                  5       4$ r   )	__class__list__getstate__rA   s    r   
__reduce__WeakSet.__reduce__R   s"    ~~T
}d.?.?.AAAr   c                     U R                   (       a  U R                  5         U R                  R                  [	        XR
                  5      5        g r   )r+   r   r-   r   r   r1   r   r/   s     r   r   WeakSet.addU   s0    !!!!#		c$-.r   c                 z    U R                   (       a  U R                  5         U R                  R                  5         g r   )r+   r   r-   clearrA   s    r   rS   WeakSet.clearZ   s%    !!!!#		r   c                 $    U R                  U 5      $ r   rJ   rA   s    r   copyWeakSet.copy_   s    ~~d##r   c                     U R                   (       a  U R                  5           U R                  R                  5       nU" 5       nUb  U$ M)  ! [         a    [	        S5      S ef = f)Nzpop from empty WeakSet)r+   r   r-   r7   KeyErrorr;   s      r   r7   WeakSet.popb   si    !!!!#C))--/ 9D   C78dBCs   A A#c                     U R                   (       a  U R                  5         U R                  R                  [	        U5      5        g r   )r+   r   r-   r   r   rP   s     r   r   WeakSet.removen   s-    !!!!#		T#r   c                     U R                   (       a  U R                  5         U R                  R                  [	        U5      5        g r   )r+   r   r-   r.   r   rP   s     r   r.   WeakSet.discards   s-    !!!!#		#d)$r   c                 z    U R                   (       a  U R                  5         U H  nU R                  U5        M     g r   )r+   r   r   )r   otherelements      r   r4   WeakSet.updatex   s-    !!!!#GHHW r   c                 (    U R                  U5        U $ r   )r4   r   ra   s     r   __ior__WeakSet.__ior__~   s    Er   c                 H    U R                  5       nUR                  U5        U$ r   )rW   difference_updater   ra   newsets      r   
differenceWeakSet.difference   s       'r   c                 &    U R                  U5        g r   )__isub__re   s     r   ri   WeakSet.difference_update       er   c                     U R                   (       a  U R                  5         XL a  U R                  R                  5         U $ U R                  R	                  S U 5       5        U $ )Nc              3   8   #    U  H  n[        U5      v   M     g 7fr   r   .0r/   s     r   	<genexpr>#WeakSet.__isub__.<locals>.<genexpr>   s     'DedD		e   )r+   r   r-   rS   ri   re   s     r   ro   WeakSet.__isub__   sP    !!!!#=IIOO  II'''De'DDr   c                 :   ^  T R                  U 4S jU 5       5      $ )Nc              3   6   >#    U  H  oT;   d  M
  Uv   M     g 7fr   r&   ru   r/   r   s     r   rv   'WeakSet.intersection.<locals>.<genexpr>   s     Eutddus   		rV   re   s   ` r   intersectionWeakSet.intersection   s    ~~EuEEEr   c                 &    U R                  U5        g r   )__iand__re   s     r   intersection_updateWeakSet.intersection_update   rq   r   c                     U R                   (       a  U R                  5         U R                  R                  S U 5       5        U $ )Nc              3   8   #    U  H  n[        U5      v   M     g 7fr   r   rt   s     r   rv   #WeakSet.__iand__.<locals>.<genexpr>   s     %BEDc$iiErx   )r+   r   r-   r   re   s     r   r   WeakSet.__iand__   s4    !!!!#		%%%BE%BBr   c                 F    U R                   R                  S U 5       5      $ )Nc              3   8   #    U  H  n[        U5      v   M     g 7fr   r   rt   s     r   rv   #WeakSet.issubset.<locals>.<genexpr>   s     !>#d))rx   )r-   issubsetre   s     r   r   WeakSet.issubset   s    yy!!!>!>>>r   c                 N    U R                   [        [        [        U5      5      :  $ r   r-   r3   mapr   re   s     r   __lt__WeakSet.__lt__       yy3s3///r   c                 F    U R                   R                  S U 5       5      $ )Nc              3   8   #    U  H  n[        U5      v   M     g 7fr   r   rt   s     r   rv   %WeakSet.issuperset.<locals>.<genexpr>   s     #@%$CII%rx   )r-   
issupersetre   s     r   r   WeakSet.issuperset   s    yy###@%#@@@r   c                 N    U R                   [        [        [        U5      5      :  $ r   r   re   s     r   __gt__WeakSet.__gt__   r   r   c                     [        XR                  5      (       d  [        $ U R                  [	        [        [        U5      5      :H  $ r   )
isinstancerJ   NotImplementedr-   r3   r   r   re   s     r   __eq__WeakSet.__eq__   s1    %00!!yyCC000r   c                 H    U R                  5       nUR                  U5        U$ r   )rW   symmetric_difference_updaterj   s      r   symmetric_differenceWeakSet.symmetric_difference   s     **51r   c                 &    U R                  U5        g r   )__ixor__re   s     r   r   #WeakSet.symmetric_difference_update   rq   r   c                    ^  T R                   (       a  T R                  5         T UL a  T R                  R                  5         T $ T R                  R	                  U 4S jU 5       5        T $ )Nc              3   P   >#    U  H  n[        UTR                  5      v   M     g 7fr   )r   r1   r|   s     r   rv   #WeakSet.__ixor__.<locals>.<genexpr>   s!     1\V[d#dDLL2I2IV[s   #&)r+   r   r-   rS   r   re   s   ` r   r   WeakSet.__ixor__   sT    !!!!#5=IIOO  II111\V[1\\r   c                 4    U R                  S X4 5       5      $ )Nc              3   6   #    U  H  o  H  o"v   M     M     g 7fr   r&   )ru   r   r   s      r   rv    WeakSet.union.<locals>.<genexpr>   s     BA1aas   rV   re   s     r   unionWeakSet.union   s    ~~B$BBBr   c                 <    [        U R                  U5      5      S:H  $ )Nr   )r@   r~   re   s     r   
isdisjointWeakSet.isdisjoint   s    4$$U+,11r   c                 ,    [        U R                  5      $ r   )reprr-   rA   s    r   __repr__WeakSet.__repr__   s    DIIr   )r   r+   r1   r-   r   )-r!   r"   r#   r$   r   r   r=   rB   rG   rM   r   rS   rW   r7   r   r.   r4   rf   rl   __sub__ri   ro   r~   __and__r   r   r   __le__r   r   __ge__r   r   r   __xor__r   r   r   __or__r   r   classmethodr   __class_getitem__r%   r&   r   r   r   r   $   s     <B/

$
$
%
 GFG?F0AF01
 #GCF2 $L1r   N)_weakrefr   typesr   __all__r   r   r&   r   r   <module>r      s*   
  +% %2i2 i2r   