
    sh                         S SK r S SKJr  S SKJr   " S S\5      r\ R                  S\\   4S j5       r	 " S S	5      r
g)
    N)Hashable)fieldsc                   H    \ rS rSr% Sr\\S'   \S 5       rS\	4S jr
S rSrg	)
	_UnionTag   )_clsr   c                 N    [        U 5      n[        US5      (       a   eXl        U$ )Nr   )r   hasattrr   )tclstags      m/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/torch/_export/serde/union.pycreate_UnionTag.create   s(    l3''''
    returnc                     [        U[        5      (       d   e[        U5      nU[        U R                  5      ;   d,   U SU R                   S[        U R                  5       35       e[        U 5      U:H  $ )Nz is not a valid tag for z. Available tags: )
isinstancestr_get_field_namesr   )selfcmpothers      r   __eq___UnionTag.__eq__   s    #s####C(II
 
 	hW,TYYK7IJZ[_[d[dJeIfg	h 
 4yE!!r   c                 *    [        [        U 5      5      $ N)hashr   r   s    r   __hash___UnionTag.__hash__   s    CIr    N)__name__
__module____qualname____firstlineno__	__slots__r   __annotations__staticmethodr   boolr   r    __static_attributes__r"   r   r   r   r      s/    I
N "T "r   r   r   c                 V    [        U 5       Vs1 s H  oR                  iM     sn$ s  snf r   )r   name)r   fs     r   r   r      s     "3K(KqFFK(((s   &c                   ~   ^  \ rS rSr% \\S'   \S 5       rS r\	S\
4S j5       r\	S 5       rU 4S jrS	 rS
 rSrU =r$ )_Union#   _typec           
         [        U5      S:X  d   eU " S0 0 [        U 5       Vs0 s H  o"R                  S _M     snEUED6n[        R	                  [        [        UR                  5       5      5      U 5      Ul        U$ s  snf )N   r"   )	lenr   r-   r   r   nextiterkeysr2   )r   kwargsr.   objs       r   r   _Union.create&   ss    6{aFEfSk:kk:EfEF$$T$v{{}*=%>D	
 ;s   A?c                 H    [        S [        U 5       5       5      (       a   eg )Nc              3   >   #    U  H  oR                   S ;   v   M     g7f))typer2   r   valueN)r-   ).0r.   s     r   	<genexpr>'_Union.__post_init__.<locals>.<genexpr>.   s     \|!vv!EE|s   )anyr   r   s    r   __post_init___Union.__post_init__-   s!    \vVZ|\\\\\\r   r   c                      U R                   $ ! [         a(  n[        S[        U 5      R                   S35      UeS nAff = f)NzPlease use z&.create to instantiate the union type.)r2   AttributeErrorRuntimeErrorr>   r#   )r   es     r   r>   _Union.type0   sI    	:: 	d4j1122XY	s    
A #;A c                 ,    [        X R                  5      $ r   )getattrr>   r   s    r   r?   _Union.value9   s    tYY''r   c                    > [         TU ]  U5      nUc6  U[        [        U 5      5      ;   a  XR                  :w  a  [	        SU S35      eU$ )NzField z is not set.)super__getattribute__r   r>   rG   )r   r-   attr	__class__s      r   rP   _Union.__getattribute__=   sJ    w'-<D$4T$Z$@@TYYEV 6$|!<==r   c                 "    U R                  5       $ r   )__repr__r   s    r   __str___Union.__str__C   s    }}r   c                 x    [        U 5      R                   SU R                    S[        X R                   5       S3$ )N(=))r>   r#   rL   r   s    r   rU   _Union.__repr__F   s4    t*%%&a		{!GD))4L3MQOOr   r"   )r#   r$   r%   r&   r   r(   classmethodr   rD   propertyr   r>   r?   rP   rV   rU   r+   __classcell__)rR   s   @r   r0   r0   #   sf     ] c   ( (P Pr   r0   )	functoolscollections.abcr   dataclassesr   r   r   cachesetr   r0   r"   r   r   <module>re      sI     $  . )SX ) )$P $Pr   