
    <Цi	                         S SK Jr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OptionalTypeN)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                 x   Uc  UR                  5       nUc  UR                  5       n0 nUR                  5       US'   UR                  5       US'   UR                  US'   UR                  US'   UR
                  US'   UR                  US'   [        R                  R                  " XR                  5       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         a/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/torch/testing/_internal/subclasses.py__new__WrapperSubclass.__new__   s    J88:LHHJy#$#3#3#5 88x88x"#//''wll11#vvxJ6J
    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$   r:   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%   rR   rS   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,   r1   r6   classmethodrP   r   r   r   rW   __static_attributes__r0   r!   r   r
   r
      sr     "2 < < H H, GK!$5=d^ r!   r
   )typingr   r   r   r   torch.utils._pytreeutils_pytreer@   torch._subclasses.fake_tensorr   "torch.testing._internal.two_tensorr   torch.utils._python_dispatchr   r   r
   r0   r!   r   <module>rg      s/    & &  $ $ 1 8 DCell Cr!   