
    JTh	                     |    S SK JrJr  S SKrS SKJs  Jr  S SKJ	r	  S SK
Jr  S SKJr   " S S\R                  5      rg)    )AnyOptionalN)is_fake)	TwoTensor)return_and_correct_aliasingc                   |    \ rS rSr\SS j5       rSS jrS rS r\S 5       r	\
S 5       r SS	\S
\\   4S jjrSrg)WrapperSubclass   Nc                 >   Uc  UR                  5       nUc  UR                  5       n0 nX4S'   UR                  5       US'   UR                  US'   UR                  US'   UR
                  US'   UR                  US'   [        R                  R                  " X40 UD6nU$ )Nstridesstorage_offsetdevicelayoutrequires_graddtype)
sizestrider   r   r   r   r   torchTensor_make_wrapper_subclass)clsa
outer_sizeouter_stridekwargsouts         Z/var/www/auris/envauris/lib/python3.13/site-packages/torch/testing/_internal/subclasses.py__new__WrapperSubclass.__new__   s    J88:L(y#$#3#3#5 88x88x"#//''wll11#LVL
    c                     Xl         g Nr   )selfr   r   r   s       r   __init__WrapperSubclass.__init__   s    r    c                 4    S[        U R                  5       S3$ )NzWrapperSubclass())reprr   r$   s    r   __repr__WrapperSubclass.__repr__!   s    !$tvv,q11r    c                     S/S 4$ Nr    r*   s    r   __tensor_flatten__"WrapperSubclass.__tensor_flatten__$   s    ud{r    c                 b    Ub   eU S   n[        U5      (       a
  Uc   eUc   e[        XBU5      $ r.   )r   r	   )inner_tensorsmetar   r   r   s        r   __tensor_unflatten__$WrapperSubclass.__tensor_unflatten__'   sD    ||#1::)))+++ql;;r    c                    Uc  0 n[         R                  " [        S U5      n[         R                  " [        S U5      nU" U0 UD6n[         R                  " U5      u  pU V
s/ s H/  n
[	        U
[
        R                  5      (       a  [        U
5      OU
PM1     nn
[         R                  " X5      nSSKJ	n  XL a  U$ [        XXL5      $ s  sn
f )Nc                     U R                   $ r"   r#   xs    r   <lambda>4WrapperSubclass.__torch_dispatch__.<locals>.<lambda>4   s    r    c                     U R                   $ r"   r#   r9   s    r   r;   r<   6   s    133r    r   )cond_op)pytreetree_map_onlyr	   tree_flatten
isinstancer   r   tree_unflattentorch._higher_order_ops.condr>   r   )r   functypesargsr   args_akwargs_aout_a
out_a_flatspeco_aout_flatr   r>   s                 r   __torch_dispatch__"WrapperSubclass.__torch_dispatch__0   s    >F%%o}dK''Of))!..u5
 "
! %/sELL$A$AOC sJ! 	 
 ##H38?J.t6GG
s   $6C
expected_metadataexpected_typec                     U[        U R                  5      :X  a  U R                  $ U[        L a.  [        U R                  U R                  R                  5       5      $ g r"   )typer   r   clone)r$   rQ   rR   s      r   #__coerce_same_metadata_as_tangent__3WrapperSubclass.__coerce_same_metadata_as_tangent__F   sC     DL(66Mi'TVVTVV\\^44r    r#   )NNr"   )__name__
__module____qualname____firstlineno__staticmethodr   r%   r+   r0   r5   classmethodrO   r   r   rT   rV   __static_attributes__r/   r    r   r	   r	      sr     "2 < < H H, GK!$5=d^ r    r	   )typingr   r   r   torch.utils._pytreeutils_pytreer?   torch._subclasses.fake_tensorr   "torch.testing._internal.two_tensorr   torch.utils._python_dispatchr   r   r	   r/   r    r   <module>rf      s,       $ $ 1 8 DCell Cr    