
    O jF                        % S SK r S SK Jr  \ R                  R                  rS SKrS SKrS SKJr  S SKJ	r	J
r
  S SKJr  S SKJr  0 r\\\ R$                  R&                  4   \S'   \" 5       r\\   \S'   \
" S	5      r\" S
5      rSS jrS r SS\ R6                  R8                  S\	\\\ R$                  R&                  4      S\\\\4   /\\\4   4   4S jjr\" \R<                  R>                  5         SS\S\	\ \!      S\	\   S\"S\4
S jj5       r#\" \R<                  RH                  5      SS\S\"S\4S jj5       rg)    N)Tensor)Callable)OptionalTypeVar)	ParamSpec)Numberdecomposition_tablefunction_name_set_T_Preturnc                 L   [         R                  n[         R                  " U 5      nUR                  R	                  5        H8  nUR
                  U:X  d  M  [        SUR                   SU R                   35      e   UR                  U:X  a  [        SU R                   35      eg )NzNo signature on param z for function z"No return annotation for function )	inspect_empty	signature
parametersvalues
annotationAssertionErrornamereturn_annotation)finspect_emptysigparams       j/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/torch/jit/_decompositions.py(check_decomposition_has_type_annotationsr      s    NNM


A
C&&(}, (N166(K  ) -A!&&JKK .    c                    U R                   nUR                   n[        U5      [        U5      :w  a  g[        UR                  5       UR                  5       5       H  u  pE[        R
                  nS HI  nUS:X  a%  UR                  S:X  a  [        R                  " SSS9  [        XG5      [        XW5      :w  d  MH      g   UR                  nUR                  n	X:w  d  M  X:w  d  M  X:w  d  M    g   U R                  UR                  :H  $ )NF)r   r   r   selfz4PyTorch uses 'input' instead of 'self' on public api   )
stacklevel)r   lenzipr   r   r   r   warningswarngetattrdefaultr   )
decomposition_sigtorch_op_sigdecomp_params	op_paramsdecomp_paramop_paramr   fielddecomp_default
op_defaults
             r   signatures_matchr2   $   s    %00M''I
=S^+"%m&:&:&<i>N>N>P"Q
  +E<#4#4#>JWX |+wx/GG , &--%%
 *z/J++ #R. ..,2P2PPPr   aten_opregistryc                 h   ^ ^ S[         [        [        4   S[         [        [        4   4U U4S jjnU$ )Nr   r   c                   > Tc  [         m[        T[        R                  R                  5      (       d  [        S[        T5       35      eU R                  [        ;   a  [        SU R                   35      e[        R                  U R                  5        [        R                  R                  U 5      n[        R                  R                  UR                  5        [        S5       HU  n[        R                  R!                  UR                  5        [        R                  R#                  UR                  5        MW     UT[%        TR&                  5      '   U $ )Nz'Expected aten_op to be OpOverload, got zDuplicated function name r!   )r	   
isinstancetorch_ops
OpOverloadr   type__name__r
   addjitscript_C_jit_pass_inlinegraphrange_jit_pass_peephole_jit_pass_constant_propagationstr_schema)r   scripted_func_r3   r4   s      r   decomposition_decorator7register_decomposition.<locals>.decomposition_decoratorI   s    *H'5::#8#899 9$w-I 
 ::** #<QZZL!IJJajj)		((+!!-"5"56qAHH''(;(;<HH33M4G4GH  *7W__%&r   )r   r   r   )r3   r4   rJ   s   `` r   register_decompositionrL   E   s5    8BF#3 R8H  2 #"r   inputdim
correctionkeepdimc                    Uc  / nUn[        U[        [        45      (       a   [        U5      S:X  a  U R	                  5       nOSnU H  nXPR
                  U   -  nM     [        R                  XS5      nX-
  nXw-  n[        R                  XU5      n	Uc  [        US-
  5      n
OR[        U[        5      (       a  [        XR-
  5      n
O/[        U[        5      (       a  [        U5      U-
  n
O[        S5      eU	[        SU
5      -  $ )Nr      Tzcorrection must be int or float)r7   tuplelistr#   numelshapeatenmeansumfloatintRuntimeErrormax)rM   rN   rO   rP   dim_inrX   subsqrY   denoms              r   var_decompositionrc   h   s     {#t}%%#c(a-KKMEU##A  99U&D
,C	B
((2G
$Ca!ej#&&!.)E
E**!Hz)E@AA Qr   unbiasedc                 *    [        X(       a  SS9$ SS9$ )NrR   r   )rO   )rc   )rM   rd   s     r   varrf      s    UXFF1FFr   )r   N)N)NNF)T)%r8   r   opsrW   r   r%   collections.abcr   typingr   r   typing_extensionsr   torch.typesr   r	   dictrF   r>   ScriptFunction__annotations__setr
   r   r   r   r2   r9   r:   rL   rf   rO   rT   r[   boolrc   r(    r   r   <module>rr      s     yy~~   $ $ '  <> T#uyy7778 =!e 3s8 #T]t_
LQF ?C#ZZ""#tC!9!99:;# xB (2r6"223#F ++,  $#'	!!	$s)	!  ! 	!
 ! -!H (()Gv G G G *Gr   