
    <Цi                        S r SSKJr  SSKrSSKrSSKrSSKJr  SSKrSSKJ	r	  SSK
Jr  SSKJrJrJrJrJrJr  SSKJrJr  / S	Qr\R4                  " \R6                  S
S9r\" S5      \R:                  " S5      \R<                  " SSS5      SS j5       5       5       r\" S5      SS j5       r \" S5      \R<                  " SS5      SS j5       5       r!\" S5      \R<                  " SS5      SS j5       5       r"\" S5      SS j5       r#\" S5      \R:                  " S5      \R<                  " SSS5      SS j5       5       5       r$\" S5       S SS jj5       r%\" S5      \R<                  " SS5      SS  j5       5       r&\" S!\RN                  " S"S#S$5      /S%9\" S&\RN                  " S'S(S$5      /S%9\" S)\RN                  " S*S+S$5      /S%9\" S,\RN                  " S-S#S.5      /S%9\" S/\RN                  " S0S(S.5      /S%9\" S1\RN                  " S2S+S.5      /S%9\" S3\RN                  " S4S(S55      /S%9SS6 j5       5       5       5       5       5       5       r(\" S75      \R:                  " SSSSSSS5        SS8 j5       5       r)\" S95      \R<                  " SSSS5      SSS: jj5       5       r*\" S;5      \R<                  " SSSS5      SS< j5       5       r+\" S=5      \R<                  " SSS>5      SSS? jj5       5       r,\" S@5      SSA j5       r-\" SB5      SSC j5       r.\" SD5      SSE j5       r/\" SF5      SSG j5       r0\" SH5      SSI j5       r1\" SJ5      SSK j5       r2\" SL5      SSSM jj5       r3\" SN5      SSO j5       r4\" SP5      SSQ j5       r5\" SR5      SSS j5       r6\" ST5      \R:                  " S5      SSU j5       5       r7\" SV5      SSW j5       r8\" SX5      \R<                  " SSSS5      SSY j5       5       r9\" SZ5      \R<                  " SSSSS5        SS[ j5       5       r:\" S\5      \R<                  " SSSSSS>5      SSS] jj5       5       r;\" S^5      \R<                  " SSSS>5      SSS_ jj5       5       r<\" S`5      \R<                  " SSSS>5      SSSa jj5       5       r=\" Sb5      \R<                  " SS5      SSSc jj5       5       r>\" Sd5      SSe j5       r?\" Sf5      \R<                  " SSSS5      SSSg jj5       5       r@\" Sh5      \R<                  " SSSS5      SSSi jj5       5       rA\" Sj5      \R<                  " SSS5      SSSk jj5       5       rBSSl jrC\" Sm5      SSSn jj5       rD\" So5      \" Sp5      \" Sq5      SSr j5       5       5       rE\" Ss5      \" St5      \" Su5      SSv j5       5       5       rF\" Sw5                SSx j5       rG\" Sy5      SSz j5       rH\" S{5      SS| j5       rI\" S}5      SS~ j5       rJ\" S5      \R<                  " SS5      SS j5       5       rK\" S5      \R:                  " SSS9SSS jj5       5       rL\" S5      SSS jj5       rM\" S5      SS j5       rN\" S5      SS j5       rO\" S5      SS j5       rP\" S5      SS j5       rQ\" S5      SS j5       rR\" S5      \" S5      SS j5       5       rS\" S5      \" S5      SS j5       5       rT  SS jrUSS jrVSS jrW\" S5      \R<                  " SSSSS5      SS j5       5       rX\" S5      SS j5       rY\" S5      \R:                  " SSS5      \R<                  " SSS5      SS j5       5       5       rZ\" S5      \R<                  " SSSSS5            SS j5       5       r[\" S5      \R<                  " SSSSSSSSS5	        SS j5       5       r\\" S5      \R<                  " SSSS5      SS j5       5       r]\" S5      SS j5       r^\" S5            S SS jj5       r_\" S5      SS j5       r`\" S5      SS j5       ra\" S5      SS j5       rb\" S5      SS j5       rc\" S5      SS j5       rd\" S5      SS j5       reg)z(This file exports ONNX ops for opset 11.    )annotationsN)Sequence)_C)_onnx)_type_utilserrorssymbolic_helpersymbolic_opset10symbolic_opset9utils)	jit_utilsregistration)9addappendarangeargsort
atleast_1d
atleast_2d
atleast_3dcatchunk	clamp_max	clamp_minclampconstant_pad_ndcumsumDeleteembedding_bagembedding_renormflattengatherhardtanhhstackim2col
index_fillindex
index_copy	index_putinsert
linalg_detlinalg_vector_normlogdetmasked_scattermasked_selectmmnarrownormalpadpixel_shufflepopprim_constant_chunkreflection_padrelu6	remainderreplication_padroundscatterselectsizesortsplit_with_sizessplitsqueezestacktopkunbind
unique_dim	unsqueezevstack   )opsetzaten::hardtanhTvfc           	     b   [         R                  R                  U[         R                  R                  5      nU R	                  S[
        R                  " X$R                  5       S9S9nU R	                  S[
        R                  " X4R                  5       S9S9n[        R                  " U SXUSS9$ )NConstantdtypevalue_tClip   opset_before)
r   JitScalarType
from_valueFLOAToptorchtensorrO   r	   _op_with_optional_float_cast)gselfmin_valmax_valscalar_types        Z/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/torch/onnx/symbolic_opset11.pyr"   r"   \   s     ++66k''--K ddW,=,=,?@  G ddW,=,=,?@  G 77	64'     zaten::clampc           	     >  ^  U 4S jn[         R                  R                  U[         R                  R                  5      nU[         R                  R                  :w  a  U" X%5      nU" X55      n[        R
                  " U5      (       a  [        T X5      $ [        R
                  " U5      (       a  [        T X5      $ [        R                  " U5      S:X  a2  [        R                  " U5      S:X  a  [        R                  " T SXUSS9$ [        T [        T X5      U5      $ )Nc                   > U b:  [         R                  " U 5      (       d  TR                  SU UR                  5       S9$ U $ )NCastto_i)r	   _is_nonerY   	onnx_type)r[   rO   r]   s     rb   _cast_if_not_none clamp.<locals>._cast_if_not_noner   sF    o&>&>v&F&F44__&    Mrc   r   rR   rS   rT   )
r   rV   rW   	UNDEFINEDr	   ri   r   r   _get_tensor_rankr\   )r]   r^   minmaxrk   ra   s   `     rb   r   r   p   s     ++66k''11K k//99911$$D&&		!	!#	&	&D&& ,,S1Q6005:"??64c  Q	!T 7==rc   zaten::clamp_minc           	     8   U R                  SU[        R                  R                  U5      R	                  5       S9n[
        R                  " U5      S:X  a.  [        R                  " U 5      n[
        R                  " U SXUSS9$ [
        R                  " U SXSS9$ )Nrf   rg   r   rR   rS   rT   Max
rY   r   rV   rW   rj   r	   rn   opset9unusedr\   )r]   r^   ro   rp   s       rb   r   r           $$vs!:!:!E!Ed!K!U!U!W$
XC'',1mmA;;vt#B
 	
 ;;udb
 	
rc   zaten::clamp_maxc           	     8   U R                  SU[        R                  R                  U5      R	                  5       S9n[
        R                  " U5      S:X  a.  [        R                  " U 5      n[
        R                  " U SXUSS9$ [
        R                  " U SXSS9$ )Nrf   rg   r   rR   rS   rT   Minrs   )r]   r^   rp   ro   s       rb   r   r      rv   rc   zaten::relu6c                N   [         R                  R                  U[         R                  R                  5      nU R	                  S[
        R                  " SUR                  5       S9S9nU R	                  S[
        R                  " SUR                  5       S9S9n[        XX45      $ )NrM   r   rN   rP      )	r   rV   rW   rX   rY   rZ   r[   rO   r   )r]   inputra   r_   r`   s        rb   r7   r7      s    ++66{((..K ddQk&7&7&9:  G ddQk&7&7&9:  G 7,,rc   zaten::selectic                $    U R                  SXUS9$ )NGatheraxis_irY   )r]   r^   dimr&   s       rb   r<   r<      s    
 44$c422rc   zaten::index_putFc                d   [         R                  " U5      (       a  [         R                  " U5      nOU/n[         R                  " US5      n[	        U5      S:X  a  U$ [	        U5      S:  a  [        [	        U5      5       H8  n[         R                  " XV   5      (       d  M"  U R                  SXV   5      XV'   M:     US   nUSS   H  n[        R                  " XU5      nM     U R                  SU5      n	U Vs/ s H2  n[         R                  " U [        R                  " XU	S 5      S/5      PM4     nnU R                  " S/UQ7SS06nOUS   nUn
[         R                  " U
5      (       a  [         R                  " U5      nUb  US:X  a  [        R                  " XX5      $ [         R                  " U
5      n[         R                  " U5      nUb1  Ub.  X:  a)  [         R                  " X
[        [        X5      5      5      n
[        XX5      $ U R                  SU5      n	[         R                  " XS/5      n[         R                   " X R                  SU5      S/[	        U5      /["        R$                  /S	9nU R                  SXSS
9n[         R                  " U5      nUb  US:X  a  [        R                  " XUS 5      n[         R&                  " XU5      n[(        R*                  R-                  U[(        R*                  R.                  5      nU[(        R*                  R.                  :w  a^  [(        R*                  R-                  U[(        R*                  R.                  5      nUU:w  a  U R                  SUUR1                  5       S9nOU(       a  [2        R4                  " SU5      eU(       ad  U R                  SU R                  SU5      [6        R8                  " S/UR;                  5       S9S9nU R                  SUXs5      n[        XU5      nU$ U R                  SXU5      nU$ s  snf )Nbr      NonZeroShapeConcatr   axesstartsendsr   rf   rg   z'self does not have a valid scalar type.ConstantOfShaperN   rP   	ScatterND)r	   _is_packed_list_unpack_list
_parse_arglenrange_is_boolrY   rt   r   _unsqueeze_helperexpandrn   masked_filllistr-   _slice_helpersysmaxsize_reshape_helperr   rV   rW   rm   rj   r   SymbolicValueErrorrZ   r[   rO   )r]   r^   indices_list_valuevalues
accumulateindices_listidx_r&   indbroadcast_index_shapebool_inprank	mask_rank	self_ranksub_data_shapevalues_shapeself_scalar_typevalues_scalar_typezerosresults                       rb   r(   r(      s    &&'9::&334FG*+ ++J<J
<A
<1#l+,D''(:;;%&TT)\5G%H" - Q#CJJq-E $ !We 4
 $	
 $ --6==)>Et $	 	 
 X88R8P Q##H--"33F;DDAI))!8DD'88BI'88>I%)) +<<eI&A!B "!8<< !We 411!RDA$22	44aS#l2C1DCKK=N 44"7PQ4RL++F3DDAIq,=,,QEF"00;;k''11 ;44>>>(66AAK--77
 11TT&&/?/I/I/KTLF	''(QSWXXDD$LL!,<,B,B,DE  

 k5%8Qf% M k47MG
s   ;9P-zaten::pixel_shufflec                    [         R                  " U5      nUb  US:w  a  [         R                  " SS5      $ U R                  SXSS9$ )N   r3   zonly support 4d inputDepthToSpaceCRD)blocksize_imode_s)r	   rn   _unimplementedrY   )r]   r^   upscale_factorr   s       rb   r3   r3   E  sI     ++D1DDAI--o?VWW444OOrc   zaten::upsample_nearest1dupsample_nearest1d   nearest)decoratezaten::upsample_nearest2dupsample_nearest2dr   zaten::upsample_nearest3dupsample_nearest3d   zaten::upsample_linear1dupsample_linear1dlinearzaten::upsample_bilinear2dupsample_bilinear2dzaten::upsample_trilinear3dupsample_trilinear3dzaten::upsample_bicubic2dupsample_bicubic2dcubicc                0    [         R                  " XU5      $ N)r	   _interpolate_helper)namer   interpolate_modes      rb   _interpolater   N  s    : ..t:JKKrc   zaten::__interpolatec           	     4    [         R                  " XX#XEU5      $ r   )r	   __interpolate_helper)r]   r{   r=   scale_factormodealign_cornersrecompute_scale_factor	antialiass           rb   __interpolater   n  s!     //	$d;Q rc   zaten::gatherc                    [         R                  " US5      (       a  [         R                  " SS5      $ U R                  SXUS9$ )Nr|   r!   zsparse_grad == TrueGatherElementsr   )r	   _maybe_get_constr   rY   )r]   r^   r   r&   sparse_grads        rb   r!   r!     sA     ''S99--h8MNN44 $c4::rc   zaten::scatterc           
        [         R                  R                  U5      n[        R                  " U5      n[        R
                  " U5      (       a  U R                  SXXBS9$ [         R                  R                  U5      U:w  a<  U R                  SU[         R                  R                  U5      R                  5       S9nU R                  SX[        R                  " XU5      US9$ )NScatterElementsr   rf   rg   )
r   rV   rW   r	   _maybe_get_scalar	_is_valuerY   rj   rt   	expand_as)r]   r^   r   r&   srcsrc_types         rb   r;   r;     s     ((33C8H

+
+C
0C  %%tt%tCtDD $$//5A$$ ..99$?IIK  C
 tttF,<,<QU,KTW  
 	
rc   zaten::cumsumnonec                z   U R                  S[        R                  " U[        R                  S9S9nU(       an  UR	                  5       R                  5       S:w  aL  [        R                  " USS5      nU R                  SU[        R                  " U5      R                  5       S9nOUnU R                  S	Xd5      nU$ )
NrM   rN   rP   zprim::Constantr|   rO   rf   rg   CumSum)rY   rZ   r[   intnodekindr	   
_get_constr   rV   rj   )r]   r^   r   rO   
dim_tensorparsed_dtypecastcsums           rb   r   r     s     j%,,s%))*LMJ""$(88&11%gFttD{88FPPR  
 44$+DKrc   zaten::masked_selectc                ~    [         R                  " U [         R                  " XU5      5      nU R                  SX5      $ )NGatherND)rt   nonzeror   rY   )r]   r^   maskr&   s       rb   r.   r.     s0    NN1f..q=>E44
D((rc   zaten::masked_scatterc                   [         R                  " U [         R                  " XU5      5      n[        R                  " X[
        R                  " S/5      5      n[        R                  " U U[
        R                  " S/5      [
        R                  " S/5      [         R                  " X[
        R                  " S/5      5      S9nU R                  SXU5      $ )Nr   r   r   r   )
rt   r   r   r	   r   rZ   
LongTensorr   r=   rY   )r]   r^   r   sourcer&   s        rb   r-   r-     s    NN1f..q=>E ,,Q8H8H"8NOF**	qc"$[[5#3#3QC#89F 44T&11rc   z	aten::lenc           
     .   [         R                  " U5      (       d"  UR                  5       R                  5       S:X  a  U R	                  SU5      $ [        XU R	                  S[        R                  " S/5      S95      n[         R                  " XS/5      $ )Nzonnx::SplitToSequenceSequenceLengthrM   r   rP   )	r	   _is_tensor_listr   r   rY   r=   rZ   r   _squeeze_helper)r]   r^   sz_0s      rb   _lenr     sz     	''--99;!88tt$d++j%2B2BA32GHID**1QC88rc   zaten::__getitem_c                z    [         R                  " U5      (       a  U R                  SX5      $ SSKJn  U" XU5      $ )N
SequenceAtr   )
__getitem_)r	   r   rY   torch.onnx.symbolic_opset9r   )r]   r^   r|   getitems       rb   r   r     s4    &&t,,ttL$**Dq""rc   zaten::_set_itemc                L    U R                  SX5      nU R                  SXU5      $ )NSequenceEraseSequenceInsertr   )r]   tensor_listr|   rJ   s       rb   	_set_itemr     s&    $$7K44 +!44rc   zaten::appendc                &    U R                  SX5      $ Nr   r   )r]   r^   r[   s      rb   r   r     s    44 $//rc   z	aten::addc                |   [         R                  " U5      (       a  [         R                  " U5      (       ap  UR                  5       nUR	                  5       S:w  a  [         R
                  " SS5      $ [         R                  " U5      nUnU H  nU R                  SXg5      nM     U$ [        R                  " XX#5      $ )Nzprim::ListConstructr   z6does not support adding dynamic tensor list to anotherr   )
r	   r   r   r   r   r   r   rY   rt   r   )r]   r^   otheralphatensor_list_nodetensorslts           rb   r   r     s      &&?+J+J4+P+P ::<  "&;;"11O  "..u5A%q,A ::au,,rc   zaten::insertc                (    U R                  SXU5      $ r  r   )r]   r^   posr[   s       rb   r)   r)     s    44 $44rc   z	aten::popc                &    U R                  SX5      $ Nr   r   r]   r   r   s      rb   r4   r4         4422rc   zaten::Deletec                &    U R                  SX5      $ r  r   r  s      rb   r   r     r  rc   z	aten::catc                    [         R                  " U5      (       a  [        R                  " XU5      $ [         R                  " USS5      nU R                  SXS9$ )Nr|   r   ConcatFromSequencer   )r	   r   rt   r   r   rY   r  s      rb   r   r     sN     &&{33zz!#..((c59tt(+tBBrc   zaten::stackc                    [         R                  " U5      (       a  [        R                  " XU5      $ [         R                  " USS5      nU R                  SXSS9$ )Nr|   r   r  r   r   
new_axis_i)r	   r   rt   rB   r   rY   r  s      rb   rB   rB     sN    &&{33||AC00((c59tt(+atPPrc   zaten::_unique2c                2    U R                  SXSS9u  pVpxXWU4$ )NUniquer   )sorted_ioutputsr   )	r]   r^   sortedreturn_inversereturn_countsu_indicesinverse_indicescountss	            rb   _unique2r     s0     ,-44$ ,0 ,(A v%%rc   zaten::unique_dimc                4    U R                  SXUSS9u  pgpXhU	4$ )Nr  r   )r   r  r  r   )
r]   r^   r   r  r  r  r  r  r  r  s
             rb   rE   rE     s2    
 ,-44$VQ ,0 ,(A v%%rc   z
aten::topkc           
     0    [         R                  " XX#XEUS9$ )N)largestr  out)r	   _topk_helper)r]   r^   kr   r#  r  r$  s          rb   rC   rC   *  s      ''	S rc   z
aten::sortc                .    [         R                  " XX#US9$ N)	decendingr$  r	   _sort_helper)r]   r^   r   r)  r$  s        rb   r>   r>   2  s     ''sSSrc   zaten::argsortc                6    [         R                  " XX#US9u  pVU$ r(  r*  )r]   r^   r   r)  r$  _indicess          rb   r   r   8  s$     !--	sJA Nrc   zaten::roundc                   [         R                  " U5      (       d  U$ US:X  a  U R                  SU5      $ U R                  SXR                  S[        R                  " [        SU5      5      S95      nU R                  SU5      nU R                  SX@R                  S[        R                  " [        SSU-  5      5      S95      $ )Nr   RoundMulrM   
   rP   r   )r	   _is_fprY   rZ   r[   pow)r]   r^   decimalsmulr:   s        rb   r:   r:   A  s     !!$''1}ttGT""
$$udDDU\\#b(BS5TDU
VCDD#E44udd:u||CBM<R/SdT rc   zaten::remainderc                    [         R                  " U5      (       d  [         R                  " U5      (       a  [        R                  " XU5      $ U R	                  SXSS9$ )NModr   )fmod_i)r	   r3  rt   r8   rY   )r]   r{   r  s      rb   r8   r8   O  sK    e$$(>(>u(E(E%0044uA4..rc   zaten::splitc                   [         R                  " X$5      (       Gd  U R                  SXUS9nUc  U$ [         R                  " U5      (       Ga  [	        [         R
                  " U5      5      U:X  a  [         R
                  " U5       Vs/ s H  n[         R                  " XS/5      PM     nnU R                  S[        R                  " S/[        R                  S9S9nU R                  S[        R                  " U/[        R                  S9S9n	/ n
[        U5       H<  nU R                  SXU   5      nU
R                  U R                  SXX5      5        UnM>     U
$ [        U5       Vs/ s HF  nU R                  S	UU R                  S[        R                  " U/[        R                  S9S95      PMH     sn$ [        R                  " XX#U5      $ s  snf s  snf )
NSplitToSequencer   r   rM   rN   rP   AddSlicer   )r	   _is_split_staticrY   r   r   r   r   rZ   r[   longr   r   rt   r@   )r]   r^   split_size_or_sizesr   _outputs	split_outrJ   split_sizesstartaxisresr|   ends                rb   r@   r@   V  s    ++,?JJDD*DcDR	 ++,?@@O001DEF(R )556IJJA  11!<J   DDU\\1#UZZ-PDQE44
ELL#ejj,Q4RDC8_dd5a. 

144c@A % J 8_
 % DDZqc)LM
 %
 	
 ||A%8xHH/
s   
"G.AGzaten::split_with_sizesc                    [        XX#U5      $ r   )r@   )r]   r^   rC  r   rA  s        rb   r?   r?   |  s     +H55rc   zaten::unbindc                    UcB  U R                  SUU R                  S[        R                  " S[        R                  S9S9USS9$ [        R
                  " XX#5      $ )Nr;  rM   r   rN   rP   r   )r   
keepdims_i)rY   rZ   r[   r?  rt   rD   )r]   r^   r   rA  s       rb   rD   rD     s^     ttDDU\\!5::%FDG  
 	
 }}Qc44rc   c                $   [         R                  " U5      (       dH  [         R                  " U5      (       a-  [         R                  " U5      (       a  U R	                  SUSSS9n[
        R                  " XU R	                  S[        R                  " S/5      S95      n[         R                  " U5      nUc#  U R	                  SU R	                  SU5      5      nO1U R	                  S[        R                  " U[        R                  S	9S9nU R	                  S
U R	                  SX@R	                  S[        R                  " S[        R                  S	9S95      U5      nU R	                  SU[        R                  R                  S9nU R	                  SUU R	                  SU[        R                  " S/[        R                  S	9S9SS9n[         R                  " XU R	                  S[        R                  " SS/5      S95      nU R	                  S[        R                   " XS/5      SS/S9n[         R                  " XU R	                  S[        R                  " S/5      S95      nU R	                  SU[        R                  R                  S9nU$ )a	  Generate paddings in ONNX order based on pad in pytorch.

Args:
    input: the input tensor.
    pad: the paddings in pytorch.
        The order is dim_n_begin, dim_n_end, dim_n-1_begin, dim_n-1_end, ..., dim_m_begin, dim_m_end,
        where m is in range [0, n].
r  r   r   r  rM   rP   Sizer   rN   Subr1     rf   rg   r   r   r   r   	Transposeperm_i)r	   r   _is_list_is_scalar_listrY   rt   r=   rZ   r[   rn   int64_C_onnxTensorProtoDataTypeINT64r   opset10flip)r]   r{   r2   pad_lenr   	extensionpaddings	padding_cs           rb   _prepare_onnx_paddingsr^    s    ++C00$$S))++C00dd'Q1dE
 kk!!$$z5<<;L$"MNG++E2D|ttFADD%01ttJT(MtN	UD$$z5<<3U$VWI $$vs!<!<!B!B$
CCtt	y%,,s%++2V 	 	
   H ..	QTT*ellB7.CTDH ttKaA3!?AtOH..	QTT*ellB4.@TAH VXG,G,G,M,MNIrc   zaten::constant_pad_ndc                    Sn[         R                  " U5      n[         R                  " X15      n[        XU5      nU R	                  SXX4S9$ )NconstantPadr   )r	   r   _if_scalar_type_asr^  rY   )r]   r{   paddingvaluer   r2   s         rb   r   r     sH    D--e4E..u<E
 7
3C44u5466rc   zaten::reflection_pad1dzaten::reflection_pad2dzaten::reflection_pad3dc                @    Sn[        XU5      nU R                  SXUS9$ )Nreflectra  rb  r^  rY   r]   r{   rd  r   r\  s        rb   r6   r6     s*     D%a8H44ut444rc   zaten::replication_pad1dzaten::replication_pad2dzaten::replication_pad3dc                @    Sn[        XU5      nU R                  SXUS9$ )Nedgera  rb  rh  ri  s        rb   r9   r9     s*     D%a8H44ut444rc   z	aten::padc                
   [         R                  " US5      nUS:X  a  [        XU5      $ US:X  a  [        XU5      $ US:X  a  [	        XX$5      $ US:X  a  [
        R                  " XU5      $ [        R                  " SU 3U5      e)Ns	replicaterg  r`  circularzUnrecognized padding mode )	r	   r   r9   r6   r   rt   _pad_circularr   r   )r]   r{   r2   r   re  s        rb   r2   r2     s     %%dC0D{q--		a,,		q44		##Ac22''*DTF(KUSSrc   zaten::linalg_detc                &    U R                  SU5      $ )NDetr   )r]   r^   s     rb   r*   r*     s    44trc   zaten::logdetc                B    [         R                  " U [        X5      5      $ r   )rt   logr*   )r]   r{   s     rb   r,   r,     s    ::aA-..rc   aten::arangec                2   S n[        U5      S:X  a  [        S U 5       5      (       a  [        R                  nU R	                  S[        R
                  " US   US9S9nU R	                  S[        R
                  " US   US9S9nU R	                  S[        R
                  " SUS9S9nU R	                  S	XEU5      $ [        U5      S:X  d  [        U5      S
:X  a  [        U5      S:X  a  S nOU" US   5      n[        R                  " XS   US9u  pupHU R	                  S[        R
                  " SUR                  5       S9S9n	U R	                  S[        R
                  " SUR                  5       S9S9nU R	                  S	XU5      $ [        U5      S:X  d  [        U5      S:X  aS  [        U5      S:X  a  S nOU" US   5      n[        R                  " XS   US   US   US9u  ppHU R	                  S	XEU5      $ [        U5      S:X  an  U" US   5      n[        R                  " XS   US   US9u  pupHU R	                  S[        R
                  " SUR                  5       S9S9nU R	                  S	XEU5      $ [        R                  " SS[        U5       S35      $ )Nc                4    [         R                  " U S5      n U $ )Nr|   )r	   r   rN   s    rb   _get_arange_dtype!arange.<locals>._get_arange_dtype  s    00<rc   rN  c              3  B   #    U  H  n[        U[        5      v   M     g 7fr   )
isinstancer   ).0vals     rb   	<genexpr>arange.<locals>.<genexpr>
  s     Cdsjc22ds   rM   r   rN   rP   r   Ranger   )rG  rO   r      r   )rD  rG  steprO   rz   )rD  rG  rO   ru  zwith z
 arguments)
r   allrZ   rT  rY   r[   r	   _arange_cast_helperrO   r   )r]   argsrx  rO   rD  rG  delta_defaulttype_r  start_defaultr-  s              rb   r   r     s    4yA~#CdCCCLLa6  

 ddLLa6  

 LL%0  
 ttGU77	Ta3t9>t9>E &d1g.E"1"E"E7%#
E LL%++-8  
 LL%++-8  
 ttG]??	Ta3t9>t9>E &d1g.E-AA!W$q'Qu
 ttGU..	Ta!$q'*"1"E"E!W$q'#
E LL%++-8  
 ttGU77--eCI;j9
 	
rc   zaten::_dim_arangec           
         U R                  SU5      nU R                  SX0R                  S[        R                  " U5      S9SS9n[        XSS S S 5      $ )Nr   r~   rM   rP   r   r   r   )rY   rZ   r[   r   )r]   liker   
like_shapestops        rb   _dim_aranger  L  sZ     gt$J44*dd:u||C7HdIRS  D !1dD$//rc   z
aten::size)quantize_outputc                Z    Uc  U R                  SU5      $ [        R                  " XU5      $ )Nr   )rY   r	   _size_helperr]   r^   r   s      rb   r=   r=   V  s-     {ttGT""''55rc   zaten::squeezec                $   Uc  U R                  SU5      $ [        R                  " U5      (       d  [        R                  " XU/5      $ [        R                  " USS5      n[        R
                  " U5      nUnUb
  US:  a  XC-  n[        R                  " X5      nUS:  a  Ub  UGc
  U R                  S[        R                  " U/5      S9n[        R                  " XU5      nU R                  S[        R                  " S[        R                  S9S9nU R                  S	Xx5      n	[        R                  " U S
U	SS9u  n
u  pn[        R                  " XU/5      n[        R                  " UR                   U5        UR                  SU5      n[        R                  " UR                   U5        U
$ UnUS:  a?  ["        R$                  " S['        U5      -   S-   S-   ['        U5      -   S-   S-   S-   5        U$ [        R                  " XU/5      $ )NSqueezer|   r   r   rM   rP   r   rN   EqualIfrN  )n_blocksIdentityz5This model contains a squeeze operation on dimension z. The size of z%this dimension in the given input is z. The model will zWbe exported without the squeeze node. If the model is intended to be used with dynamic z7input shapes, please export with dynamic_axes argument.)rY   r	   _is_constantr   r   rn   _get_tensor_dim_sizerZ   r[   r  onesrT  r   add_op_with_blocksr   _add_output_to_blockblockwarningswarnstr)r]   r^   r   
input_rankadjusted_dimdim_sizedim_constantr=   	const_onecondif_op
if_contextelse_contextr-  squeeze_	identity_s                   rb   rA   rA   ^  s   
{ttIt$$ '',,..q>>

$
$S#u
5C 11$7JL#'"33DGHaJ&8+; ttJcU0CtD++A\BDDUZZ-MDN	ttGT-/8/K/KtTA0
,)
1 #22:cUK"":#3#3X> OOJ5	""<#5#5yA C!|C#h 66 (m	
 "" hh HH		
 **1SE::rc   zaten::unsqueezec                    [         R                  " U5      (       a  [         R                  " USS5      n[         R                  " XU/5      $ )Nr|   r   )r	   r  r   r   r  s      rb   rF   rF     s<    ##C((((c59,,Qse<<rc   zaten::mmc                &    U R                  SXSSS9$ )NGemmg        g      ?)beta_falpha_fr   )r]   r^   r  s      rb   r/   r/     s    44C4==rc   zaten::indexc                   [         R                  " U5      (       a  [         R                  " U5      nOU/n[        U5      S:X  a  US   n[         R                  " U5      (       d~  [         R
                  " U5      (       d;  [        R                  R                  U5      [        R                  R                  :X  a(  [        R                  " X5      nU R                  SX5      $ [        R                  " XU5      $ )Nr   r   r   )r	   r   r   r   ri   r   r   rV   rW   UINT8rt   r   rY   r&   )r]   r^   r&   r.  s       rb   r&   r&     s    &&u--!..u5' 7|q
''..$$U++((33E:((../ NN1,E44
D00<<''rc   zaten::index_fillc                    [         R                  " XX#5      u  pV[         R                  " U5      n[         R                  " XA5      n[        R
                  " XUS 5      n[        XX&U5      $ r   )r	   _index_fill_reshape_helperr   rc  rt   r   r;   )r]   r^   r   r&   re  expanded_index_shapeexpanded_indexexpanded_values           rb   r%   r%     s_    +:+U+U	,( --e4E..u;E]]1-A4HN1C@@rc   zaten::index_copyc                N    [         R                  " XX#5      u  pV[        XX&U5      $ r   )r	   r  r;   )r]   r^   r   r&   r   _expanded_index_shaper  s          rb   r'   r'     s,    ,;,V,V	-) 1C88rc   zaten::bitwise_right_shiftzaten::__rshift_c                   [         R                  R                  U[         R                  R                  5      [         R                  R                  U5      :w  a<  U R	                  SU[         R                  R                  U5      R                  5       S9n[         R                  R                  U[         R                  R                  5      [         R                  R                  :X  a  U R	                  SXSS9$ U R	                  S[        R                  " S[        R                  S9S	9n[        R                  " U5      (       d)  U R	                  SU[        R                  R                  S9nU R	                  S
X25      nU R	                  SU[         R                  R                  U5      R                  5       S9nU R	                  SX5      nU$ )Nrf   rg   BitShiftRIGHTdirection_srM   rN  rN   rP   PowDivr   rV   rW   rm   rY   rj   r  rZ   r[   float32r	   r3  rU  rV  rX   )r]   r^   r  twotwo_powrshifts         rb   	__rshift_r    sx   
   ++{((22		"	"	-	-d	34 **55d;EEG  
 	!!,,T;3L3L3V3VW$$**	+ ttJtAA
$$z5<<#G$
HC!!$''VU)D)D)J)JKdd5#%Gdd&&11$7AAC  G
 TT%'FMrc   zaten::bitwise_left_shiftzaten::__lshift_c                   [         R                  R                  U[         R                  R                  5      [         R                  R                  U5      :w  a<  U R	                  SU[         R                  R                  U5      R                  5       S9n[         R                  R                  U[         R                  R                  5      [         R                  R                  :X  a  U R	                  SXSS9$ U R	                  S[        R                  " S[        R                  S9S	9n[        R                  " U5      (       d)  U R	                  SU[        R                  R                  S9nU R	                  S
X25      nU R	                  SU[         R                  R                  U5      R                  5       S9nU R	                  SX5      nU$ )Nrf   rg   r  LEFTr  rM   rN  rN   rP   r  r1  r  )r]   r^   r  r  r  lshifts         rb   	__lshift_r    sx   
   ++{((22		"	"	-	-d	34 **55d;EEG  
 	!!,,T;3L3L3V3VW$$**	+ ttJt@@
$$z5<<#G$
HC!!$''VU)D)D)J)JKdd5#%Gdd&&11$7AAC  G
 TT%'FMrc   c                   U R                  SXR                  S[        R                  " US-  5      S95      nU R                  SUU R                  S[        R                  " X2S-
  -  5      S95      nU R                  SU R                  S[        R                  " S5      S9UU R                  S[        R                  " U5      S95      n[        R                  " SX#-  U5      nU R                  SUR	                  S5      S9n[
        R                  " XS/5      n[
        R                  " XU R                  S[        R                  " S	S/5      S95      n	U R                  SXy5      n
U
$ )
Nr<  rM   rN  rP   rM  r   r  r   r   )rY   rZ   r[   r   rF   r	   r   r   )r]   input_dkernel_size_d
dilation_d	padding_dstride_dblocks_dblocks_d_indiceskernel_gridkernel_mask
block_masks              rb   _get_im2col_indices_along_dimr  	  sH    ttwZi!m1LMH tt	ZjA<M.N!OPH tt	Za1	Zh!78	 ,,q-"<jIK$$z;+@+@+C$DK '88	aS "11	Zr1g1FGK e-;Jrc   c           	     z    U R                  S[        R                  " SSX#/S-  5      S9nU R                  SX5      $ )NrM   r   rN  rP   ra  )rY   rZ   r   )r]   r{   	padding_h	padding_wr2   s        rb   _get_im2col_padded_inputr  4  s?     $$z5#3#3Q94PST4T#U$
VC44u""rc   c                   [        XU R                  S[        R                  " S5      S95      n[        XU R                  S[        R                  " S5      S95      nU R                  SXPR                  S[        R                  " X#-  5      S95      nU R                  S[        R
                  " XS/5      [        R
                  " XS/5      U R                  S[        R                  " S/5      S9SS9$ )	NrM   r   rP   r   r1  r   r   r   )r=   rY   rZ   r[   r	   r   )r]   r{   kernel_hkernel_w	batch_dimchannel_dimchannel_unfoldeds          rb   _get_im2col_output_shaper  <  s    QqttJQtHIIqj%,,q/!JKKtt{DDU\\(BU5VDW 44))!<))!sC	Zrd!34   rc   zaten::im2colisc           
        [        XU R                  S[        R                  " S5      S95      n[        XU R                  S[        R                  " S5      S95      nUS   US   pUS   US   pUS   US   pUS   US   p[	        XXX5      n[	        XXX5      n[        XX5      n[        XX5      nU R                  SUUSS9nU R                  SUUS	S9nU R                  S
U/ SQS9n[        R                  " U UU5      $ )NrM   rN  rP   r   r   r   r~   r   r   rO  )r   r   rN  r   r   r   rP  )	r=   rY   rZ   r[   r  r  r  r	   r   )r]   r{   kernel_sizedilationrd  strideinput_hinput_wstride_hstride_wr  r  
dilation_h
dilation_wr  r  blocks_row_indicesblocks_col_indicesoutput_shapepadded_inputoutputs                        rb   r$   r$   L  s    1QTT*ell1oTFGG1QTT*ell1oTFGGF1Ih"1:wqzy%a[(1+
$QQh6	H) 7	H) ,AhIL+AiKL2 TT(L*<QTGFTT(F$6qTAFTT+v.@TAF**1flCCrc   zaten::narrowc                R    U R                  SX45      n[        R                  " XX#US9$ )Nr<  r   )rY   r	   r   )r]   r{   r   rD  lengthrG  s         rb   r0   r0     s(    
$$ue
$C((PSTTrc   zaten::flattenc                Z   [         R                  " U5      nUS:X  a  U$ US:X  a"  US:X  d  Ub  X4S-
  :X  a  U R                  SXS9$ O*US:X  a$  US:X  d  Ub  X4S-
  :X  a  U R                  SXS-   S9$ Uc  [         R                  " SS	5      $ US:  a  XC-   n[         R                  " XX#U5      $ )
Nr   r   Flattenr   r   rN  r   zfONNX and PyTorch use different strategies to split the input. Input rank must be known at export time.)r	   rn   rY   r   _flatten_helper)r]   r{   	start_dimend_dimr   s        rb   r    r      s     
*
*5
1C
axA~b=S_!G1C44	54;;	ab=S_!G1C44	514==
{--7
 	
 {-**1YMMrc   zaten::linalg_vector_normr   c                2    [         R                  " XX#XE5      $ r   )r	   _linalg_vector_norm_helper)r]   r^   ordr   keepdimrO   s         rb   r+   r+     s     55asXXrc   zaten::embedding_bagc
                @    [         R                  " U UUUUUUUUU	5
      $ r   )r	   _embedding_bag_helper)
r]   embedding_matrixr.  offsetsscale_grad_by_freqr   sparseper_sample_weightsinclude_last_offsetpadding_idxs
             rb   r   r     s5     00	 rc   zaten::embedding_renormc           
     V   U R                  SU5      nU R                  SX5      n[        U5      nUS:X  a  SnO$US:X  a  SnO[        R                  " SU S3U5      eU R                  XFS/SS	9nU R                  S
XR                  S[        R
                  " S5      S95      n	[        R
                  " U5      nU R                  SX95      n
U R                  SXj5      nU R                  SU R                  SX5      UU5      nU R                  SU[        R                  " XS/5      U5      $ )Nr  r~   r   ReduceL1rN  ReduceL2z8Unsupported: ONNX export of embedding_renorm with norm: z. Only 1. and 2. are supported.)axes_irJ  r<  rM   gHz>rP   r  r1  WhereGreaterr   )rY   r   r   r   rZ   r[   r	   r   )r]   weightr.  max_norm	norm_typeunique_indicespartial_weightnorm_ipartial_weight_normpartial_weight_norm_scalespartial_weight_renorms               rb   r   r     s:    TT(G,NTT(F;N^F{		1	''Fvh O, ,
 	

 $$y!QR$S 44"DDU\\$=OD$P ||H%HTT%8FDD?DD	Y+6	 44))!aSA	 rc   zaten::chunkc                   U R                  SU R                  SU5      USS9nU R                  SX R                  S[        R                  " S/[        R                  S9S	95      nU R                  S
U R                  SXE5      U5      n[        R
                  " XUS 5      U R                  SX@R                  SXe5      5      /nU R                   " S/UQ7SS06n[        XXs5      $ )Nr~   r   r   r   rM  rM   r   rN   rP   r  r<  r1  r   r   )rY   rZ   r[   r?  rt   r   r@   )r]   r^   chunksr   r  chunk_size_s
chunk_size	chunk_vecs           rb   r   r     s     ttHadd7D13qtAH44vttJaS

0StTL eQTT%@&IJ 	a\48	UHdd5*CDI X4	4!4I)))rc   zaten::normalc	                    Ub3  [         R                  " U5      (       d  [        R                  " XUS 5      n[        R                  " XU R                  SU5      5      n	[        X	U5      $ )NRandomNormalLike)r	   ri   rt   r   r6  rY   r   )
r]   meanstdsizes	generatorrO   layoutdevice
pin_memoryr   s
             rb   r1   r1     sU    " !9!9%!@!@}}QeT2ZZ%7 >?Fq$rc   zaten::atleast_1dc                X   [         R                  " U5      (       a  [         R                  " U5      (       a  [         R                  " U5      n/ nU Hl  nUn[         R                  " U5      nUS:X  a:  [         R
                  " XU R                  S[        R                  " S/5      S95      nUR                  U5        Mn     U R                  " S/UQ76 $ [         R                  " U5      nUS:X  a:  [         R
                  " XU R                  S[        R                  " S/5      S95      nU$ )Nr   rM   r   rP   SequenceConstruct)
r	   r   r   r   rn   r   rY   rZ   r[   r   r]   r^   r   new_tensor_listr[   
new_tensortensor_ranks          rb   r   r     s   
   &&?+J+J4+P+P%2248!FJ)::6BKa,<<144
ELL!<M4#N
 "":. " tt':/::!2248Ka..QTT*ellA3.?T@
 Krc   zaten::atleast_2dc                   [         R                  " U5      (       a  [         R                  " U5      (       a  [         R                  " U5      n/ nU H  nUn[         R                  " U5      nUS:X  a<  [         R
                  " XU R                  S[        R                  " SS/5      S95      nOUS:X  a  [         R                  " XS/S9nUR                  U5        M     U R                  " S/UQ76 $ [         R                  " U5      nUS:X  a=  [         R
                  " XU R                  S[        R                  " SS/5      S95      nU$ US:X  a  [         R                  " XS/S9nU$ )Nr   rM   r   rP   r
  r&  r	   r   r   r   rn   r   rY   rZ   r[   r   r   r'  s          rb   r   r   4  sI      &&?+J+J4+P+P%2248!FJ)::6BKa,<<144
ELL!Q<P4#Q
 !,>>1#
 "":. " tt':/::!2248Ka..QTT*ellAq6.BTC

 K 
	00!EKrc   zaten::atleast_3dc                   [         R                  " U5      (       Ga	  [         R                  " U5      (       a  [         R                  " U5      n/ nU H  nUn[         R                  " U5      nUS:X  a<  [         R
                  " XU R                  S[        R                  " / SQ5      S95      nOOUS:X  a-  [         R                  " XS/S9n[         R                  " XS/S9nOUS:X  a  [         R                  " XS/S9nUR                  U5        M     U R                  " S	/UQ76 $ [         R                  " U5      nUS:X  a=  [         R
                  " XU R                  S[        R                  " / SQ5      S95      nU$ US:X  a.  [         R                  " XS/S9n[         R                  " XS/S9nU$ US:X  a  [         R                  " XS/S9nU$ )
Nr   rM   )r   r   r   rP   r   r,  r   rN  r&  r-  r'  s          rb   r   r   U  s      &&?+J+J4+P+P%2248!FJ)::6BKa,<<144
ELL<S4#T
 !,>>1#
 ->>2$
 !,>>2$
 "":.% "& tt':/::!2248Ka..QTT*ell9.ETF
 K 
	00!E00"F K 
	00"FKrc   zprim::ConstantChunkc           
     (   U R                  SU5      nU R                  S[        R                  " U/[        R                  S9S9nU R                  SXESS9nU R                  S[        R                  " S/[        R                  S9S9nU R                  S[        R                  " U/[        R                  S9S9nU R                  S[        R                  " US-
  /[        R                  S9S9n	U R                  S	Xi5      n
U R                  S
X5      n/ n[	        U5       Hn  nU R                  S[        R                  " US-   /[        R                  S9S9nU R                  SX5      nUR                  U R                  SXX5      5        UnMp     U$ )Nr   rM   rN   rP   r~   r   r   r   r<  r  r1  r=  )rY   rZ   r[   r?  r   r   )r]   r^   r  r   input_shaperE  input_shape_dimrD  r  chunk_size_minus_1input_shape_dim_shift	chunk_dimrF  r|   r&   rG  s                   rb   r5   r5     sP   $$w%K44
ELL#ejj$I4JDdd8[qdAODDU\\1#UZZ%HDIEj%,,xuzz*RSJELL&1*UZZH   DDLU1>I
C6]Zq1ugUZZ)PQdd5)+

144c89	 
 Jrc   zaten::hstackc                   [        X5      nU R                  SUU R                  S[        R                  " S[        R                  S9S95      nU R                  SU5      nU R                  SU5      nU R                  S[        R                  " S[        R                  S9S9nU R                  S	XE5      n[
        R                  " U S
USSS9u  nu  pn
UR                  SUSSS9n[        R                  " UR                  U5        U	R                  SUSSS9n[        R                  " U	R                  U5        UR                  5       R                  5       nU$ )Nr   rM   r   rN   rP   r   rL  r   r  r  rN  )r  r  r  r  )r   rY   rZ   r[   r?  r   r  r   r  r  r   r  )r]   r   first_tensorfirst_tensor_shapefirst_tensor_dimr  equal_to_oneif_op_greaterif_context_equalelse_context_equalr-  	result_ifresult_elser   s                 rb   r#   r#     sJ   Q,K44	Zauzz!BCL
 g|4ttF$67Zauzz)JKI44!1=L 	$$QlQPQR	.		 ##k! $ I 
/55yA$''k! ( K 
177E!((*FMrc   zaten::vstackc                <    [        X5      nU R                  SUSSS9$ )Nr  r   r  )r   rY   )r]   r   s     rb   rG   rG     s$    Q,K44$k!4JJrc   )r]   jit_utils.GraphContextr^   _C.Valuer_   floatr`   rB  )r]   r@  )F)r   r  r   r   r   r  r   )r   )r   N)
r]   r@  r{   rA  r2   rA  r   rA  re  rA  )r]   r@  r   zSequence[int] | Noner  bool)NNNNNN)r]   r@  r^   ztorch._C.Value)r]   r@  r   rA  )f__doc__
__future__r   	functoolsr   r  typingr   rZ   r   torch._Cr   rU  
torch.onnxr   r   r	   r
   rX  r   rt   r   torch.onnx._internalr   r   __all__partialonnx_symbolic_onnx_symbolicquantized_args
