
    sh                    t    S SK Jr  S SKrS SKrS SKJrJr  \(       a  S SKJr  S SK	J
r
  S/r\" SSS	9rSS
 jrg)    )annotationsN)TYPE_CHECKINGTypeVar)	Generator)DataclassInstancedataclass_slots_Tr   )boundc                   ^ [         R                  " U 5      (       d   S5       eSS jm        SU4S jjn[        U [         R                  5      n[        USS5      nU" XR                  U5      $ )Nz Can only be used on dataclasses.c              3    #    U R                   R                  S5      nUcQ  / n[        U SS5      S:w  a  UR                  S5        [        U SS5      S:w  a  UR                  S5        U S h  vN   g [	        U[
        5      (       a  Uv   g [        U S5      (       d  U S h  vN   g [        S	U R                   S
35      e NT N 7f)N	__slots____weakrefoffset__r   __weakref____dictrefoffset____dict____next__z
Slots of 'z' cannot be determined)	r   getgetattrappend
isinstancestrhasattr	TypeError__name__)clsslotss     o/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/torch/utils/_backport_slots.py
_get_slots#dataclass_slots.<locals>._get_slots   s       -
 =Es/49]+s/49Z(s##K j))j6LMNN  s$   A*C,C-5C"C#CCweakref_slotc           
        > SU R                   ;   a  [        U R                   S35      e[        U R                   5      n[	        S [
        R                  " U 5       5       5      n[        [        R                  R                  [        T
U R                  SS 5      5      5      n[	        [        R                  " UR                  [        R                  " UU(       a  SOS5      5      5      US'   U H  nUR                  US 5        M     UR                  SS 5        UR                  S	S 5        [!        U S
S 5      n[#        U R                  U R$                  U5      n Ub  Xpl        SS jnSS jn	U(       a  SU;  a  Xl        SU;  a  Xl        U $ )Nr   z already specifies __slots__c              3  8   #    U  H  oR                   v   M     g 7fN)name).0fs     r   	<genexpr>6dataclass_slots.<locals>._add_slots.<locals>.<genexpr>;   s     D,CqFF,Cs      r   )r    r   r   __qualname__c                    [         R                  " U 5      nU Vs/ s H  n[        XR                  5      PM     sn$ s  snf r$   )dataclassesfieldsr   r%   )selfr/   r'   s      r   _dataclass_getstate@dataclass_slots.<locals>._add_slots.<locals>._dataclass_getstate_   s3     ''-F39:6aGD&&)6:::s   =c                    [         R                  " U 5      n[        X!5       H%  u  p4[        R	                  XR
                  U5        M'     g r$   )r.   r/   zipobject__setattr__r%   )r0   stater/   fieldvalues        r   _dataclass_setstate@dataclass_slots.<locals>._add_slots.<locals>._dataclass_setstatec   s7     ''-F #F 2""4U; !3    __getstate____setstate__)r0   r	   returnr5   )r0   r	   r7   zlist[object]r?   None)r   r   r   dicttupler.   r/   set	itertoolschainfrom_iterablemap__mro__filterfalse__contains__popr   type	__bases__r,   r=   r>   )r   	is_frozenr!   cls_dictfield_namesinherited_slots
field_namequalnamer1   r:   r   s             r   
_add_slots#dataclass_slots.<locals>._add_slots/   s`    #,,&s||n,HIJJ %DK,>,>s,CDDOO))#j#++a:K*LM

 !&!!,,  (4$"	
!
 &J LLT* & 	Z& 	]D) 353<<9'	;	< X-#6 X-#6 
r<   F)r   type[DataclassInstance]r?   zGenerator[str, None, None])r   rV   rN   boolr!   rW   r?   rV   )r.   is_dataclassr   _PARAMSfrozen)r   rT   paramsr!   r   s       @r   r   r      s    ##C((L*LL(O,A$A15AEIA	 AF S+--.F6>59Lc==,77r<   )r   ztype[_T]r?   rV   )
__future__r   r.   rD   typingr   r   collections.abcr   	_typeshedr   __all__r	   r   r+   r<   r   <module>ra      s;    #   ) )+ 
T,-^8r<   