ó
    "Eñi  ã                  óŒ   • S SK Jr  S SKJrJrJrJrJrJr	  S SK
JrJrJr  \" S\S9r\" S\SS9rS	/r " S
 S	\\   \\   5      rg)é    )Úannotations)ÚHashableÚIterableÚIteratorÚ
MutableSetÚ
ReversibleÚSet)ÚAnyÚcastÚTypeVarÚT)ÚboundÚT_coT)r   Ú	covariantÚ
OrderedSetc                  ó°  ^ • \ rS rSrSrSrS%S&S jjr\S'S j5       rS(S jr	S)S jr
S*S jrS)S	 jrS+S
 jrS+S jrS,S jr\S-S j5       rS.S jrS/S jrS0S jrS1S jrS1S jrS0S jrS1S jrS2S jrS2S jrS3S jrS4S jrS0S jrS5U 4S jjrS3U 4S jjrS6U 4S jjr S6U 4S jjr!S5U 4S jjr"S5U 4S jjr#S5U 4S  jjr$S7S! jr%S8S" jr&S9S# jr'S:S$ jr(Sr)U =r*$ );r   é   z0
Insertion ordered set, similar to OrderedDict.
©Ú_dictc                óP   • Ub  [         R                  US 5      U l        g 0 U l        g ©N©ÚdictÚfromkeysr   )ÚselfÚiterables     ÚU/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/utils/_ordered_set.pyÚ__init__ÚOrderedSet.__init__   s    € Ø6>Ñ6J”T—]‘] 8¨TÓ2ˆ�
ÐPRˆ�
ó    c                ó&   • [        5       nXl        U$ r   )r   r   )Údict_inpÚss     r   Ú
_from_dictÚOrderedSet._from_dict   s   € ä%›<ˆØŒØˆr    c                ó   • XR                   ;   $ r   r   ©r   Úelems     r   Ú__contains__ÚOrderedSet.__contains__'   s   € Ø—z‘zÑ!Ð!r    c                ó,   • [        U R                  5      $ r   )Úiterr   ©r   s    r   Ú__iter__ÚOrderedSet.__iter__*   s   € Ü�D—J‘JÓÐr    c                ó,   • [        U R                  5      $ r   )Úlenr   r-   s    r   Ú__len__ÚOrderedSet.__len__-   s   € Ü�4—:‘:‹Ðr    c                ó,   • [        U R                  5      $ r   )Úreversedr   r-   s    r   Ú__reversed__ÚOrderedSet.__reversed__0   s   € Ü˜Ÿ
™
Ó#Ð#r    c                ó"   • S U R                   U'   g r   r   r'   s     r   ÚaddÚOrderedSet.add3   s   € Øˆ�
‰
�4Òr    c                ó<   • U R                   R                  US 5        g r   )r   Úpopr'   s     r   ÚdiscardÚOrderedSet.discard6   s   € Ø�
‰
�‰�t˜TÕ"r    c                ó8   • U R                   R                  5         g r   )r   Úclearr-   s    r   r@   ÚOrderedSet.clear9   s   € à�
‰
×ÑÕr    c                ój   • [        U[        5      (       d  [        U[        5      (       a  U " U5      $ U$ )zš
Wrap non-Set Iterables in OrderedSets

Some of the magic methods are more strict on input types than
the public apis, so we need to wrap inputs in sets.
)Ú
isinstanceÚAbstractSetr   )ÚclsÚothers     r   Ú_wrap_iter_in_setÚOrderedSet._wrap_iter_in_set?   s,   € ô ˜%¤×-Ñ-´*¸UÄH×2MÑ2MÙ�u“:ÐàˆLr    c                ó`   • U (       d  [        S5      eU R                  R                  5       S   $ )Nzpop from an empty setr   )ÚKeyErrorr   Úpopitemr-   s    r   r<   ÚOrderedSet.popM   s)   € ÞÜÐ2Ó3Ð3à�z‰z×!Ñ!Ó# AÑ&Ð&r    c                ó\   • [         R                  U R                  R                  5       5      $ r   )r   r$   r   Úcopyr-   s    r   rN   ÚOrderedSet.copyS   s   € Ü×$Ñ$ T§Z¡Z§_¡_Ó%6Ó7Ð7r    c                óD   • U R                  5       nUR                  " U6   U$ r   )rN   Údifference_update)r   ÚothersÚress      r   Ú
differenceÚOrderedSet.differenceV   s    € Ø�i‰i‹kˆØ×Ò˜vÑ&Øˆ
r    c                ó   • U H  nX-  n M	     g r   © ©r   rR   rF   s      r   rQ   ÚOrderedSet.difference_update[   ó   € ÛˆEØ‰MŠDò r    c                ó   • U H  nX-  n M	     g r   rW   rX   s      r   ÚupdateÚOrderedSet.update_   rZ   r    c                óL   • U R                  5       nU H  nX0Ld  M	  X#-  nM     U$ r   ©rN   ©r   rR   rS   rF   s       r   ÚintersectionÚOrderedSet.intersectionc   s+   € Ø�i‰i‹kˆÛˆEØÔ Ø‘’ñ ð ˆ
r    c                ó   • U H  nX-  n M	     g r   rW   rX   s      r   Úintersection_updateÚOrderedSet.intersection_updatej   rZ   r    c                ó(   • X R                  U5      :*  $ r   ©rG   ©r   rF   s     r   ÚissubsetÚOrderedSet.issubsetn   ó   € Ø×-Ñ-¨eÓ4Ñ4Ð4r    c                ó(   • X R                  U5      :¬  $ r   rg   rh   s     r   Ú
issupersetÚOrderedSet.issupersetq   rk   r    c                ó
   • X-  $ r   rW   rh   s     r   Úsymmetric_differenceÚOrderedSet.symmetric_differencet   s
   € Ø‰|Ðr    c                ó   • X-  n g r   rW   rh   s     r   Úsymmetric_difference_updateÚ&OrderedSet.symmetric_difference_updatew   s	   € Ø‰‰r    c                óL   • U R                  5       nU H  nX0L a  M	  X#-  nM     U$ r   r_   r`   s       r   ÚunionÚOrderedSet.unionz   s-   € Ø�i‰i‹kˆÛˆEØŠ}ÙØ‰LŠCñ ð ˆ
r    c                óØ   >• [        U[        5      (       a1  [        U 5      S-  [        U5      :”  a  U R                  5       nX!-  nU$ [	        [        [
           [        TU ]  U5      5      $ )Né   )rC   r   r1   rN   r   r   ÚsuperÚ__sub__)r   rF   ÚoutÚ	__class__s      €r   r{   ÚOrderedSet.__sub__„   sT   ø€ ä�eœZ×(Ñ(¬c°$«i¸!©m¼sÀ5»zÓ-IØ—)‘)“+ˆCØ‰LˆCØˆJÜ”Jœq‘M¤5¡7¡?°5Ó#9Ó:Ð:r    c                óš   >• [        U[        5      (       a'  U R                  R                  UR                  5        U $ [        TU ]  U5      $ r   )rC   r   r   r\   rz   Ú__ior__©r   rF   r}   s     €r   r€   ÚOrderedSet.__ior__Œ   s:   ø€ Ü�eœZ×(Ñ(Ø�J‰J×Ñ˜eŸk™kÔ*ØˆKÜ‰w‰˜uÓ%Ð%r    c                ó~   >• [        U[        5      (       a  U R                  UR                  :H  $ [        TU ]  U5      $ r   )rC   r   r   rz   Ú__eq__r�   s     €r   r„   ÚOrderedSet.__eq__’   ó2   ø€ Ü�eœZ×(Ñ(Ø—:‘: §¡Ñ,Ð,Ü‰w‰~˜eÓ$Ð$r    c                ó~   >• [        U[        5      (       a  U R                  UR                  :g  $ [        TU ]  U5      $ r   )rC   r   r   rz   Ú__ne__r�   s     €r   rˆ   ÚOrderedSet.__ne__—   r†   r    c                óL   >• [        [        [           [        TU ]  U5      5      $ r   )r   r   r   rz   Ú__or__r�   s     €r   r‹   ÚOrderedSet.__or__œ   s   ø€ Ü”Jœq‘M¤5¡7¡>°%Ó#8Ó9Ð9r    c                ó®   >• [        U[        5      (       a  [        U 5      [        U5      :  a  X-  $ [        [        [           [
        TU ]  U5      5      $ r   )rC   r   r1   r   r   rz   Ú__and__r�   s     €r   rŽ   ÚOrderedSet.__and__Ÿ   sA   ø€ ä�eœZ×(Ñ(¬S°«Y¼¸U»Ó-Cà‘<ÐÜ”Jœq‘M¤5¡7¡?°5Ó#9Ó:Ð:r    c                óL   >• [        [        [           [        TU ]  U5      5      $ r   )r   r   r   rz   Ú__xor__r�   s     €r   r‘   ÚOrderedSet.__xor__¦   s   ø€ Ü”Jœq‘M¤5¡7¡?°5Ó#9Ó:Ð:r    c                óL   • U R                   R                   S[        U 5       S3$ )NÚ(Ú))r}   Ú__name__Úlistr-   s    r   Ú__repr__ÚOrderedSet.__repr__©   s$   € Ø—.‘.×)Ñ)Ð*¨!¬D°«J¨<°qÐ9Ð9r    c                óH   • [        U R                  R                  5       5      $ r   )r—   r   Úkeysr-   s    r   Ú__getstate__ÚOrderedSet.__getstate__¬   s   € Ü�D—J‘J—O‘OÓ%Ó&Ð&r    c                ó:   • [         R                  US 5      U l        g r   r   )r   Ústates     r   Ú__setstate__ÚOrderedSet.__setstate__¯   s   € Ü—]‘] 5¨$Ó/ˆ�
r    c                ó&   • [         [        U 5      44$ r   )r   r—   r-   s    r   Ú
__reduce__ÚOrderedSet.__reduce__²   s   € ÜœT $›Z˜MÐ*Ð*r    r   )r   zIterable[T] | NoneÚreturnÚNone)r"   zdict[T, None]r¥   úOrderedSet[T])r(   Úobjectr¥   Úbool)r¥   zIterator[T])r¥   Úint)r(   r   r¥   r¦   )r¥   r¦   )rF   r
   r¥   r
   )r¥   r   )r¥   r§   )rR   úIterable[T]r¥   r§   )rR   r«   r¥   r¦   )rF   r«   r¥   r©   )rF   r«   r¥   r§   )rF   r«   r¥   r¦   )rF   zAbstractSet[T_co]r¥   r§   )rF   r¨   r¥   r©   )r¥   Ústr)r¥   úlist[T])rŸ   r­   r¥   r¦   )r¥   z*tuple[type[OrderedSet[T]], tuple[list[T]]])+r–   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r   Ústaticmethodr$   r)   r.   r2   r6   r9   r=   r@   ÚclassmethodrG   r<   rN   rT   rQ   r\   ra   rd   ri   rm   rp   rs   rv   r{   r€   r„   rˆ   r‹   rŽ   r‘   r˜   rœ   r    r£   Ú__static_attributes__Ú__classcell__)r}   s   @r   r   r      sØ   ø† ñð €IöSð óó ðô"ô ôô$ô ô#ôð óó ðô'ô8ôô
ôôôô5ô5ôôô÷;÷&÷%÷
%÷
:÷;÷;ô:ô'ô0÷+ò +r    N)Ú
__future__r   Úcollections.abcr   r   r   r   r   r	   rD   Útypingr
   r   r   r   r   Ú__all__r   rW   r    r   Ú<module>r»      sU   ðÝ "÷÷ ÷ &Ñ %ñ ˆC�xÑ €Ùˆv˜X°Ñ6€àˆ.€ô_+�˜A‘ 
¨1¡õ _+r    