parse_argsr"   r   r   r   r7   r<   r(   r3   _apply_paramsr   r   r!   r;   r   r.   r-   r   r   r   r   r   r)   r4   r   r   rB   r   rE   rC   r>   r   r:   r8   r@   r?   rD   r^  r   r6   r9   r2   r*   r,   r   r  r=   rA   rF   r/   r&   r%   r'   r  r  r  r  r  r$   r0   r    r+   r   r   r   r1   r   r   r   r5   r#   rG    rc   rb   <module>rS     s   / "  
     %  9:x ""<#=#=RH  !%Cc* + & "" > >D !"C%

 & #

 !"C%

 & #

 - - %Cc*3 + &  3 !"LQxx #xv %&C%P & 'P ++,@!YOP ++,@!YOP ++,@!YOP ++,?HMN ++,A1hOP  ++,BAxPQ ++,@!WMNL							8L %&eUE5%O P ' Cc3/; 0  ;  Cc3/
 0 !
& Cf-
 .  
 %&) ')
 &'2 (2  9 9 "## $# !"5 #5
 0  0 - -  5  5 3 3 3  3 %C & C Q Q  !Cc3/& 0 "& "#Cc34&& 5 $& Cc3V< =  Cc62T 3 T  Cc62 3 ! C%	 & 	 !"/ #/ Cc3/!I 0 !IH ()Cc3/6 0 *6 Cc*
5 +  
56r '(7 )7 ()()()5 * * *5 )*)*)*5 + + +5 TTT 
T 	T
 T T( "# $ /  / D
  D
N #$C%0 & %0 e<6 = 6  /; !/;d !"= #= 
> > ( (& "#A $A "#9 $9 +,!" # -@ *+!" # ,@((V#  CtT480D 9  0Df U  U
  eU3Cc*N + 4 !N0 *+CdC5YY 
	Y
 Y 6 ,Y %&Cc3S#sCH I '4 ()Cc3/" 0 *"J * *  
 
     , "# $2 "# $@ "#( $(V %& '(   > K  Krc   