
    YThհ                        % S SK r S SKJrJrJrJrJrJrJr  \\	\
4   rS SKrS\\	   S\\	   4S jrS\\	   S\\	   S\\	   4S jrS\\	   S\S\\	   4S jrS	\\	   S
\\	   4S jrS	\\	   4S jrS	\\	   4S jrS\\	   S\\	   4S jrS	\\	   S\\	   4S jrS	\\	   S\\	   S\4S jrS\\	   S\	S\\	   4S jrS\\	   4S jrS	\\	   S\\	   4S jrSS.S	\\	   S\\	   S\4S jjrS	\\	   S\\\	      S\S\4S  jrS	\\	   S!\	S\4S" jrS#\	S$\	4S% jrS&\	S'\	S(\	S)\	S*\	S+\	S,\4S- jrS&\	S'\	S(\	S*\	S+\	S,\4S. jr S/\\	   S0\	S1\	S2\	S3\	S4\	S5\	S6\	S7\	S8\	S9\	S:\	S;\	S<\	4S= jr!S/\\	   S>\\	   S*\\	   S?\\	   S+\\	   S,\4S@ jr"S/\\	   S>\\	   S*\\	   S?\\	   S+\\	   S,\4SA jr#S/\\	   SB\\\	      SC\\\
      4SD jr$S	\\	   SE\\	   4SF jr%S	\\	   SG\\	   4SH jr&S	\\	   SI\\	   4SJ jr'SK\\	   S!\	4SL jr(SK\\	   4SM jr)SK\\	   S!\	4SN jr*SK\\	   SO\\	   4SP jr+S	\\	   S!\	SQ\\	   4SR jr,   GSSS\\	   ST\\	   SU\	SV\SW\4
SX jjr-SY r.S	\\	   S!\	SZ\\	   S[\\	   S\\	4
S] jr/S^\\\	      4S_ jr0S!\	S`\\\	      4Sa jr1SG\\	   4Sb jr2Sc\\	   Sd\\	   Se\	SQ\	4Sf jr3S^\\\	      S!\	4Sg jr4S^\\\	      S!\	4Sh jr5S	\\	   S!\	SQ\	4Si jr6Sj\\	   Sk\\	   4Sl jr7S	\\	   4Sm jr8S	\\	   Sn\	So\	4Sp jr9S/\\	   SS\\	   Sq\\\	      4Sr jr:S	\\	   Ss\\	   SE\\	   St\Su\4
Sv jr;Sw\\	   S\4Sx jr<S/\\	   Sy\\	   Sq\\\	      S*\\	   S?\\	   S+\\	   Sz\	4S{ jr=S|\\	   S}\\	   Sq\\\	      S*\\	   S?\\	   S+\\	   Sz\	4S~ jr>S/\\	   SS\\	   Sq\\\	      S*\\	   S?\\	   S+\\	   Sz\	4S jr?S/\\	   SS\\	   Sq\\\	      S*\\	   S?\\	   S+\\	   Sz\	4S jr@S\\	   S/\\	   SS\\	   S\\\	      4S jrA      GSS/\\	   SS\\	   Sq\\\	      S*\\\	      S?\\\	      S\\\	      Sz\	S+\\\	      S\\	   4S jjrBS/\\	   SS\\	   Sq\\\	      S*\\	   S?\\	   S+\\	   S\S\\	   Sz\	S\\	   4S jrCS/\\	   SS\\	   Sq\\\	      S*\\	   S?\\	   S+\\	   S\S\\	   Sz\	S\S\S\S\S\\	   4S jrDS/\\	   SS\\\	      Sq\\\	      S\\\	      S\\\	      S\S\
S\
S\4S jrES/\\	   SS\\	   Sq\\\	      S*\\	   S?\\	   S+\\	   Sz\	4S jrFGSS!\	S\	S\4S jjrGS/\4S jrHSK\\	   4S jrIS[\S\S\S\S\4
S jrJSZ\S[\S\S\S\S\4S jrKSZ\S[\S\\S\S\S\S\4S jrLS/\\	   SO\\	   4S jrMS	\\	   S\\	   S\\	   S\\	   4S jrNS/\\	   S\	S\	4S jrOS/\\	   4S jrPS/\\	   4S jrQS	\\	   S!\	S\4S jrR GSS	\\	   S!\\	   S\S\\	   4S jjrSS	\\	   SE\\	   S\\	   4S jrTS	\\	   S\\	   4S jrUGSS	\\	   S\	S!\	S\V\\	   \\	   4   4S jjrWS	\\	   S\\	   SS\\\	      S\	S\V\\	   \\	   4   4
S jrXS/\\	   S\\	   S\V\\	   \\	   \\	   4   4S jrYS/\\	   SS\\\	      Sq\\\	      S\\\	      S\\\	      S\S\V\\	   \\	   \\	   4   4S jrZS/\\	   SS\\\	      Sq\\\	      S\\\	      S\\\	      S\V\\	   \\	   \\	   \\	   4   4S jr[    GSS	\\	   S\\	   SS\\\	      S\	S\	S\
S\\	   4S jjr\ \R                  R                  r_0 q`\a\b\_4   \cS'   0 rd\a\b\V\_\_4   4   \cS'   0 re\a\\_4   \cS'   S\4S jrfS\bS\4S jrgS\bS\S\4S jrh\g" S\5        \g" S\5        \g" S\5        \g" S\5        \g" S\H5        \g" S\H5        \g" S\5        \g" S\5        \g" S\J5        \g" S\K5        \g" S\L5        \g" S\)5        \g" S\*5        \g" S\+5        \g" S\(5        \g" S\/5        \g" S\65        \g" S\,5        \g" S\5        \g" S\5        \g" S\5        \g" S\5        \g" S\-5        \g" S\%5        \g" S\&5        \g" S\'5        \g" S\75        \g" S\:5        \g" S\"5        \g" S\#5        \g" S\85        \g" S\95        \g" S\?5        \g" S\@5        \g" S\E5        \g" S\F5        \g" S\A5        \g" S\C5        \g" S\D5        \g" S\B5        \g" S\O5        \g" S\45        \g" S\55        \g" S\M5        \g" S\N5        \g" S\5        \g" S\5        \g" S\5        \g" S\5        \g" S\5        \g" S\5        \g" S\H5        \g" S\H5        \g" S\;5        \g" S\$5        \g" S\5        \g" S\5        \g" S\5        \g" S\5        \g" S\S5        \g" S\T5        \g" GS \U5        \g" GS\W5        \g" GS\X5        \g" GS\Y5        \g" GS\Z5        \g" GS\Z5        \g" GS\Z5        \g" GS\[5        \g" GS\\5        \g" GS	\5        \g" GS
\5        \g" GS\5        \h" GS\P\Q5        g(      N)AnyCallableDictListOptionalTupleUnionabc           	      L   [        U 5      n[        U5      n[        X#5      n/ n[        U5       Hq  nUS-
  U-
  nUS-
  U-
  nUS-
  U-
  n	US:  a  X   OSn
U	S:  a  X   OSnX:w  a   U
S:w  a  US:w  a  [        SU
 SU SU 35      eUR	                  U
S:X  a  UOU
5        Ms     U$ )N   r   zThe size of tensor a z" must match the size of tensor b (z) at non-singleton dimension )lenmaxrangeAssertionErrorappend)r
   r   dimsAdimsBndimexpandedSizesioffsetdimAdimBsizeAsizeBs               R/var/www/auris/envauris/lib/python3.13/site-packages/torch/jit/_shape_functions.py	broadcastr      s    FEFEuD!M4[Aqy6!qy6! AIA AIA>eqjUaZ 'w.PQVPWWtuvtwx  	eqjUe<      cc                 ,    [        [        X5      U5      $ Nr   r
   r   r    s      r   broadcast_threer%   3   s    Yq_a((r   c                     [        X5      $ r"   r#   r$   s      r   broadcast_one_threer'   7   s    Q?r   selfoutc                 P   [        U5      S:X  d   e[        U 5      S:X  d  [        U 5      S:X  d   e[        S[        U 5      5       H  nX   S:w  a  M   e   / n[        S[        U 5      S-
  5       H  nUR                  X   5        M     U H  nUR                  U5        M     U$ )N         r   r   )r   r   r   )r(   r)   r   shapeelems        r   adaptive_avg_pool2dr0   ;   s    s8q==t9>SY!^++1c$i w!|| ! E1c$i!m$TW %T Lr   c                 >    / nU  H  nUR                  U5        M     U$ r"   r   )r(   r)   r/   s      r   _copyr3   I   s"    C

4 Jr   c                     [        U 5      $ r"   r3   r(   s    r   unaryr7   P   s    ;r   c                    [        U 5      n[        U5      nX2:  a  [        SU SU S35      e[        U5       HB  nX2-
  U-   nX   nUS:  a  X   OSnXg:w  d  M!  US:w  d  M)  [        SR                  XgU5      5      e   [	        U 5      $ )NzThe dims of tensor b (z5) must be less than or equal tothe dims of tensor a (z) r   r   zZThe size of tensor a {} must match the size of tensor b ({}) at non-singleton dimension {})r   r   r   formatr3   )r
   r   r   r   r   r   r   r   s           r   broadcast_inplacer:   T   s    FEFE}$UG+`af`ggij
 	
 e}t# AIA>eqj 44:F54N   8Or   sizesc                 P   [        U5      [        U 5      :  d   e[        U5      n[        U 5      nUS:X  a  [        U5      $ / n[        U5       HS  nUS-
  U-
  nUS-
  U-
  nUS:  a  X   OSnX   n	U	S:X  a
  US:  d   eUn	X:w  a
  US:X  d   eU	nUR                  U5        MU     U$ )Nr   r   )r   r3   r   r   )
r(   r;   r   
tensor_dimr)   r   r   dimsize
targetSizes
             r   expandrB   h   s    u:T"""u:DTJqyU|C4[A1nv%1Hty!X
!8O8J199D

4  Jr   inp0c                     [        X5      $ r"   )rB   )r(   r;   rC   s      r   expand_one_unusedrE   ~   s    $r   r.   numelreturnc                    SnS n[        [        U 5      5       H7  nX   S:X  a  Ub  [        S5      eUnM  X   S:  a	  X U   -  nM.  [        S5      e   X:X  d  Ub  US:  a  X-  S:X  d  [        S5      e[        U 5      nUb  X-  XS'   U$ )Nr   r=   z"only one dimension can be inferredr   zinvalid shape dimensionszinvalid shape)r   r   r   r3   )r.   rF   newsize	infer_dimr?   r)   s         r   infer_size_implrK      s    G#ISZ :$$%IJJIZ1_Sz!G !;<< ! 	!gkeo6J_--
,C)Jr   c                 $    SnU  H  nX-  nM	     U$ Nr    )r;   rF   r/   s      r   rF   rF      s    E Lr   c                 ,    [        U[        U 5      5      $ r"   )rK   rF   )r(   r;   s     r   viewrP      s    5%+..r   F)implicitrQ   c                    [        X5      $ r"   )rP   )r(   r;   rQ   s      r   view_one_unusedrS      s    r   opt_dimskeep_dimdtc           	      `   / nUb  [        U5      S:X  a  [        [        [        U 5      5      5      nOUn[        [        U 5      5       Ha  nSnU H   nU[        U[        U 5      5      :X  d  M  SnM"     U(       a  U(       a  UR	                  S5        ML  MN  UR	                  X   5        Mc     U$ )Nr   FTr   )r   listr   maybe_wrap_dimr   )	r(   rT   rU   rV   r)   dimsidxis_mean_dim
reduce_dims	            r   sum_mean_dimr^      s     C3x=A-uSY/0SY!JnZT;;"  

1  JJty!   Jr   r?   c                 $    [        X/US 5      nX34$ r"   )r^   )r(   r?   rU   r)   s       r   max_dimr`      s    
tUHd
3C8Or   xyc                 
    X-  $ r"   rN   )ra   rb   s     r   div_rtnrd      s	    6Mr   	inputSize
kernelSizepad_lpad_rstridedilation	ceil_modec                     [        U U-   U-   XQS-
  -  -
  S-
  U(       a  US-
  OS-   U5      S-   nU(       a  US-
  U-  X-   :  a  US-
  nU$ Nr   r   )rd   )re   rf   rg   rh   ri   rj   rk   
outputSizes           r   pooling_output_shape_pad_lrro      s     	 q.)* 	
 'vzA/ 	
 		  Nf$	(99#aJr   c           	      8    US:w  d   S5       e[        XX"X4U5      $ )Nr   zstride should not be zeero)ro   )re   rf   rg   ri   rj   rk   s         r   pooling_output_shaperq      s,     Q;444;&uVy r   inputkHkWdHdWpadHpadW	dilationH	dilationWnInputPlaneinputHeight
inputWidthoutputHeightoutputWidthc                 <   [        U 5      nUS:  a  US:  d   eUS:  a  US:  d   eUS:  a  US:  d   eU S   S:g  =(       a    U S   S:g  nUS:X  a  U S   S:w  a  U(       d  US:X  a  U(       a	  U S   S:w  d   eUS-  U:  a	  US-  U:  d   eUS:  a  US:  d   eg )Nr   r   r+   r,   r-   r   )rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   
valid_dimss                   r   pool2d_shape_checkr      s      u:D6b1f6b1fq=Y]**qQ058q=J	!HMAI*qQ		8 7d?rQw$..! 111 1r   kernel_sizepaddingc                    [        U5      S:X  d  [        U5      S:X  d   S5       eUS   n[        U5      S:X  a  UOUS   n[        U5      S:X  d%  [        U5      S:X  d  [        U5      S:X  d   S5       e[        U5      S:X  a  UOUS   n[        U5      S:X  a  Un	O[        U5      S:X  a  Un	OUS   n	[        U5      S:X  d  [        U5      S:X  d   S5       eUS   n
[        U5      S:X  a  U
OUS   n[        U5      S:X  d  [        U5      S:X  d   S5       eUS   n[        U5      S:X  a  UOUS   n[        U 5      S:X  d  [        U 5      S	:X  d   e[        U 5      S	:X  a  U S
   OSnU S   nU S   nU S   n[        UXjXU5      n[        UX{XU5      n[        U UUUU	U
UUUUUUUU5        [        U 5      S:X  a  UUU/$ XUU/$ )Nr   r+   zKmax_pool2d: kernel_size must either be a single int, or a tuple of two intsr   zOmax_pool2d: stride must either be omitted, a single int, or a tuple of two intszGmax_pool2d: padding must either be a single int, or a tuple of two intszHmax_pool2d: dilation must be either a single int, or a tuple of two intsr,   r-   r=   )r   rq   r   )rr   r   ri   r   rj   rk   rs   rt   ru   rv   rw   rx   ry   rz   nbatchr{   r|   r}   r~   r   s                       r   
max_pool2dr     s    	KA[!1Q!6UTU6	QB;1$+a.B 	FqCK1,Fq0@YXY@6{aVAYB
6{a	V	AY 	GS\Q.QPQ.1:Dw<1$4'!*D 	Hc(mq0RQR0I ]a/	Xa[Iu:?c%jAo--e*/U2YqF)K)KrJ'RriXL&z2RIVK



" 5zQ\;77\;??r   c                 "    [        XX#XE5      nXf4$ r"   )r   )rr   r   ri   r   rj   rk   r)   s          r   max_pool2d_with_indicesr   Y  s     U(
NC:r   output_sizescale_factorsc                    / nUR                  U S   5        UR                  U S   5        Uc
  Uc   S5       eUbC  Ub   S5       e[        U5      S:X  d   eUR                  US   5        UR                  US   5        Uba  Ub   S5       e[        U5      S:X  d   eUR                  [        U S   US   -  5      5        UR                  [        U S   US   -  5      5        U$ )Nr   r   z5Either output_size or scale_factors must be presentedz9Must specify exactly one of output_size and scale_factorsr+   r,   )r   r   int)rr   r   r   r)   s       r   upsample_nearest2dr   e  s   
 CJJuQxJJuQx!4IIIq!	GF	G!;1$$$

;q>"

;q>" 	GF	G=!Q&&&

3uQx-"2234

3uQx-"2234Jr   mat2c                     [        U 5      S:X  d   S5       e[        U5      S:X  d   S5       eU S   US   :X  d   eU S   US   /$ )Nr+   zself must be a matrixzmat2 must be a matrixr   r   r   r(   r   s     r   mmr     sW    t9>222>t9>222>7d1gGT!Wr   tensorc                 f    [        U 5      S:X  a  [        U5      S:X  d   eU S   US   :X  d   e/ nU$ rm   r   )r(   r   r)   s      r   dotr     s>    t9>c&kQ...7fQiCJr   vecc                 j    [        U 5      S:X  a  [        U5      S:X  d   eU S   US   :X  d   eU S   /$ Nr+   r   r   r   )r(   r   s     r   mvr     s?    t9>c#h!m++7c!fG9r   lic                 p    [        U[        U 5      S-   5      n[        U 5      nUR                  US5        U$ rM   )rY   r   r3   insert)r   r?   r)   s      r   	unsqueezer     s2    
c"gk
*C
)CJJsAJr   c                 z    / n[        [        U 5      5       H   nX   S:w  d  M  UR                  X   5        M"     U$ rM   )r   r   r   )r   r)   r   s      r   squeeze_nodimr     s7    C3r7^5A:JJru  Jr   c                     / n[        U[        U 5      5      n[        [        U 5      5       H:  nXC:X  a  X   S:w  a  UR                  X   5        M%  M'  UR                  X   5        M<     U$ rM   )rY   r   r   r   )r   r?   r)   wrapped_dimr   s        r   squeezer     sb    C c"g.K3r7^uz

25!  JJru  Jr   rZ   c                 N   [        U5      S:X  a  U $ [        U5      n[        [        U5      5       H  n[        X#   [        U 5      5      X#'   M     / n[        [        U 5      5       H:  nX   S:X  a  X2;  a  UR	                  X   5        M%  M'  UR	                  X   5        M<     U$ Nr   r   )r   r3   r   rY   r   )r   rZ   wrapped_dimsr   results        r   squeeze_dimsr     s    
4yA~	;L3t9(#b'B F3r7^5A:$be$ % MM"%   Mr   indexc                 &   [        U[        U 5      5      n[        U5      n[        U5      S::  d   eUS:X  d  U[        U 5      :  d   e/ n[        [        U 5      5       H.  nX:X  a  UR	                  U5        M  UR	                  X   5        M0     U$ rm   )rY   r   multiply_integersr   r   )r(   r?   r   rF   result_sizer   s         r   index_selectr     s    
c$i
(Ce$Eu:??!8sSY&&K3t98u%tw'	 
 r   weightindicespadding_idxscale_grad_by_freqsparsec                     [        U 5      S:X  d   e[        U5      S:X  a  [        U SU5      $ [        U5      nUR                  U S   5        U$ r   )r   r   r3   r   )r   r   r   r   r   r@   s         r   	embeddingr     sO     v;!
7|qFAw//>DKKq	Kr   c                      g)Nl    rN   rN   r   r   max_intr     s    r   startendstepc                 Z   [        U 5      nUS:w  d   e[        X5      nUb  UOSnUb  UO	[        5       nUS:  d   eU[        5       :X  a  SnUS:  a  X`U   -  nUS:  a  XpU   -  nUS:  a  SnOX`U   :  a  X   nXv:  a  UnOXpU   :  a  X   nXv-
  n[        U 5      n	X-   S-
  U-  X'   U	$ r   )r   rY   r   r3   )
r(   r?   r   r   r   r   	start_valend_val	slice_lenr)   s
             r   slicer     s     t9D199

#C*I_c')G!8O8GI	1}#Y	{91}		#Y	I		I	)#I
+C 1$-CHJr   tensorsc                 8    U  H  n[        U5      S:  a  M   e   g Nr   r   )r   r   s     r   check_cat_no_zero_dimr     s    6{Q r   tensor_sizesc                     S nU H7  n[        U5      S:X  a  US   S:X  a  M  Ub  M"  [        U [        U5      5      nM9     Uc  U nU$ rm   )r   rY   )r?   r   out_dimr@   s       r   legacy_cat_wrap_dimr     sL    !GD	Q47a<(c$i8  Nr   c                 H    [        U 5      S:H  =(       a    [        U 5      S:H  $ r   rF   r   )r   s    r   should_skipr     s    =A2#f+"22r   firstsecond	dimensionc                     [        U 5      n[        U5      nXE:X  d   S5       e[        SU5       H  nXb:w  d  M
  X   X   :X  a  M   S5       e   g )Nz+Tensors must have same number of dimensionsr   z/Sizes of tensors must match except in dimension)r   r   )r   r   r   r   
first_dimssecond_dimsr?   s          r   check_cat_shape_except_dimr     s]     UJf+K$S&SS$Q
#
fk)A@A) $r   c                 H   [        U 5        [        X5      n[        U 5      S:  d   eS nU  H  n[        U5      (       a  M  UnM     Uc  S/$ Sn[	        [        U 5      5       H,  nX   n[        U5      (       a  M  [        X#X5        XCU   -   nM.     [        U5      nXFU'   U$ r   )r   r   r   r   r   r   r3   )r   r?   not_skipped_tensorr   cat_dim_sizer   r   s          r   catr   $  s    '"
c
+Cw<!.26""!'  !s
L3w< 6""&'93J'+5L	 ! *+K#r   c                 f    / nU  H  n[        X15      nUR                  U5        M!     [        X!5      $ r"   )r   r   r   )r   r?   unsqueezed_tensorsr   
unsqueezeds        r   stackr   <  s8    *,v+
!!*-  !''r   c                     [        U 5      nUS:w  d   e[        X5      nX   nX$* :  d  X$:  a   eUS:  a  X$-  n/ n[        U5       H  nXa:w  d  M
  UR                  X   5        M     U$ r   )r   rY   r   r   )r(   r?   r   r   r@   r)   r   s          r   selectr   D  st    t9D199

#C9D//qyC4[8JJtw  Jr   tensor1tensor2c                 |   [        U 5      n[        U5      nUS:X  a  US:X  a  [        X5      $ US:X  a  US:X  a  [        X5      $ US:X  a&  US:X  a   [        [	        [        U S5      U5      S5      $ US:X  a  US:X  a  [	        X5      $ US:  a  US:  a  US:  a  U S   OSn/ n[        US-
  5       H  nUR                  X   5        M     US   n/ n[        US-
  5       H  nUR                  X   5        M     [        XX5      n	U	n
US:  a  U
R                  U5        US:  a  U
R                  U5        U
$  S5       e)Nr   r+   r   r   r=   z0both  arguments to matmul need to be at least 1D)	r   r   r   r   r   r   r   r   r   )r   r   dim_tensor1dim_tensor2nbatch_tensor1r   pbatch_tensor2expand_batch_portionoutput_shapes              r   matmulr   S  sV   g,Kg,KaK1,7$$		kQ.'##		kQ.r)GQ/91==		kQ.'##		kQ. '?GBK#%{Q'A  , (BK#%{Q'A  , (  )F ,?"?"HHHur   c                 z    [        U 5      S::  d   e[        U 5      nUS:X  a  / nU$ US:X  a  U S   /$ U S   U S   /$ )Nr+   r   r   r   )r(   self_lenr)   s      r   tr   |  sR    t9>>4yH1}
	QQyQa!!r   dim0dim1c                    [        U 5      n[        X5      n[        X#5      nX:X  a  [        U 5      $ / n[        U5       HJ  nXQ:X  a  UR	                  X   5        M  XR:X  a  UR	                  X   5        M7  UR	                  X   5        ML     U$ r"   )r   rY   r3   r   r   )r(   r   r   ndimsr)   r   s         r   	transposer     s|    IE$&D$&D|T{C5\9JJtz"YJJtz"JJtw  Jr   biasc                 X    [        U [        U5      5      nUb  [        X#5      U:X  d   eU$ r"   )r   r   r   )rr   r   r   r)   s       r   linearr     s0    
&	
"C#s***Jr   mat1betaalphac                 ,    [        U [        X5      5      $ r"   )r   r   )r(   r   r   r   r   s        r   addmmr     s    T2d>**r   arrayc                 0    SnU  H  nUS:  d  M  SnM     U$ )NFr   TrN   )r   non_negativevals      r   check_non_negativer     s%    L7L  r   weight_sizesgroupsc                    [        U 5      n[        U5      n[        U5      (       a   e[        U5      (       a   eX:X  d   eUS   U:  d   eUS   U-  S:X  d   eU S   US   U-  :X  d   eUb  [        U5      S:X  a  US   US   :X  d   e[        SU5       H(  n	X	   SXIS-
     -  -   XYS-
     X   S-
  -  S-   :  a  M(   e   g Nr   r   r+   )r   r   r   )
rr   r   r   ri   r   rj   r   k
weight_dimr   s
             r   check_shape_forwardr    s     	E
A\"J "'****!&))))???f$$$Of$***8|A////<CINtAw,q//IJJ1a[1w1u~--UO|23a7
 	
 
 r   
input_sizeweight_sizec           	      d   [        XX#XEU5        [        U5      S:  n[        U 5      n/ n	Sn
SnU	R                  X
   5        U	R                  X   5        [        SU5       HL  nU(       a  X\S-
     OSnXU   S-
  -  S-   nU	R                  X   SXLS-
     -  -   U-
  X<S-
     -  S-   5        MN     U	$ )Nr   r+   r   )r  r   r   r   )r  r  r   ri   r   rj   r   has_dilationr?   r   input_batch_size_dimweight_output_channels_dimd	dilation_kernels                  r   conv_output_sizer    s     w& x=1$L
j/CK!"z78{>?1c]'3HUO	!nq01A5]a'a%.01F:v!e}LqP	
  r   c           	      b    [        U5      S:X  d   e[        U 5      S:X  d   e[        XX#XEU5      $ )Nr,   r   r  rr   r   r   ri   r   rj   r   s          r   conv1dr    7     v;!u:??E4FSSr   c           	      b    [        U5      S:X  d   e[        U 5      S:X  d   e[        XX#XEU5      $ )Nr-   r  r  s          r   conv2dr    r  r   grad_outputbiasesc                 8    [        U5      [        U5      U S   /4$ rM   r5   )r  rr   r   r  s       r   conv_backwardsr    s      <vQ(888r   output_paddingc                    Uc  SS/nUc  SS/nUc  SS/nUc  SS/n[        U5      S:  n[        U 5      n	/ n
SnSnU
R                  X   5        U
R                  X   U-  5        [        SU	5       HT  nU(       a  X}S-
     OSnXU   S-
  -  nU
R                  X   S-
  X=S-
     -  SXMS-
     -  -
  U-   X]S-
     -   S-   5        MV     U
$ )Nr   r   r+   r   r   r   )rr   r   r   ri   r   r  r   rj   r	  r?   r   r
  r  r  r  r  s                   r   conv_transpose2d_inputr    s    ~Qa&Qq6x=1$L
e*CK!"u23v9FBC1c]'3HUO	Qi!m,X\VE]*'a%. ! U#$ 		
  r   
transposedc	                 \   [        U5      S:  n	[        U5      S:  n
[        U 5      n/ nSnU(       a  SOSnUR                  X   5        U(       a  UR                  X   U-  5        OUR                  X   5        [        SU5       H  nU	(       a  X_S-
     OSnU
(       a  XS-
     OSnU(       a>  UX   S-
  -  nUR                  X   S-
  X?S-
     -  SXOS-
     -  -
  U-   U-   S-   5        Mh  UX   S-
  -  S-   nUR                  X   SXOS-
     -  -   U-
  X?S-
     -  S-   5        M     U$ r  r  )rr   r   r   ri   r   rj   r  r  r   r	  has_output_paddingr?   r   r
  r  r  r  output_padding_r  s                      r   conv_forwardsr#  7  se    x=1$L^,q0
e*CK&0au236=FG6=>1c]'3HUO	3E.Q/1&)a-0FAA.g!en$% "" 	 &)a-014FQQ/069fUmKaO " r   	benchmarkdeterministiccudnn_enabled
allow_tf32c                 (    [        U UUUUUUUU5	      $ r"   )r#  )rr   r   r   ri   r   rj   r  r  r   r$  r%  r&  r'  s                r   _conv_forwardsr)  b  s,     
 
r   running_meanrunning_vartrainingmomentumepsc	                 >    / n	U  H  n
U	R                  U
5        M     U	$ r"   r2   )rr   r   r   r*  r+  r,  r-  r.  r&  r)   r/   s              r   
batch_normr0  ~  s$     C

4 Jr   c           	      b    [        U5      S:X  d   e[        U 5      S:X  d   e[        XX#XEU5      $ )N   r  r  s          r   conv3dr3    r  r   dim_post_exprwrap_scalarc                 d    US::  a  U(       d   eSnU* nUS-
  nX:  d  X:  a   eU S:  a  X-  n U $ r   rN   )r?   r4  r5  minr   s        r   rY   rY     sK    {.C
!
C	SY''
QwJr   c                 
    / nU$ r"   rN   )rr   r)   s     r   zero_dim_tensorr9    s    CJr   c                 $    SnU  H  nX-  nM	     U$ rM   rN   )r   r)   r/   s      r   r   r     s    
Cj Jr   inp1inp2inp3c                 R    U S:  d   e[        [        R                  " U 5      5      /$ r   r   mathceil)r   rC   r;  r<  r=  s        r   
arange_endrB    s#    !8O8		#  r   c                 d    US:  d   eX:  d   e[        [        R                  " X-
  5      5      /$ r   r?  )r   r   rC   r;  r<  r=  s         r   arange_startrD    s2     !8O8<<		#+&'((r   c                     US:w  d   eUS:  a  X:  d   eOX:  d   e[        [        R                  " X-
  U-  5      5      /$ r   r?  )r   r   r   rC   r;  r<  r=  s          r   arange_start_steprF    sI     199ax||||		3;$./011r   c                 B   [        U 5      [        U5      :X  d   e[        U5      n/ n/ n[        U5       H5  n[        X   U5      nUR                  U5        UR                  X   5        M7     [        SU5       H!  n[        U5       H  nX5   X7   :w  a  M   e   M#     U$ rM   )r   r   rY   r   )rr   rZ   r   	seen_dimsnewSizesr   r?   js           r   permuterK    s    u:T"""t9DIH4[TWd+
#  1d^qA<9<///   Or   sourcedestinationc                    [        U 5      nUS::  a  U $ / n/ n[        [        U5      5       H=  nUR                  [        X   U5      5        UR                  [        X&   U5      5        M?     [        U5       Vs/ s H  nSPM     nn[        U5       Vs/ s H  ofPM     nn[        U5       Vs/ s H  ofPM     n	n[        [        U5      5       H  nXF   XuU   '   SXU   '   SXU   '   M     / n
/ nU H  nUS:w  d  M  U
R                  U5        M     U	 H  nUS:w  d  M  UR                  U5        M     U[        U5      -
  n[        U5       H  nX   X{U   '   M     [	        X5      $ s  snf s  snf s  snf )Nr   r=   )r   r   r   rY   rK  )r(   rL  rM  self_dimnormalized_srcnormalized_dstr   ordersrc_dimsdst_dimssource_dimsdestination_dimselerest_dims                 r   movedimrY    sy   4yH1} "N "N3v;nVYABn[^XFG   x)ARE) ?+?a?H+ ?+?a?H+3v;#1#4Q &("#&("#  
  K"$"9s#  "9##C(  #f+%H8_%0^q!" 4+ *++s   :E*E//E4	start_dimend_dimc                    [        U[        U 5      5      n[        U[        U 5      5      nX::  d   e[        U 5      S:X  a  S/$ X:X  a  / nU  H  nUR                  U5        M     U$ Sn[        XS-   5       H
  nXPU   -  nM     / n[        U5       H  nUR                  X   5        M     UR                  U5        [        US-   [        U 5      5       H  nUR                  X   5        M     U$ r   )rY   r   r   r   )rr   rZ  r[  r)   r/   slice_numelr   r.   s           r   flattenr^    s    y#e*5IWc%j1G
5zQs
DJJt 
K9k*Qx + E9UX 	LL7Q;E
+UX ,Lr   c                     S[        U 5      /$ r   r   rr   s    r   nonzero_lower_boundra    s    s5z?r   c                 .    [        U 5      [        U 5      /$ r"   r   r`  s    r   nonzero_upper_boundrc    s    %L#e*%%r   keepdimc                     [        U[        U 5      5      n/ n[        U 5       H7  u  pEXA:X  a  U(       a  UR                  S5        M$  M&  UR                  U5        M9     U$ rM   )rY   r   	enumerater   )r(   r?   rd  r)   r   rO  s         r   _reduce_along_dimrg    sT    
c$i
(CC 8

1  JJx  ' Jr   c                 $    Uc  / $ [        XU5      $ r"   )rg  )r(   r?   rd  s      r   argmaxri  +  s     {	T00r   c                     [        U 5      S:X  d   S5       e[        U5      S:X  d   S5       eU S   US   :X  d   S5       eU S   US   :X  d   S5       eU S   U S   US   /$ )Nr,   zbmm only supports 3D tensorsr   zmismatching batch dimensionr+   r   z!mismatching contracting dimensionr   r   s     r   bmmrk  3  s    t9>999>t9>999>7d1g<<<7d1gBBBGT!Wd1g&&r   c                     [        U 5      /$ r"   r   r6   s    r   _shape_as_tensorrm  ;  s    I;r   r  c                     [        U 5      S:X  a  / nX34$ XU   ::  d   SU SU SX    35       e[        U 5      nXU'   X34$ )Nr   zk (z) is too big for dimension z	 of size )r   r3   )r(   r  r?   r   s       r   topkro  ?  sg    
4yA~ >	 cN	I.se9TYKH	Its>r   target	reductionc                 *   [        U 5      n[        U5      nSUs=:  a  S::  d   e   eUS::  d   eUS:H  =(       a    US:H  nU(       d  U S   US   :X  d   eU S   n/ nUb  [        U5      S:X  a	  US   U:X  d   eUS:X  a  US:X  a	  U S   /n	X4$ Un	X4$ )Nr   r+   r   r=   r   )
r(   rp  r   rq  rO  
target_dimno_batch_dim	n_classesscalar_shapereduction_shapes
             r   nll_loss_forwardrx  K  s     4yHVJx1??q=4Z1_LDGvay011RI L>c&kQ.6!9	3IJJA~(a-7) (( '((r   normalized_shapec                    / n[        U 5      [        U5      -
  nUS:  d   e[        U5       H  nUR                  X   5        M     [        U[        U 5      5       H  nUR                  S5        M     [        U 5      X"4$ r   )r   r   r   r3   )rr   ry  rw  num_unreduced_dimensionsr   s        r   native_layer_normr|  _  s     "$O"5zC0@,AA#q(((+,ux( -+SZ8q! 9<99r   c                 >    U(       a  U S   /nOS/n[        U 5      Xf4$ rm   r5   )rr   r   r   r*  r+  r,  _sizes          r   native_batch_normr  l  s(     q
<%%r   c                 ,    U S   /n[        U 5      XUS/4$ rm   r5   )rr   r   r   r*  r+  r~  s         r   _batch_norm_with_updater  {  s"     1XJE<s**r   ignore_indexlabel_smoothingc                 $    [        XX#5      S   nU$ r   )rx  )r(   rp  r   rq  r  r  result_shapes          r   cross_entropy_lossr    s     $D&DQGLr   shape_compute_graph_mappingbounded_compute_graph_mappingscript_func_mapfuncc                    U [         ;  a  [        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[         U '   [         U    $ )Nr+   )
r  torchjitscript_C_jit_pass_inlinegraphr   _jit_pass_peephole_jit_pass_constant_propagation)r  scripted_func_s      r   process_funcr    s    ?"		((.!!-"5"56qAHH''(;(;<HH33M4G4GH  !.4  r   operator_schemac                 (    [        U5      [        U '   g r"   )r  r  )r  r  s     r   add_shape_compute_mappingr    s     4@3E0r   lower_bound_funcupper_bound_funcc                 B    [        U5      [        U5      4nU[        U '   g r"   )r  r  )r  r  r  fnss       r   add_bounded_compute_mappingr    s%     ()<8H+I
JC58!/2r   z^aten::contiguous(Tensor(a) self, *, MemoryFormat memory_format=contiguous_format) -> Tensor(a)zFaten::rsub.Tensor(Tensor self, Scalar other, Scalar alpha=1) -> Tensorz:aten::dropout(Tensor input, float p, bool train) -> TensorzDaten::adaptive_avg_pool2d(Tensor self, int[2] output_size) -> Tensorz,prim::NumToTensor.Scalar(Scalar a) -> Tensorz(prim::NumToTensor.bool(bool a) -> Tensorzuaten::zeros(int[] size, *, int? dtype=None, int? layout=None, Device? device=None, bool? pin_memory=None) -> (Tensor)z{aten::to.dtype(Tensor(a) self, int dtype, bool non_blocking=False, bool copy=False, int? memory_format=None) -> (Tensor(a))zvaten::arange(Scalar end, *, int? dtype=None, int? layout=None, Device? device=None, bool? pin_memory=None) -> (Tensor)zaten::arange.start(Scalar start, Scalar end, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensorzaten::arange.start_step(Scalar start, Scalar end, Scalar step, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensorz*aten::squeeze(Tensor(a) self) -> Tensor(a)z7aten::squeeze.dim(Tensor(a) self, int dim) -> Tensor(a)z:aten::squeeze.dims(Tensor(a) self, int[] dim) -> Tensor(a)z5aten::unsqueeze(Tensor(a) self, int dim) -> Tensor(a)zfaten::slice.Tensor(Tensor(a) self, int dim=0, int? start=None, int? end=None, int step=1) -> Tensor(a)zAaten::select.int(Tensor(a) self, int dim, int index) -> Tensor(a)z@aten::index_select(Tensor self, int dim, Tensor index) -> Tensorzaten::layer_norm(Tensor input, int[] normalized_shape, Tensor? weight=None, Tensor? bias=None, float eps=1e-05, bool cudnn_enable=True) -> TensorzIaten::softmax.int(Tensor self, int dim, ScalarType? dtype=None) -> Tensorzhaten::_no_grad_embedding_renorm_(Tensor weight, Tensor input, float max_norm, float norm_type) -> Tensorzgaten::embedding_renorm_(Tensor(a!) self, Tensor indices, float max_norm, float norm_type) -> Tensor(a!)z~aten::embedding(Tensor weight, Tensor indices, int padding_idx=-1, bool scale_grad_by_freq=False, bool sparse=False) -> Tensorz,aten::mm(Tensor self, Tensor mat2) -> Tensorz/aten::dot(Tensor self, Tensor tensor) -> Tensorz+aten::mv(Tensor self, Tensor vec) -> Tensorz1aten::matmul(Tensor self, Tensor other) -> TensorzFaten::linear(Tensor input, Tensor weight, Tensor? bias=None) -> Tensorzaten::max_pool2d(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, int[2] dilation=1, bool ceil_mode=False) -> Tensorzaten::max_pool2d_with_indices(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, int[2] dilation=1, bool ceil_mode=False) -> (Tensor, Tensor)z$aten::t(Tensor(a) self) -> Tensor(a)zDaten::transpose.int(Tensor(a) self, int dim0, int dim1) -> Tensor(a)zaten::conv1d(Tensor input, Tensor weight, Tensor? bias=None, int[1] stride=1, int[1] padding=0, int[1] dilation=1, int groups=1) -> Tensorzaten::conv2d(Tensor input, Tensor weight, Tensor? bias=None, int[2] stride=1, int[2] padding=0, int[2] dilation=1, int groups=1) -> Tensorzaten::batch_norm(Tensor input, Tensor? weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float momentum, float eps, bool cudnn_enabled) -> Tensorzaten::conv3d(Tensor input, Tensor weight, Tensor? bias=None, int[3] stride=1, int[3] padding=0, int[3] dilation=1, int groups=1) -> Tensorzaten::convolution_backward(Tensor grad_output, Tensor input, Tensor weight, int[]? bias_sizes, int[] stride, int[] padding, int[] dilation, bool transposed, int[] output_padding, int groups, bool[3] output_mask) -> (Tensor, Tensor, Tensor)zaten::convolution(Tensor input, Tensor weight, Tensor? bias, int[] stride, int[] padding, int[] dilation, bool transposed, int[] output_padding, int groups) -> Tensorzaten::_convolution(Tensor input, Tensor weight, Tensor? bias, int[] stride, int[] padding, int[] dilation, bool transposed, int[] output_padding, int groups, bool benchmark, bool deterministic, bool cudnn_enabled, bool allow_tf32) -> Tensorzaten::conv_transpose2d.input(Tensor input, Tensor weight, Tensor? bias=None, int[2] stride=1, int[2] padding=0, int[2] output_padding=0, int groups=1, int[2] dilation=1) -> TensorzVaten::flatten.using_ints(Tensor(a) self, int start_dim=0, int end_dim=-1) -> Tensor(a)z0aten::cat(Tensor[] tensors, int dim=0) -> Tensorz2aten::stack(Tensor[] tensors, int dim=0) -> Tensorz6aten::permute(Tensor(a) self, int[] dims) -> Tensor(a)zSaten::movedim.intlist(Tensor(a) self, int[] source, int[] destination) -> Tensor(a)z3aten::view(Tensor(a) self, int[] size) -> Tensor(a)z:aten::expand_as(Tensor(a) self, Tensor other) -> Tensor(a)zMaten::expand(Tensor(a) self, int[] size, *, bool implicit=False) -> Tensor(a)zaaten::mean.dim(Tensor self, int[1]? dim, bool keepdim=False, *, ScalarType? dtype=None) -> Tensorzhaten::sum.dim_IntList(Tensor self, int[1]? dim, bool keepdim=False, *, ScalarType? dtype=None) -> TensorzZaten::max.dim(Tensor self, int dim, bool keepdim=False) -> (Tensor values, Tensor indices)z<aten::mean(Tensor self, *, ScalarType? dtype=None) -> Tensorz;aten::sum(Tensor self, *, ScalarType? dtype=None) -> Tensorz^aten::addmm(Tensor self, Tensor mat1, Tensor mat2, *, Scalar beta=1, Scalar alpha=1) -> Tensorzbaten::upsample_nearest2d.vec(Tensor input, int[]? output_size, float[]? scale_factors) -> (Tensor)z_aten::quantize_per_tensor(Tensor self, float scale, int zero_point, ScalarType dtype) -> Tensorzraten::quantize_per_tensor.tensor_qparams(Tensor self, Tensor scale, Tensor zero_point, ScalarType dtype) -> Tensorz'aten::dequantize(Tensor self) -> TensorzNquantized::add(Tensor qa, Tensor qb, float scale, int zero_point) -> Tensor qczFaten::argmax(Tensor self, int? dim=None, bool keepdim=False) -> Tensorz-aten::bmm(Tensor self, Tensor mat2) -> Tensorz-aten::_shape_as_tensor(Tensor self) -> Tensorzraten::topk(Tensor self, int k, int dim=-1, bool largest=True, bool sorted=True) -> (Tensor values, Tensor indices)zaten::nll_loss_forward(Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index) -> (Tensor output, Tensor total_weight)zaten::native_layer_norm(Tensor input, int[] normalized_shape, Tensor? weight, Tensor? bias, float eps) -> (Tensor, Tensor, Tensor)zaten::native_batch_norm(Tensor input, Tensor? weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float momentum, float eps) -> (Tensor, Tensor, Tensor)zaten::_native_batch_norm_legit(Tensor input, Tensor? weight, Tensor? bias, Tensor running_mean, Tensor running_var, bool training, float momentum, float eps) -> (Tensor, Tensor, Tensor)zaten::_native_batch_norm_legit.no_stats(Tensor input, Tensor? weight, Tensor? bias, Tensor running_mean, Tensor running_var, bool training, float momentum, float eps) -> (Tensor, Tensor, Tensor)z_batch_norm_with_update(Tensor input, Tensor? weight, Tensor? bias, Tensor(a!) running_mean, Tensor(b!) running_var, float momentum, float eps) -> (Tensor, Tensor, Tensor, Tensor)zaten::cross_entropy_loss(Tensor self, Tensor target, Tensor? weight=None, int reduction=Mean, SymInt ignore_index=-100, float label_smoothing=0.0) -> TensorzCaten::lerp.Tensor(Tensor self, Tensor end, Tensor weight) -> TensorzMaten::where.ScalarSelf(Tensor condition, Scalar self, Tensor other) -> TensorzQaten::add_.Tensor(Tensor(a!) self, Tensor other, *, Scalar alpha=1) -> Tensor(a!)z&aten::nonzero(Tensor self) -> (Tensor))r=   FF)NNNNr   N)T)NF)r=   )Nr   ig        )ir@  typingr   r   r   r   r   r   r	   r   floatnumberr  rX   r   r%   r'   r0   r3   r7   r:   rB   rE   rK   rF   rP   boolrS   r^   r`   rd   ro   rq   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r#  r)  r0  r3  rY   r9  r   rB  rD  rF  rK  rY  r^  ra  rc  rg  ri  rk  rm  tuplero  rx  r|  r  r  r  r  ScriptFunctionScriptFnr  dictstr__annotations__r  r  r  r  r  rN   r   r   <module>r     s    D D D 
sEz	$ c tCy 0)tCy )T#Y )49 )49  c d3i d3i S	 S	 c tCy (c 49 ,DI d3i s 49 S T#Y .c /tCy /c / LQ $s) DI D 
s)'S	2>BHK,$s) #  s s   	
   6  	
  2922 	2 		2
 	2 2 2 2 2 2 2 2 2 2DC@9C@cC@ IC@ #Y	C@
 3iC@ C@L	9	c	 I	 #Y		
 3i	 	9$s)$ DK(>T#Y d3i d3i c T#Y T#Y $s) # d3i 	S	 	 	T#Y d3i  tCy s 49 " $I#Y  	
 
s)&.sm:B3-OR:4S	? 
S T#Y 3S	 3
A9
A"3i
A47
A@C
Ad3i s 0(4S	? ( (c  S &IDI &IS	 &IR	"DI 	"DI S  "$s) T#Y htCy6I +S	 +c +$s) +3 +s +d3i D 
9
s)
 49

 I	

 #Y
 3i
 
>S	c 49
 I	
 #Y 3i <T9TIT 49
T I	T
 #YT 3iT TT9TIT 49
T I	T
 #YT 3iT T9c999 I9 T#Y	9 !%"&#'*.$($9$I$ 49
$ T#Y	$
 d3i $ T#Y'$ $ tCy!$ 
#Y$N(9(I( 49
( I	(
 #Y( 3i( ( I( ( 
#Y(V9I 49
 I	
 #Y 3i  I      
#Y89T#Y 49
 49%	
 $s)$   
 "T9TIT 49
T I	T
 #YT 3iT T	 	C 	d 	3 
$s) !F !# !S ! !3 !
)))&))14)<?)GJ)222&,2472?B2JM2UX249 DI  $s)  T#Y  T#Y  4PS9  B49  s 4tCy &tCy &	DI 	C 	$ 	 AF1
s)1"3-19=1	#Y1'd3i 'tCy 'T#Y '49 c 	tCy 	S 	s 	E$s)T#Y:N4O 	)
s))!#Y)08c0C)PS)
49d3i )(
:9
:(,S	
:
49d3ic*+
:&9&T#Y& 49
& 49%	&
 $s)$& & 49d3ic*+&+9+T#Y+ 49
+ 49%	+
 $s)$+ 49d3icDI56+ #' 	
s)	I	 T#Y	 		
 	 	 
#Y	& 88""35 T#x-0 5FH tCx/A)B$BC H,.h() .!x !Fs F( F99,49HP9 d	 Le @% J 2O Do V {	  B	 |  Y  k F V =w @, ;Y l	 G F 9	
 OQV n	 m	  E H" M KS Q G L Mv V Lf  O  f @! D JI  Q
  Q
  v  Q
  v  m  w  z \ Lc R NPU V <g Y OQU V @& S g n ` BO A? d	 h e	 x	 CU K T Lf I3 O 35E x  R  I  {  @  I  z
  c I S W ,.ACVr   