ó
    Eñi‡â  ã                  óR   • S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKJr  S SKJ	r	J
rJrJrJ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Jr  S SKJr  S SKJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%  S S	K&J'r'J(r(J)r)J*r*J+r+J,r,  S S
K-J.r.  S SK/J0r0  \(       a  S SK1J2r2J3r3  S SK&J4r4  S SK5J6r6  \\)\Rn                  4   r8\" S5      r9\" S5      r:\" S5      r;\R,                  Rx                  r=/ SQr>0 r?/ r@\R‚                  R„                  R†                  rCSYS jrDSZS jrE\D" / \CRŒ                  RŽ                  P\CRŒ                  R�                  P\CR’                  RŽ                  P\CR’                  R�                  P\CR”                  RŽ                  P\CR”                  R�                  P\CR–                  RŽ                  P\CR–                  R˜                  P\CR–                  R�                  P\CR–                  Rš                  P\CRœ                  RŽ                  P\CRœ                  R˜                  P\CRœ                  R�                  P\CRœ                  Rš                  P\CRž                  RŽ                  P\CRž                  R˜                  P\CRž                  Rn                  P\CRž                  R                   P\CRž                  R¢                  P\CRž                  R¤                  P\CRž                  R�                  P\CRž                  Rš                  P\CRž                  R¦                  P\CRž                  R¨                  P\CRž                  Rª                  P\CRž                  R¬                  P\CR®                  RŽ                  P\CR®                  R�                  P\CR°                  RŽ                  P\CR°                  R�                  P\CR²                  RŽ                  P\CR²                  R�                  P\CR´                  RŽ                  P\CR´                  R�                  P\CR¶                  RŽ                  P\CR¶                  R�                  P\CR¸                  RŽ                  P\CR¸                  R�                  P76 r]\D" \CR¼                  RŽ                  \CR¾                  RŽ                  \CR¾                  R�                  \CRÀ                  RŽ                  \CRÂ                  RÄ                  \CRÂ                  RÆ                  \CRÈ                  RŽ                  \CRÊ                  RŽ                  \CRÊ                  R�                  \CRÌ                  RŽ                  \CRÌ                  R�                  5      rg\CRÐ                  4riS[S jrj\RÖ                  S\S j5       rl    S]S jrmS^S jrnS_S jro\m" \?Rà                  5                S`S j5       rq\m" \l5      \m" / \]Q5                SaS j5       5       rr\m" \CRÈ                  RŽ                  5                SbS j5       rs\m" \R„                  Rè                  Rê                  RŽ                  5       Sc         SdS jj5       ru\m" \R„                  Rè                  Rì                  RŽ                  5              SeS j5       rv\m" \R„                  Rè                  Rî                  RŽ                  5       Sc         SfS jj5       rw\m" \CRÂ                  RÆ                  5      \m" \CRÂ                  RÄ                  5                SaS  j5       5       rxS^S! jry\m" \y5                SaS" j5       rz\m" \CRö                  RŽ                  5                SaS# j5       r{\m" \CRø                  RŽ                  5                SaS$ j5       r|\m" S% 5                SgS& j5       r}   ShS'S(.                 SiS) jjjr~\m" \CRþ                  RŽ                  5         Sh             SjS* jj5       r€\m" \CGR                  GR                  5                  SkS+ j5       rƒ\m" \CGR                  RŽ                  5         Sh               SlS, jj5       r„\m" \CGR
                  RŽ                  5         Sm             SnS- jj5       r… So         SpS. jjr†      SqS/ jr‡ Sr       SsS0 jjrˆ\m" \CGR                  RŽ                  5                StS1 j5       r‰\m" \CGR                  RŽ                  5      \m" \CGR                  RŽ                  5                SuS2 j5       5       rŒ\m" \CGR                  RŽ                  5      SS3.           SvS4 jj5       rŽ\m" \CGR                  Rn                  5       Sc         SwS5 jj5       r�\m" \R„                  R†                  GR"                  RŽ                  5      \m" \R„                  R†                  GR$                  RŽ                  5              SxS6 j5       5       r“\m" \R„                  R†                  GR(                  RŽ                  5              SyS7 j5       r”\m" \R„                  R†                  GR*                  RŽ                  5      SzS8 j5       r•\m" \R„                  R†                  GR,                  RŽ                  5       Sc           S{S9 jj5       r–S|S: jr—\m" \R„                  R†                  GR0                  Rn                  5          S}               S~S; jj5       r™\m" \R„                  R†                  GR4                  RŽ                  5                SS< j5       rš\m" \R„                  R†                  GR6                  RŽ                  5         S€SSS=.                 S�S> jjj5       rœ\m" S? 5                SgS@ j5       r�        S‚SA jrž          SƒSB jrŸ\D" SCSDSE5      r S^SF jr¡S\SG jr¢\m" SH 5                S„SI j5       r£\m" \CGRH                  Rn                  5                SaSJ j5       r¥\m" \CGRL                  RŽ                  5                S…SK j5       r§\m" \CGRP                  RŽ                  5      \m" \CGRR                  RŽ                  5      \m" \CGRT                  RŽ                  5      \m" \CGRV                  RŽ                  5      \m" \CGRX                  RŽ                  5                SaSL j5       5       5       5       5       r­\m" \CGRR                  R�                  5      \m" \CGRV                  R�                  5                SaSM j5       5       r®\m" \CGR^                  RŽ                  5      \m" \CGR`                  RŽ                  5                SaSN j5       5       r±\m" \CR¾                  RŽ                  5      \m" \CR¾                  R�                  5      \m" \CGRd                  RŽ                  5      \m" \CGRf                  RŽ                  5                SgSO j5       5       5       5       r´\m" \g V s/ s Hv  n U \CRÈ                  RŽ                  \CRÂ                  RÄ                  \CRÂ                  RÆ                  \CR¾                  RŽ                  \CR¾                  R�                  4;  d  Mt  U PMx     sn 5      SgSP j5       rµ\m" \CGRl                  RŽ                  \CGRn                  RŽ                  /5                S†SQ j5       r¸\m" \R„                  R†                  GRr                  RŽ                  5        S‡           SˆSR jj5       r¹\m" \R„                  R†                  GRt                  RŽ                  5                  S‰SS j5       rº0 r»    SŠST jr¼      S‹SU jr½\GR|                  4     SŒSV jjr¿ So       S�SW jjrÀ\RÖ                  SŽSX j5       rÁgs  sn f )�é    )ÚannotationsN)Úreduce)ÚAnyÚcastÚTYPE_CHECKINGÚTypeVarÚUnion)Ú	ParamSpec)Úno_python_dispatcher)Ú
OpOverload)Úcanonicalize_dimÚelementwise_dtypesÚELEMENTWISE_TYPE_PROMOTION_KINDÚis_boolean_dtypeÚis_contiguousÚ(is_contiguous_for_memory_format_or_falseÚis_contiguous_or_falseÚis_float_dtypeÚis_integer_dtypeÚmake_contiguous_strides_forÚ	ShapeType)ÚDataDependentOutputExceptionÚDynamicOutputShapeExceptionÚ
FakeTensorÚin_kernel_invocation_managerÚrun_fallback_kernelÚUnsupportedOperatorException)Ú_normalize_function_or_error©Úcount_label)ÚCallableÚSequence)ÚFakeTensorMode)ÚIntLikeTypeÚ_PÚ_RÚ_T)Úop_implementations_checksÚget_fast_op_implsÚstride_incorrect_opÚhas_metac                 ó.   • [         R                  U S5      $ )NT)ÚdictÚfromkeys)Úitemss    ÚY/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/_subclasses/fake_impls.pyÚordered_setr1   I   s   € Ü�=‰=˜ Ó%Ð%ó    c                ó    • U R                   S:g  $ )NÚhpu)Útype©Údevices    r0   Úis_noncontiguous_supportedr8   O   s   € Ø�;‰;˜%ÑÐr2   c                óÂ   • [         R                  R                  R                  5       nU R	                  U5      =(       d     [        S U R                  5        5       5      $ )Nc              3  ó8   #   • U  H  n[        U5      v •  M     g 7f©N)Úcontains_tensor_types)Ú.0Úes     r0   Ú	<genexpr>Ú(contains_tensor_types.<locals>.<genexpr>‘   s   é € ð 1Ú*@ QÔ˜a× Ð Ò*@ùs   ‚)ÚtorchÚ_CÚ
TensorTypeÚgetÚisSubtypeOfÚanyÚcontainedTypes)Útype_Útensor_types     r0   r<   r<   �   sO   € Ü—(‘(×%Ñ%×)Ñ)Ó+€KØ×Ñ˜[Ó)÷ ¬Sñ 1Ø*/×*>Ñ*>Ô*@ó1ó .ð r2   c                óv  • [        U [        5      (       d  [        S[        U 5       35      eU R                  n[        S UR                   5       5      (       a  g[        UR                  5      S:H  =(       aA    UR                  S   R                  [        R                  R                  R                  5       L $ )Nz func must be an OpOverload, got c              3  óL   #   • U  H  n[        UR                  5      v •  M     g 7fr;   )r<   r5   )r=   Úargs     r0   r?   Ú)_is_tensor_constructor.<locals>.<genexpr>›   s   é € Ð
GÒ6F¨sÔ  §¡×*Ð*Ò6Fùs   ‚"$Fé   r   )Ú
isinstancer   ÚAssertionErrorr5   Ú_schemarF   Ú	argumentsÚlenÚreturnsrA   rB   rC   rD   )ÚfuncÚschemas     r0   Ú_is_tensor_constructorrW   –   s�   € ä�dœJ×'Ñ'ÜÐ?ÄÀTÃ
¸|ÐLÓMÐMØ�\‰\€FÜ
Ñ
G°f×6FÒ6FÓ
G×GÑGØô 	ˆF�N‰NÓ˜qÑ ×X V§^¡^°AÑ%6×%;Ñ%;¼u¿x¹x×?RÑ?R×?VÑ?VÓ?XÐ%Xðr2   c                ó   ^ • SU 4S jjnU$ )Nc                ób  >• [        T[        5      (       a#  T[        ;   a  [        ST 35      eU [        T'   U $ [        T[        [
        45      (       a  T H  n[        U5      " U 5        M     U $ [        T5      (       d  [        S[        T5       35      e[        R                  TU 45        U $ )Nzduplicate registration: z%run_impl_check must be callable, got )rO   r   Úop_implementations_dictrP   ÚlistÚtupleÚregister_op_implÚcallabler5   r(   Úappend)Úop_implÚopÚrun_impl_checks     €r0   Úimpl_decoratorÚ(register_op_impl.<locals>.impl_decorator©   s´   ø€ Ü�n¤j×1Ñ1ØÔ!8Ó8Ü$Ð'?ÀÐ?OÐ%PÓQÐQØ6=Ô# NÑ3ð ˆô ˜¬¬u¨×6Ñ6Û$�Ü  Ô$ WÖ-ñ %ð ˆô ˜N×+Ñ+Ü$Ø;¼DÀÓ<PÐ;QÐRóð ô &×,Ñ,¨n¸gÐ-FÔGàˆr2   ©r`   úCallable[_P, _R]Úreturnrf   © )rb   rc   s   ` r0   r]   r]   £   s   ø€ ÷ð" Ðr2   c                ó   • U [         ;   $ r;   ©rZ   ©ra   s    r0   Ú_is_op_registered_to_fake_rulerl   ½   s   € ØÔ(Ñ(Ð(r2   c                ó†   • [         R                  U S 5        [         H!  u  pXL d  M  [        R                  X45          g    g r;   )rZ   Úpopr(   Úremove)ra   ÚcheckÚimpls      r0   Ú_deregister_op_implrr   Á   s6   € Ü×Ñ  DÔ)ß0‰ˆØŒ;Ü%×,Ñ,¨e¨]Ô;Ùò 1r2   c                ó(   • [         U   " X/UQ70 UD6$ r;   rj   ©Ú	fake_moderU   ÚargsÚkwargss       r0   Ú#dispatch_to_op_implementations_dictrx   É   s   € ô # 4Ò(¨ÐJ¸4ÒJÀ6ÑJÐJr2   c                óÎ  • U[         ;   a  [        SU 35      e[        XUSS9u  pESU;   a  [        U5      eU[        ;   a"  US   R
                  nUR                  S5      4nO[        R
                  " S5      nSnUR                  SS 5      nUb  UOUn[        R
                  " S	5      US'   [        U 5         U" U0 UD6nS S S 5        [        U WU5      $ ! , (       d  f       N= f)
Nz8func must not be in _non_kwarg_device_constructors, got T©rv   rw   Únormalize_to_only_use_kwargsÚnamesÚinputÚcpurh   r7   Úmeta)
Ú_non_kwarg_device_constructorsrP   r   r   Ú_like_tensor_constructorsr7   rn   rA   r   r   )	ru   rU   rv   rw   Ú_Ú
new_kwargsÚdefault_deviceÚ
out_deviceÚrs	            r0   Úconstructorsr‡   Ð   sò   € ð
 Ô-Ó-ÜØFÀtÀfÐMó
ð 	
ô 1Ø ÀTñ�M€Að �&Óä*¨4Ó0Ð0àÔ(Ó(Ø# GÑ,×3Ñ3ˆà—‘˜wÓ'Ð)‰ô Ÿš eÓ,ˆØˆØ—‘ ¨$Ó/€JØ)Ñ5‘¸>€JÜ Ÿ<š<¨Ó/€JˆxÑô 
& iÕ	0Ù�$Ð%˜*Ñ%ˆ÷ 
1ä�i  JÓ/Ð/÷ 
1Õ	0ús   Â8	CÃ
C$c                óž   • [        XUSS9u  pEUR                  S5      n[        U 5         U" U5      nS S S 5        U$ ! , (       d  f       W$ = f)NT©r{   r}   )r   rn   r   )ru   rU   rv   rw   r‚   rƒ   Úinpr†   s           r0   Únon_kwarg_is_pinnedr‹   ò   sR   € ô 1Ø�F¸ñ�M€Að �.‰.˜Ó
!€Cô 
& iÕ	0Ù�‹Iˆ÷ 
1à€H÷ 
1Ô	0à€Hús	   ª	=½
Ac                óÆ   • [        U 5         U" X#5      nS S S 5        [        R                  " WSS9n[        X[        R                  " S5      5      $ ! , (       d  f       NC= f)Nr   r6   r~   )r   rA   Ú
empty_liker   r7   )ru   rU   Únamerv   Úreal_handleÚmeta_handles         r0   Ú_record_function_enterr‘     sN   € ô
 
& iÕ	0Ù˜4Ó&ˆ÷ 
1ô ×"Ò" ;°vÑ>€Kä�i¬e¯lªl¸5Ó.AÓBÐB÷ 
1Õ	0ús   Œ	AÁ
A c                ó   • g r;   rh   )ru   rU   Úhandles      r0   Ú_record_function_exitr”     s   € ð 	r2   c                ó^   • [        U 5         U" X#5      sS S S 5        $ ! , (       d  f       g = fr;   ©r   )ru   rU   rŽ   rv   s       r0   Ú_record_function_enter_newr—     s    € ô 
& iÕ	0Ù�DÓ÷ 
1×	0×	0úó   Œž
,c                ó@  • [        XUSS9u  pEUS   nU(       a  UOUS   R                  n[        R                  " S5      US'   UR                  S5      n[	        U 5         U" U40 UD6n	S S S 5        U R
                  R                  U W	U5      $ ! , (       d  f       N+= f)NTr‰   r7   r}   r   )r   r7   rA   rn   r   Úfake_tensor_converterÚfrom_meta_and_device)
ru   rU   rv   rw   r‚   rƒ   Úinput_devicer…   rŠ   r†   s
             r0   Únon_kwarg_tor�   #  sŸ   € ô
 1Ø�F¸ñ�M€Að ˜hÑ'€LÞ!-‘°:¸gÑ3F×3MÑ3M€JÜ Ÿ<š<¨Ó/€JˆxÑØ
�.‰.˜Ó
!€CÜ	% iÕ	0Ù�Ñ#˜
Ñ#ˆ÷ 
1ð ×*Ñ*×?Ñ?Ø�1�jóð ÷ 
1Õ	0ús   Á 
BÂ
Bc                ó   • g)NFrh   rk   s    r0   r*   r*   7  s   € Ør2   c           	     ó"  ^• SS jmU R                   (       an  [        U4S j[        R                  " X#R	                  5       5       5       5      nU(       d0  [
        R                  X#45      u  pV[        U UUU[        S5      5      $ [        U5      e)Nc                óÄ   • [        U [        5      (       a  U R                  $ [        U [        R                  [        R
                  [        R                  45      (       a  gg)NTF)rO   r   Ú_has_symbolic_sizes_stridesrA   ÚSymIntÚSymFloatÚSymBool©Úxs    r0   Úis_symbolicÚ3workaround_stride_incorrect_op.<locals>.is_symbolicB  sA   € Ü�aœ×$Ñ$Ø×0Ñ0Ð0Ü�aœ%Ÿ,™,¬¯©¼¿¹ÐF×GÑGØØr2   c              3  ó4   >#   • U  H  nT" U5      v •  M     g 7fr;   rh   )r=   r¦   r§   s     €r0   r?   Ú1workaround_stride_incorrect_op.<locals>.<genexpr>K  s   øé € ð 
Ú$J˜q‰K˜�NˆNÒ$Jùs   ƒz2Cannot run fallback kernel for stride_incorrect_op)r¦   Úobjectrg   Úbool)
Úallow_fallback_kernelsrF   Ú	itertoolsÚchainÚvaluesÚpytreeÚtree_flattenr   ÚRuntimeErrorr   )ru   rU   rv   rw   Úrequire_dynamicÚ	flat_argsÚ	args_specr§   s          @r0   Úworkaround_stride_incorrect_opr·   <  s„   ø€ ôð ×'×'Üô 
Ü$-§O¢O°D¿-¹-»/Ô$Jó
ó 
ˆö Ü#)×#6Ñ#6¸°~Ó#FÑ ˆIÜ&ØØØØô ÐQÓRóð ô ' tÓ
,Ð,r2   c                ó^   • [        U 5         U" U0 UD6sS S S 5        $ ! , (       d  f       g = fr;   r–   rt   s       r0   Ú
resize_as_r¹   _  s%   € ô 
& iÕ	0Ù�TÐ$˜VÑ$÷ 
1×	0×	0úr˜   c                ó    • [        X/UQ70 UD6$ r;   )r‡   rt   s       r0   Ú(_sparse_coo_tensor_with_dims_and_tensorsr»   g  s   € ô ˜	Ð9¨$Ò9°&Ñ9Ð9r2   c                óþ   • [         R                  R                  U R                  ;   =(       aP    U [        R
                  R                  [        R                  R                  [        R                  R                  4;  $ r;   )
rA   ÚTagÚdynamic_output_shapeÚtagsÚatenÚindexÚTensorÚnonzeroÚdefaultÚrepeat_interleave©rU   s    r0   Ú<lambda>rÇ   p  sV   € ”—‘×/Ñ/°4·9±9Ñ<÷ TØÜ�J‰J×ÑœtŸ|™|×3Ñ3´T×5KÑ5K×5RÑ5RÐSñ	TðTr2   c                ó   • [        U5      er;   )r   rt   s       r0   Ú	dyn_shaperÉ   o  s   € ô & dÓ
+Ð+r2   F©Úunique_consecutivec               óÂ  • U R                   b  U R                   R                  (       d  [        U5      eU(       a  UR                  OUR                  nUc  UcÀ  SSKJn	Jn
  U
" UR                  5       5      (       d  UR                  5       S:X  a  SnOoU R                   R                  5       n[        R                  S-
  nUc  UR                  5       OUR                  U5      nU
" U5      (       d  [        U5      nU	" X‹S9  Uc  U(       a  X‚l        OX‚l        Uc  UR                  U45      /nO4UR                  " / UR                  S U QUPUR                  US-   S  Q76 /nUS L=(       a#    UR                   ["        R$                  " S5      :H  nU(       d  U(       a/  UR                  Uc  UR                  OUR                  U   45      nOUR                  S5      nUR'                  U5        U(       d  U(       a5  UR                  Uc  US   R                  OUS   R                  U   45      nOUR                  S5      nUR'                  U5        [)        U5      $ )Nr   ©Ú_constrain_range_for_sizeÚhas_free_symbolsrN   ©Úmaxr~   )Ú	shape_envÚallow_dynamic_output_shape_opsr   Úunique_consecutive_memoÚunique_memoÚ%torch.fx.experimental.symbolic_shapesrÎ   rÏ   ÚnumelÚcreate_unbacked_symintÚsysÚmaxsizeÚsizeÚintÚ	new_emptyÚshapeÚfake_devicerA   r7   r_   r\   )ru   rU   rL   ÚdimÚsortedÚreturn_inverseÚreturn_countsrË   ÚnnzrÎ   rÏ   Úmaxvalr×   ÚretÚreturn_if_dim_and_cpuÚinverseÚcountss                    r0   Ú_uniquerê   z  së  € ð 	×ÑÑ#Ø×"Ñ"×A×Aô *¨$Ó/Ð/æ);ˆ#×
%Ò
%ÀÇÁ€Cð �˜#™+÷	
ñ
   §	¡	£×,Ñ,°·±³ÀÓ1Að ‰Cà×%Ñ%×<Ñ<Ó>ˆCä—[‘[ 1‘_ˆFà#&¡;�C—I‘I”K°C·H±H¸S³MˆEÙ# E×*Ñ*Ü˜U›�á% cÒ6à‰;Þ!Ø.1Õ+à"%”à
�{à�}‰}˜c˜VÓ$Ð%‰ð �}Š}ÐJ˜cŸi™i¨¨˜oÐJ¨sÐJ°S·Y±Y¸sÀQ¹w¸yÐ5IÒJÐKˆà t˜O×V°·±Ä5Ç<Â<ÐPUÓCVÑ0VÐÞÖ.Ø—-‘-¨S©[ §	¢	¸s¿y¹yÈ¹~Ð>OÓP‰à—-‘- Ó"ˆØ‡J�JˆwÔæÖ-Ø—‘¨s©{˜s 1™vŸ|š|ÀÀQÁÇÁÈcÑARÐ@TÓU‰à—‘˜qÓ!ˆØ‡J�JˆvÔä�‹:Ðr2   c           	     ó    • [        XUS X4U5      $ r;   ©rê   )ru   rU   rL   rá   râ   rã   s         r0   Úunique2rí   È  s   € ô �9 C¨¨vÀ}ÓUÐUr2   c                óä  • SSK Jn  UR                  (       a  [        $ UR	                  5       n[
        R                  " US:g  S 5        US:¼  a  UOX6-   nUR                  U5      n[        UR                  5       5      n[        UR                  5       5      n	S n
U" US:¬  5      (       a  UR                  5       XIU   -  -   n
O*U" US:  5      (       a  UR                  5       XG-   X“   -  -   n
U
c^  U R                  b,  U R                  R                  (       d  U R                  (       d  [        U5      eU R                  R                  5       n
Xƒ	 X“	 U
c  [        S5      eUR!                  X‰U
5      $ )Nr   ©Úguard_or_falsec                 ó   • g)Nz-select() cannot be applied to a 0-dim tensor.rh   rh   r2   r0   rÇ   Úmeta_select.<locals>.<lambda>ä  s   € Ð?r2   z#new_storage_offset must not be None)rÖ   rð   Ú	is_sparseÚNotImplementedrà   rA   Ú_check_indexrÛ   r[   ÚstrideÚstorage_offsetrÒ   Úallow_scalar_outputsr   rØ   rP   Ú
as_strided)ru   rU   Úselfrà   rÁ   rð   ÚndimrÛ   Únew_sizeÚ
new_strideÚnew_storage_offsets              r0   Úmeta_selectrÿ   Ô  sL  € õ Eà‡~‡~ÜÐà�8‰8‹:€DÜ	×ÒØ�‰	Ù?ôð
 ˜“‰#˜s™z€CØ�9‰9�S‹>€Dä�D—I‘I“KÓ €HÜ�d—k‘k“mÓ$€JàÐÙ�e˜q‘j×!Ñ!Ø!×0Ñ0Ó2°UÈ¹_Ñ5LÑLÑÙ	˜ ™	×	"Ñ	"Ø!×0Ñ0Ó2°e±lÀjÁoÑ5UÑUÐàÑ!Ø×ÑÑ&Ø×#Ñ#×8×8Ø×2×2ä.¨tÓ4Ð4ð '×0Ñ0×GÑGÓIÐàˆØˆØÑ!ÜÐBÓCÐCà�?‰?˜8Ð1CÓDÐDr2   c           
     ób   • [        U UUUS:¼  a  UOU[        UR                  S5      -  UUU5      $ )Nr   rN   )rê   rÑ   rû   )ru   rU   rL   rà   rá   râ   rã   s          r0   Ú
unique_dimr    s>   € ô ØØØà�a‹x‰˜S¤3 s§x¡x°Ó#3Ñ3ØØØó	ð 	r2   c                ó"   • [        U UUUSUUSS9$ )NFTrÊ   rì   )ru   rU   rL   râ   rã   rà   s         r0   rË   rË     s)   € ô ØØØØØØØØñ	ð 	r2   c                óò  ^^^• SSK JmJmJn  SUU4S jjnSUU4S jjn[	        U 5      S:X  a  S/[	        U5      -  $ [        [        R                  U S5      nU" US:H  5      nU(       a  U" U" X5      5      (       a  [        U5      $ S/[	        U5      -  n	U(       aU  [        [	        U5      S-
  SS5       H6  n
U
[	        U5      S-
  :X  a  SXš'   M  [        X*S-      S5      XšS-      -  Xš'   M8     U	$ [	        U5      S-
  n
US   nSnSn[        [	        U 5      S-
  SS5       HÈ  nXÀU   -  nUS:X  d0  U" XS-
     S:g  5      (       d  M'  U" XS-
     XË-  :g  5      (       d  M@  U
S:¼  a^  U" XÜ:  5      (       d  U" X*   S:H  5      (       a=  XÛ-  Xš'   XÒU
   -  nU
S-  n
U
S:¼  a%  U" XÜ:  5      (       a  M)  U" X*   S:H  5      (       a  M=  U" XÜ:g  5      (       a    g US:”  d  M½  XS-
     nSnSnMÊ     U
S:w  a  g U	$ )Nr   )rð   Úguard_or_trueÚsym_eqc                ó&   >• T(       a  T" U 5      $ U $ r;   rh   )r¦   rð   Úsize_obliviouss    €€r0   Úmaybe_guard_or_falseÚ-_compute_stride.<locals>.maybe_guard_or_false>  s   ø€ ÞÙ! !Ó$Ð$àˆr2   c                ó&   >• T(       a  T" U 5      $ U $ r;   rh   )r¦   r  r  s    €€r0   Úmaybe_guard_or_trueÚ,_compute_stride.<locals>.maybe_guard_or_trueD  s   ø€ ÞÙ  Ó#Ð#àˆr2   rN   éÿÿÿÿ)r¦   r   rg   r   )rÖ   rð   r  r  rS   r   ÚoperatorÚmulr[   ÚrangerÑ   )Ú	old_shapeÚ
old_strideÚ	new_shaper  r  r  r  r×   Ú
zero_numelrý   Úview_dÚchunk_base_strideÚtensor_numelÚ
view_numelÚtensor_drð   r  s      `           @@r0   Ú_compute_strider  2  s5  ú€ ÷ñ ÷ð ÷ð ô ˆ9ƒ~˜ÓØˆs”S˜“^Ñ#Ð#ä”8—<‘< ¨AÓ.€EÙ% e¨q¡jÓ1€JÞÑ*©6°)Ó+G×HÑHÜ�JÓÐà%& C¬#¨i«.Ñ$8€JæÜœC 	›N¨QÑ.°°BÖ7ˆFØœ˜Y›¨!Ñ+Ó+Ø%&�
Ó"ô ˜	¨1¡*Ñ-¨qÓ1°JÈ¹zÑ4JÑJð Ó"ñ	 8ð Ðä�‹^˜aÑ€Fà%/°¡^ÐØ !€LØ€Jäœ#˜i›.¨1Ñ,¨b°"Ö5ˆØ (Ñ+Ñ+ˆà�q‹=Ù 	°Q©,Ñ 7¸1Ñ <×=Ó=Ù#Ø a™<Ñ(¨LÑ,LÑL÷ó ð ˜A“+Ù# JÑ$=×>Ñ>Ù'¨	Ñ(9¸QÑ(>×?Ñ?à%/Ñ%C�
Ñ"Ø¨Ñ/Ñ/�
Ø˜!‘�ð ˜A“+Ù# JÑ$=×>Ó>Ù'¨	Ñ(9¸QÑ(>×?Ó?ñ # :Ñ#=×>Ñ>Ùà˜!�|Ø$.¸!©|Ñ$<Ð!Ø �Ø’
ñ/ 6ð0 �ƒ|ØØÐr2   c                ó  ^• SSK Jm  [        R                  " USS9n[	        U4S jU R                  5        5       5      =(       d?    [	        U4S jU R                  5        5       5      =(       d    [	        U4S jU 5       5      $ )Nr   ©Úhas_hintF©Úvalidatec              3  ó>   >#   • U  H  nT" U5      (       + v •  M     g 7fr;   rh   ©r=   Úsr  s     €r0   r?   Ú+_view_has_unbacked_input.<locals>.<genexpr>‰  s   øé € Ð.¢X ‘˜“�O‰O¢Xùó   ƒc              3  ó>   >#   • U  H  nT" U5      (       + v •  M     g 7fr;   rh   r!  s     €r0   r?   r#  Š  s   øé € Ð3ª
 1‘8˜A“;�‰ª
ùr$  c              3  ó>   >#   • U  H  nT" U5      (       + v •  M     g 7fr;   rh   r!  s     €r0   r?   r#  ‹  s   øé € Ð.ª 1‘8˜A“;�‰ªùr$  )rÖ   r  ÚutilsÚextract_shape_from_varargsrF   rÛ   rö   )ÚarÞ   r  s     @r0   Ú_view_has_unbacked_inputr*  �  sa   ø€ õ ?ä×,Ò,¨U¸UÑC€Eô 	Ô. Q§V¡V¤XÓ.Ó.÷ 	/ÜÔ3¨¯©¬
Ó3Ó3÷	/äÔ.©Ó.Ó.ðr2   c                ób  ^ ^• SSK Jn  SSKJnJn  [
        R                  " TSS9m[
        R                  " TT R                  5       5      mT R                  S:X  aS  T nT H<  n[        R                  " US:H  5        [        R                  R                  US5      nM>     UT L a  U" T 5      $ U$ [        T5      S:X  a]  T nT R                   H<  n[        R                  " US:H  5        [        R                  R!                  US5      nM>     UT L a  U" T 5      $ U$ [#        [$        R&                  TS5      n[        R                  " T R                  5       U:H  U U4S j5        [        T5      [        T R                  5      :X  a&  U" U" TT R                  5      5      (       a  U" T 5      $ U(       a  [)        T 5      (       a.  O[+        T 5      (       a  [-        T5      n	T R/                  TU	5      $ [1        T R3                  5       T R5                  5       TUS	9n
U
b  T R/                  TU
5      $ U(       aO  [        R6                  R8                  R:                  R<                  (       d  [?        T T5      (       a  [A        T TSS
9$ ST R                   ST R5                  5        ST S3n[C        U5      e)Nr   )Úview_of©rð   r  Fr  rN   r  c                 ó*   >• ST R                    ST S3$ )Nz&Could not reshape a tensor with shape ú as a tensor with shape Ú!)rÞ   )r)  rÞ   s   €€r0   rÇ   Ú%_view_unbacked_meta.<locals>.<lambda>¸  s   ø€ Ð8¸¿¹¸	ÐAYÐZ_ÐY`Ð`aÑbr2   )r  )Úsize_oblivious_enabledz Cannot view a tensor with shape z and strides r/  r0  )"Útorch._primsr,  rÖ   rð   r  r'  r(  Ú
infer_sizer×   rû   rA   Ú_checkÚ_refsÚ	unsqueezerS   rÞ   Úsqueezer   r  r  r   r   r   rù   r  rÛ   rö   ÚfxÚexperimentalÚ_configÚbacked_size_obliviousr*  Ú_view_unbacked_metaÚ
ValueError)r)  rÞ   r2  r,  rð   r  Ú_aÚlengthÚshape_numelÚstridesÚnew_stridesÚmsgs   ``          r0   r=  r=  �  s-  ù€ õ
 %ßLô ×,Ò,¨U¸UÑC€Eô ×Ò˜U A§G¡G£IÓ.€Eð 	‡v�v�ƒ{ØˆÛˆFÜ�LŠL˜ 1™Ô%Ü—‘×&Ñ& r¨2Ó.ŠBñ ð �Š7Ù˜1“:ÐàˆIô ˆ5ƒz�QƒØˆØ—g”gˆFÜ�LŠL˜ 1™Ô%Ü—‘×$Ñ$ R¨Ó,ŠBñ ð �Š7Ù˜1“:ÐàˆIäœŸ™ u¨aÓ0€Kä	‡L‚LØ	�‰‹	�[Ñ Ýbôô
 ˆ5ƒz”S˜Ÿ™“\Ó!¡n±V¸EÀ1Ç7Á7Ó5K×&LÑ&LÙ�q‹zÐæ$:Ô˜a× Ò ÄÈa×@PÑ@PÜ-¨eÓ4ˆØ�|‰|˜E 7Ó+Ð+ä!Ø	�‰‹�!—(‘(“*˜eÐ4Jñ€Kð ÑØ�|‰|˜E ;Ó/Ð/ö Ü�‰×Ñ×%Ñ%×;×;Ü# A u×-Ñ-ä" 1 eÀEÑJÐJà,¨Q¯W©W¨I°]À1Ç8Á8Ã:À,ÐNfÐglÐfmÐmnÐ
o€CÜ
�S‹/Ðr2   c                óœ  • UR                   (       d  UR                  (       a  [        $ [        R                  " / UQUR                  5       P76 n[        U5      (       a8  [        XU/UQ76 n[        [        UR                  [        R                  S95      $ [        U U[        [        UR                  [        R                  S95      /UQ76 $ ©N©Úmemory_format)ró   Ú	is_mkldnnrô   r'  r4  r×   r   Ú
_view_metaÚtyping_castr   ÚclonerA   Úcontiguous_format)ru   rU   r)  rÞ   Úviews        r0   Ú_reshape_copyrO  Ø  s°   € ð 	‡{‡{�a—k—kÜÐô ×ÒÐ/˜eÐ/ Q§W¡W£YÒ/€EÜ˜a× Ñ Ü˜)¨1Ð5¨uÒ5ˆÜÜ˜Ÿ
™
´×1HÑ1H˜
ÐIó
ð 	
ô ØØÜœ
 A§G¡G¼%×:QÑ:Q GÐ$RÓSð
ð ò	
ð 	
r2   c                ó  • [         R                  R                  R                  R                  (       d  [        X#5      (       a  [        [        [        X#5      5      $ [        [        [         R                  R                  " U/UQ7SS065      $ )NÚ
allow_copyF)rA   r9  r:  r;  r<  r*  rK  r   r=  r6  Ú_reshape_view_helper)ru   rU   r)  rÞ   s       r0   rJ  rJ  ï  sm   € ô ‡x�x×Ñ×$Ñ$×:×:Ô>VØ	÷?ñ ?ô œ:Ô':¸1Ó'DÓEÐEäÜœŸ™×8Ò8¸ÐU¸UÒUÈuÑUó
ð 	
r2   )Úoutc               óT   • [        XU/UQ76 nUb  U$ [        R                  S U5      $ )Nc                ó<   • U R                  [        R                  S9$ rF  )rL  rA   rM  r¥   s    r0   rÇ   Ú!_view_meta_copy.<locals>.<lambda>  s   € �!—'‘'¬×(?Ñ(?�'Ñ@r2   )rJ  r±   Útree_map)ru   rU   r)  rS  rÞ   Úresults         r0   Ú_view_meta_copyrY    s6   € ô ˜	¨Ð3¨UÒ3€Fà
�Øˆä�?‰?Ù@Øóð r2   c                óà   • Uc[  U R                   b  U R                   R                  (       d  [        U5      eU R                   R                  5       nSSKJn  U" U5        UR                  U5      $ ©Nr   ©rÎ   )rÒ   rÓ   r   rØ   rÖ   rÎ   rÝ   )ru   rU   ÚrepeatsÚoutput_sizerÎ   s        r0   Úrepeat_interleave_tensorr_    sc   € ð Ñà×ÑÑ'Ø×&Ñ&×E×Eä-¨dÓ3Ð3à×)Ñ)×@Ñ@ÓBˆõ 	Tá! +Ô.à×Ñ˜[Ó)Ð)r2   c                ó*  • UR                   =nb  U$ U R                  b,  U R                  R                  (       d  U R                  (       d  [        U5      e[	        UR
                  5      (       a  U R                  R                  5       nO‚[        UR
                  5      (       a  U R                  R                  5       nOM[        UR
                  5      (       a  U R                  R                  5       nO[        SUR
                   35      eX2l         U$ )Nz local_scalar_dense/item NYI for )Ú	item_memorÒ   rø   r   r   ÚdtypeÚcreate_unbacked_symfloatr   rØ   r   Úcreate_unbacked_symboolÚNotImplementedError)ru   rU   rL   r†   s       r0   Úlocal_scalar_denserf  ,  sÓ   € ð
 �]‰]ÐˆÑ'ØˆØ×ÑÑ"Ø×Ñ×4×4Ø×.×.ô +¨4Ó0Ð0Ü�c—i‘i× Ñ Ø×Ñ×8Ñ8Ó:‰Ü	˜#Ÿ)™)×	$Ñ	$Ø×Ñ×6Ñ6Ó8‰Ü	˜#Ÿ)™)×	$Ñ	$Ø×Ñ×7Ñ7Ó9‰ä!Ð$DÀSÇYÁYÀKÐ"PÓQÐQØ„MØ€Hr2   c                ó†   • [         R                  R                  R                  R	                  U5      R                  S5      $ )NrN   )rA   ÚopsrÀ   rÃ   rÄ   Úunbind)ru   rU   rL   s      r0   Únonzero_numpyrj  E  s.   € ô �9‰9�>‰>×!Ñ!×)Ñ)¨#Ó.×5Ñ5°aÓ8Ð8r2   c                óh  • U R                   b  U R                   R                  (       d  [        U5      eUR                  =nGc@  SSKJnJn  SSKJn  SSK	J
n  U" UR                  5       5      (       d  UR                  5       S:X  a  SnOôU R                   R                  5       n[        R                  S-
  nU" UR                  5       5      (       d  [        UR                  5       5      nOŒ[         R"                  " UR$                  5      R&                  n	U" U	R(                  U	R                   R*                  5      n
[-        U
R.                  U5      (       a  [        R                  S-
  nOU
R.                  nU" X8S9  X2l        UR1                  X2R3                  5       4SU4[4        R6                  S9$ )Nr   rÍ   ©ÚIntInfinity©Úbound_sympyrN   rÐ   )rb  )rÒ   rÓ   r   Únonzero_memorÖ   rÎ   rÏ   Útorch.utils._sympy.numbersrm  Útorch.utils._sympy.value_rangesro  r×   rØ   rÙ   rÚ   rÜ   ÚmathÚprodrÞ   ÚnodeÚexprÚvar_to_rangerO   ÚupperÚnew_empty_stridedrà   rA   Úint64)ru   rU   rL   rä   rÎ   rÏ   rm  ro  rå   Ú	prod_nodeÚ
prod_ranges              r0   rÃ   rÃ   L  sL  € ð 	×ÑÑ#Ø×"Ñ"×A×Aô *¨$Ó/Ð/à×ÑÐˆÒ(÷	
õ 	;Ý?á §	¡	£×,Ñ,°·±³ÀÓ1Að ‰Cà×%Ñ%×<Ñ<Ó>ˆCä—[‘[ 1‘_ˆFá# C§I¡I£K×0Ñ0Ü˜SŸY™Y›[Ó)‘ä ŸIšI c§i¡iÓ0×5Ñ5�	Ù(Ø—N‘N I×$7Ñ$7×$DÑ$Dó�
ô ˜j×.Ñ.°×<Ñ<Ü Ÿ[™[¨1™_‘Fà'×-Ñ-�Fá% cÒ6àÔØ× Ñ  #§w¡w£yÐ!1°A°s°8Ä5Ç;Á;Ð ÐOÐOr2   c                óî  • [        U5      S:w  a  [        S[        U5       S35      eU(       d¤  U R                  b  U R                  R                  (       d  [	        U5      eU R                  R                  5       n[        R                  S-
  nSSKJ	nJ
n  U" UR                  5       5      (       d  [        UR                  5       5      nU" USUS9  U/UR                  SS  Q7nUR                  U5      $ )NrN   z&Only one jagged dim is supported, got z offsetsr   rÍ   )ÚminrÑ   é   )rS   rP   rÒ   rÓ   r   rØ   rÙ   rÚ   rÖ   rÎ   rÏ   r×   rÜ   rÞ   rÝ   )	ru   rU   ÚpaddedÚoffsetsÚtotal_Lrå   rÎ   rÏ   Úoutput_shapes	            r0   Ú_padded_dense_to_jagged_forwardr„    sØ   € ô ˆ7ƒ|�qÓÜØ4´S¸³\°NÀ(ÐKó
ð 	
ö à×ÑÑ'Ø×&Ñ&×E×Eô .¨dÓ3Ð3à×%Ñ%×<Ñ<Ó>ˆä—‘˜q‘ˆ÷	
ñ
   §¡£×/Ñ/Ü˜Ÿ™›Ó(ˆFá! '¨q°fÒ=àÐ/˜fŸl™l¨1¨2Ð.Ñ/€LØ×Ñ˜LÓ)Ð)r2   c                óÊ   • SSK JnJn  U" U" US:¬  X:*  5      5      (       a  U$ U" U" US:  X* :¬  5      5      (       a  X-   $ U" X* :  5      (       a  gU" X:„  5      (       a  U $ g )Nr   )rð   Úsym_and)rÖ   rð   r†  )rÛ   rÁ   rð   r†  s       r0   Ú_compute_slice_indexr‡  ¨  sk   € ßMá‘g˜e q™j¨%©-Ó8×9Ñ9ØˆÙ	™ ¨¡	¨5°E©>Ó:×	;Ñ	;Ø‰|ÐÙ	˜ ™×	&Ñ	&ØÙ	˜™×	%Ñ	%ØˆØr2   c                óè  • SSK JnJn  U R                  n	UR	                  5       n
U
S:X  a  [        S5      e[        UR	                  5       U5      n[        UR                  5       5      n[        UR                  5       5      nUS::  a  [        S5      eUc  SO[        X³   U5      nU" U[        R                  :H  5      (       d  Uc  X³   O[        X³   U5      nS nUb1  Ub.  U" Xí:¬  5      (       a  Xí-
  U-   S-
  U-  nOU" XÞ:¬  5      (       a  SnUcR  U	c  [        S5      eU	R                  5       n[        R                   " US:¬  5        [        R                   " XûU   :*  5        XÃ   U-  nUb  UR#                  5       XÜU   -  -   nO7U	c  [        S5      eU	R                  5       n[        R                   " US:¬  5        XûU'   UXÃ'   UR$                  (       a  ['        S5      eUR)                  X¼U5      $ )Nr   )rð   Ústatically_known_truez,slice() cannot be applied to a 0-dim tensor.zslice step must be positiverN   z$Must have shape_env to create symintz<Slice decomposition for quantized tensors aren't implemented)rÖ   rð   r‰  rÒ   rà   r³   r   r[   rÛ   rö   r‡  rÙ   rÚ   rP   rØ   rA   r5  r÷   Úis_quantizedre  rù   )ru   rU   rú   rà   ÚstartÚendÚsteprð   r‰  rÒ   rû   ÚsizesrB  Ústart_indexÚ	end_indexrü   rý   r÷   s                     r0   Úslice_forwardr‘  ¶  sð  € ÷ð
 ×#Ñ#€IØ�8‰8‹:€DØˆqƒyÜÐIÓJÐJÜ
˜4Ÿ8™8›: sÓ
+€CÜ�—‘“Ó€EÜ�4—;‘;“=Ó!€GàˆqƒyÜÐ8Ó9Ð9ð ‘}‘!Ô*>¸u¹zÈ5Ó*Q€Kñ ! ¬¯©Ñ!3×4Ñ4¸¹ð 	Š
ä! %¡*¨cÓ2ð ð $(€HØÑ 9Ñ#8Ù˜)Ñ2×3Ñ3Ø!Ñ/°$Ñ6¸Ñ:¸tÑC‰HÙ˜KÑ4×5Ñ5ØˆHð ÑØÑÜ Ð!GÓHÐHØ×3Ñ3Ó5ˆÜ�Š�X ‘]Ô#Ü�Š�X s¡Ñ+Ô,ð ‘ Ñ$€Jð ÑØ×,Ñ,Ó.°Às¹|Ñ1KÑK‰àÑÜ Ð!GÓHÐHØ"×9Ñ9Ó;ˆÜ�Š�^ qÑ(Ô)àˆ#�JØ€G�LØ××Ü!ØJó
ð 	
ð �‰˜u¨~Ó>Ð>r2   c                ó¬  • U R                   b  U R                   R                  (       d  [        U5      eU R                   R                  5       n[        R
                  S-
  nSSKJnJn  SSK	J
n  SSKJn	  U" UR                  5       5      (       d  [        UR                  5       5      n
OŒ[        R                   " UR"                  5      R$                  nU	" UR&                  UR                   R(                  5      n[+        UR,                  U5      (       a  [        R
                  S-
  n
OUR,                  n
U
S:”  a  U
nU" XES9  UR/                  U45      $ )NrN   r   rÍ   rl  rn  r  rÐ   )rÒ   rÓ   r   rØ   rÙ   rÚ   rÖ   rÎ   rÏ   rq  rm  rr  ro  r×   rÜ   rs  rt  rÞ   ru  rv  rw  rO   rx  rÝ   )ru   rU   rú   Úmaskrä   rå   rÎ   rÏ   rm  ro  Únum_elementsr{  r|  s                r0   Úmasked_selectr•  þ  s  € ð
 	×ÑÑ#Ø×"Ñ"×A×Aô *¨$Ó/Ð/à
×
Ñ
×
4Ñ
4Ó
6€Cô �[‰[˜1‰_€F÷õ 7Ý;ñ
 ˜DŸJ™J›L×)Ñ)Ü˜4Ÿ:™:›<Ó(‰ä—I’I˜dŸj™jÓ)×.Ñ.ˆ	Ù  §¡°×1DÑ1D×1QÑ1QÓRˆ
Ü�j×&Ñ&¨×4Ñ4ÜŸ;™;¨™?‰Là%×+Ñ+ˆLØ�aÓØˆá˜cÒ.à�>‰>˜3˜&Ó!Ð!r2   )r7   Úlayoutc               óò  • Ub3  UR                  5       U:w  a  [        SU SUR                  5        35      eUb3  UR                  5       U:w  a  [        SU SUR                  5        35      eUb+  UR                  U:w  a  [        SU SUR                   35      eUb+  UR                  U:w  a  [        SU SUR                   35      eUb,  UR
                  U:w  a  [        SU SUR
                   35      eg g )Nz!Tensor sizes mismatch! Expected: z, Got: z#Tensor strides mismatch! Expected: z!Tensor dtype mismatch! Expected: z"Tensor layout mismatch! Expected: z"Tensor device mismatch! Expected: )rÛ   rP   rö   rb  r–  r7   )ru   rU   ÚtrŽ  rB  rb  r7   r–  s           r0   Úassert_tensor_metadatar™  *  s  € ð ÑØ�6‰6‹8�uÓÜ Ø3°E°7¸'À!Ç&Á&Ã(ÀÐLóð ð ÑØ�8‰8‹:˜Ó Ü Ø5°g°Y¸gÀaÇhÁhÃjÀ\ÐRóð ð ÑØ�7‰7�eÓÜ Ø3°E°7¸'À!Ç'Á'ÀÐKóð ð ÑØ�8‰8�vÓÜ Ø4°V°H¸GÀAÇHÁHÀ:ÐNóð ð ÑØ�8‰8�vÓÜ Ø4°V°H¸GÀAÇHÁHÀ:ÐNóð ð ð r2   c                óP   • [         R                  R                  U R                  ;   $ r;   )rA   r½   Údata_dependent_outputr¿   rÆ   s    r0   rÇ   rÇ   R  s   € œuŸy™y×>Ñ>À$Ç)Á)ÒKr2   c                ó   • [        U5      er;   )r   rt   s       r0   Údata_depr�  R  s   € ô ' tÓ
,Ð,r2   c                ó’   • U HA  nUc  M  UR                   [        R                  [        R                  4;   d  M8  [	        U 5      e   g r;   )rb  rA   r¬   Úuint8r   )rU   rú   ÚindicesrÁ   s       r0   Úcheck_no_bool_index_tensorsr¡  [  s7   € ó ˆØÓ §¡´·±¼U¿[¹[Ð0IÕ!IÜ-¨dÓ3Ð3ò r2   c                ó  • [        XUSS9u  pEUS   R                  n[        U 5         U" U0 UD6n[        U5      (       d  UR	                  UR
                  5      nS S S 5        WUS   L a  U$ [        XU5      $ ! , (       d  f       N$= f©NTrz   r}   )r   r7   r   r8   rÝ   rÞ   r   )ru   rU   rv   rw   r‚   rƒ   r…   rS  s           r0   Ú)run_and_return_new_tensor_of_input_devicer¤  c  sŒ   € ô 1Ø ÀTñ�M€Að ˜GÑ$×+Ñ+€JÜ	% iÕ	0Ù�DÐ#˜FÑ#ˆÜ)¨*×5Ñ5Ø—-‘- §	¡	Ó*ˆC÷ 
1ð
 ˆj˜Ñ!Ò!Øˆ
Ü�i jÓ1Ð1÷ 
1Õ	0ús   ¨4A:Á:
BrÀ   ÚprimsÚprimc                ó(   • U R                   [        ;   $ r;   )Ú	namespaceÚ_is_builtin_namespacesrk   s    r0   Ú
is_builtinrª  {  s   € Ø�<‰<Ô1Ñ1Ð1r2   c                ó^   • [         R                  R                  U R                  5       S5      $ )NÚMeta)rA   rB   Ú._dispatch_has_computed_kernel_for_dispatch_keyrŽ   rÆ   s    r0   r+   r+     s    € Ü�8‰8×BÑBÀ4Ç9Á9Ã;ÐPVÓWÐWr2   c                óˆ   • [        U 5      =(       a1    U R                  5       R                  S5      =(       a    [        U 5      $ )Nzaten::_foreach_)rª  rŽ   Ú
startswithr+   rÆ   s    r0   rÇ   rÇ   …  s4   € ”˜DÓ!÷ Ø�	‰	‹×ÑÐ0Ó1÷ä�‹ðr2   c           	     ó¾  • [         R                  " X#R                  5       5       Vs/ s HX  n[        U[        [
        45      (       d  M   [        U5      (       d  M2  [        US   [        R                  5      (       d  MV  UPMZ     nn [        U 5         U" U0 UD6nS S S 5        W(       d  U$ U(       d  [        S5      e/ n[        U5       H[  u  p‰[        R                  " X V
s/ s H  oªU   PM	     sn
5      u  p¼UR!                  U R"                  R%                  X	U5      5        M]     U$ s  snf ! , (       d  f       Nœ= f! [         a	    [        s $ f = fs  sn
f )Nr   ztensor_lists must not be empty)r®   r¯   r°   rO   r[   r\   rS   rA   rÂ   r   re  rô   rP   Ú	enumerater   Ú_find_common_devicer_   rš   r›   )ru   rU   rv   rw   rL   Útensor_listsÚout_metaÚout_fakeÚiÚmeta_tÚtlr7   r‚   s                r0   Ú foreach_run_and_map_input_devicer¹  „  s0  € ô —?’? 4¯©«Ô9óâ9ˆCÜ�cœD¤%˜=×)ó 	ô ��Hó 	ô �s˜1‘vœuŸ|™|×,÷	 	Ù9ð ð ðÜ)¨)Õ4Ù˜TÐ, VÑ,ˆH÷ 5ö
 ØˆæÜÐ=Ó>Ð>Ø€Hä˜xÖ(‰	ˆÜ×2Ò2°4È,Ó9WÊ,ÀB¸Q¼%É,Ñ9WÓX‰	ˆØ�‰Ø×+Ñ+×@Ñ@Ø 6óö	
ñ )ð €Oùò;÷ 5Õ4ûäó ÜÒðüò :XsM   §D.Á
D.Á D.Â D.Â	E Â	D3ÂE Ã&EÄ3
EÄ=E ÅE ÅEÅEc                ó²   • SSK Jn  [        XUSS9u  pVUS   R                  nU    U" U0 UD6nUR	                  U5      sS S S 5        $ ! , (       d  f       g = f)Nr   )Úmeta_index_TensorTrz   r}   )Útorch._meta_registrationsr»  r   r7   Úto)	ru   rU   rv   rw   r»  r‚   rƒ   r…   rS  s	            r0   Úindex_tensorr¾  ¯  sT   € õ <ä0Ø ÀTñ�M€Að ˜GÑ$×+Ñ+€Jâ	Ù Ð0¨Ñ0ˆØ�v‰v�jÓ!÷ 
��ús   ¥AÁ
Ac                óX   • SSK Jn  U    U" U0 UD6sS S S 5        $ ! , (       d  f       g = f)Nr   )Úmeta_embedding_bag)r¼  rÀ  )ru   rU   rv   rw   rÀ  s        r0   Úembedding_bagrÁ  Â  s!   € õ =â	Ù! 4Ð2¨6Ñ2÷ 
��ús   ‰›
)c                ó   • [        XX#5      $ r;   )r¤  rt   s       r0   Úmulti_device_op_defaultrÃ  Í  s   € ô 5°YÀdÓSÐSr2   c                ó€   • [        U 5         U" U0 UD6  S S S 5        [        XUSS9u  pEUS   $ ! , (       d  f       N = fr£  )r   r   )ru   rU   rv   rw   r‚   rƒ   s         r0   Úmulti_device_op_outrÅ  Ù  sI   € ô
 
& iÕ	0ÙˆdÐ�fÒ÷ 
1ô 1Ø ÀTñ�M€Að �gÑÐ÷ 
1Õ	0ús   Œ	/¯
=c                ó`  ^^^• [        TX#SS9u  pEUS   mUS   R                  m[        R                  " TTR                  :H  =(       d)    TR                  S:H  =(       a    TR                  5       S:H  UUU4S j5        [        U TX#5      nT[        R                  R                  L a  US   $ U$ )NTrz   r°   r}   r   rN   c                 ó0   >• ST  ST STR                    S3$ )NzMismatching z device between self (z) and values (Ú)r6   )rU   Úself_devicer°   s   €€€r0   rÇ   Ú index_put_impl.<locals>.<lambda>ô  s$   ø€ �,˜t˜fÐ$:¸;¸-À~ÐV\×VcÑVcÐUdÐdeÑfr2   )
r   rß   rA   r5  rû   r×   r¤  rÀ   Ú
index_put_rÄ   )	ru   rU   rv   rw   r‚   rƒ   rS  rÉ  r°   s	    `     @@r0   Úindex_put_implrÌ  è  s¢   ú€ ô
 1Ø�4ÀTñ�M€Að ˜Ñ!€FØ˜WÑ%×1Ñ1€KÜ	‡L‚LØ�v×)Ñ)Ñ)×W¨f¯k©k¸QÑ.>×.VÀ6Ç<Á<Ã>ÐUVÑCVÞfôô
 4°I¸tÀTÓ
R€CØŒt�‰×&Ñ&Ò&Ø˜'Ñ"Ð"àˆ
r2   c                ó   • [        U5      er;   )r   rt   s       r0   Únested_tensors_unsupportedrÎ  þ  s   € ô ' tÓ
,Ð,r2   c                ó4   • U[         ;   a  [        SU 35      eg )NzNYI: )Ú_device_not_kwarg_opsrP   rt   s       r0   ÚnyirÑ    s#   € ð  Ô$Ó$Ü˜u T F˜^Ó,Ð,ð %r2   c                ól  ^ ^• [        XUSS9u  pEUS   R                  mT    US   R                  nUS   R                  S   nSSKJn  U" U5      (       d  S n	GO4U[        R                  R                  L a!  [        R                  R                  " S0 UD6n
OA[        R                  R                  US   US   S US   US   US	   US
   US   US   US   S9
n
US:X  aÊ  US   R                  (       d¶  US   R                  (       d¢  US   R                  5       R                  S5      US'   US   R                  S5      US'   [!        US   5      S:X  aT  US   R#                  SS5        US   R#                  SS5        US	   R#                  SS5        US   R#                  SS5        [        R                  R%                  US   US   U
5      n	US:X  a¸  US   R                  (       d¤  US   R                  (       d�  US   R'                  S5      US'   US   R'                  S5      US'   [!        US   5      S:X  aP  US   R)                  S5        US   R)                  S5        US	   R)                  S5        US   R)                  S5        S S S 5              SUU 4S jjn[+        T 5         U" S0 UD6nU[        R                  R                  L a  U" UW	5      sS S S 5        $ U" US   W	5      U" US   U	5      U" US   S 5      4sS S S 5        $ ! , (       d  f       NŒ= f! , (       d  f       g = f)NTrz   r}   Úweightr   r  rö   ÚpaddingÚdilationÚ
transposedÚoutput_paddingÚgroupsÚ
bias_sizes)Úbiasrö   rÔ  rÕ  rÖ  r×  rØ  rÙ  é   r  rN   c                óø   >• U c  U $ Ube  U R                  5       S:X  aB  U[        R                  :X  a.  U R                  S5      R	                  US9R                  S5      n OU R	                  US9n [        TU T5      $ )NrÛ  r  rG  )rà   rA   Úchannels_lastr7  r½  r8  r   )r˜  Úmem_fmtr7   ru   s     €€r0   ÚconvertÚconv.<locals>.convertb  st   ø€ ð ‰9ØˆHØÑà�u‰u‹w˜!‹| ¬5×+>Ñ+>Ó >Ø—K‘K “N×%Ñ%°GÐ%Ð<×DÑDÀQÓG‘à—D‘D w�DÐ/�Ü˜) Q¨Ó/Ð/r2   rh   )r˜  ztorch.Tensor | NonerÞ  ztorch.memory_format | Nonerg   úFakeTensor | None)r   rß   rû   rÞ   rÖ   r  rÀ   ÚconvolutionrÄ   rA   rB   Ú_select_conv_backendrI  Úis_xpuÚ
contiguousr7  rS   ÚinsertÚ%_conv_determine_backend_memory_formatr8  rn   r   )ru   rU   rv   rw   r‚   rƒ   ÚkÚbatchr  rÞ  Úconv_backendrß  rS  r7   s   `            @r0   Úconvrë    sS  ù€ ô 1Ø ÀTñ�M€Að ˜Ñ ×,Ñ,€Fâ	à�xÑ ×%Ñ%ˆØ˜7Ñ#×)Ñ)¨!Ñ,ˆõ 	Cá˜�‰ð ŠGà”t×'Ñ'×/Ñ/Ò/Ü$Ÿx™x×<Ò<ÑJ¸zÑJ‘ä$Ÿx™x×<Ñ<Ø˜wÑ'Ø˜xÑ(ØØ% hÑ/Ø& yÑ1Ø'¨
Ñ3Ø)¨,Ñ7Ø#-Ð.>Ñ#?Ø% hÑ/Ø)¨,Ñ7ð  =ð  �ð  �Q“Ø" 7Ñ+×5×5Ø" 7Ñ+×2×2ð '1°Ñ&9×&DÑ&DÓ&F×&PÑ&PÐQRÓ&S�
˜7Ñ#Ø'1°(Ñ';×'EÑ'EÀaÓ'H�
˜8Ñ$Ü�z (Ñ+Ó,°Ó1Ø˜xÑ(×/Ñ/°°1Ô5Ø˜yÑ)×0Ñ0°°AÔ6Ø˜zÑ*×1Ñ1°!°QÔ7ØÐ/Ñ0×7Ñ7¸¸1Ô=Ü—h‘h×DÑDØ˜7Ñ# Z°Ñ%9¸<óˆGð
 �Q“Ø" 7Ñ+×5×5Ø" 7Ñ+×2×2à&0°Ñ&9×&AÑ&AÀ!Ó&D�
˜7Ñ#Ø'1°(Ñ';×'CÑ'CÀAÓ'F�
˜8Ñ$Ü�z (Ñ+Ó,°Ó1Ø˜xÑ(×,Ñ,¨QÔ/Ø˜yÑ)×-Ñ-¨aÔ0Ø˜zÑ*×.Ñ.¨qÔ1ØÐ/Ñ0×4Ñ4°QÔ7÷w 
ðz0Øð0Ø)Cð0à	÷0ð 0ô 
& iÕ	0ÙÑ �ZÑ ˆà”4×#Ñ#×+Ñ+Ò+Ù˜3 Ó(÷	 
1Ñ	0ñ ˜˜A™ Ó(Ù˜˜A™ Ó(Ù˜˜A™ Ó%ð÷ 
1Ñ	0÷U 
�ú÷T 
1Õ	0ús   ¡I-LÊ0.L%Ë("L%Ì
L"Ì%
L3c                ó
  • U R                   b  U R                   R                  (       d  [        U5      eU R                   R                  5       nSSKJn  U" U5        [        R                  " XT:¬  5        UR                  U5      $ r[  )	rÒ   rÓ   r   rØ   rÖ   rÎ   rA   r5  rÝ   )ru   rU   ÚinputsÚweightsÚ	minlengthrü   rÎ   s          r0   Úbincountrð  |  sk   € ð 	×ÑÑ#Ø×"Ñ"×A×Aô *¨$Ó/Ð/à×"Ñ"×9Ñ9Ó;€HåOá˜hÔ'Ü	‡L‚L�Ñ&Ô'Ø×Ñ˜HÓ%Ð%r2   c                óT  • U R                   b  U R                   R                  (       d  [        U5      eU R                   R                  5       nSSKJn  U" U5        U(       d  UR                  SS5      nUR                  SS  nUR                  U5      nUR                  U45      n	X‰4$ )Nr   r\  rN   )	rÒ   rÓ   r   rØ   rÖ   rÎ   Ú	transposerÞ   rÝ   )
ru   rU   rí  ÚlengthsÚbatch_firstÚnew_batch_sizerÎ   Úres_sizeÚpacked_dataÚ
batch_sizes
             r0   Ú_pack_padded_sequencerù  ”  sœ   € ð 	×ÑÑ#Ø×"Ñ"×A×Aô *¨$Ó/Ð/à×(Ñ(×?Ñ?ÓA€NåOá˜nÔ-æà×!Ñ! ! QÓ'ˆà�|‰|˜A˜BÐ€HØ×"Ñ" 8Ó,€KØ×!Ñ! >Ð"3Ó4€JØÐ$Ð$r2   c                ó   ^ • SU 4S jjnU$ )Nc                ó   >• U [         T'   U $ r;   )ÚFAST_OP_IMPLEMENTATIONS)r`   rU   s    €r0   rc   Ú-register_fast_op_impl.<locals>.impl_decorator¼  s   ø€ Ø(/Ô Ñ%Øˆr2   re   rh   )rU   rc   s   ` r0   Úregister_fast_op_implrþ  ¹  s   ø€ ÷ð Ðr2   c                ó¼  ^
^^• SSK Jn  [        U 5      n[        U5      n[        X45      nS/U-  n[	        US-
  SS5       HŽ  m
US-
  T
-
  nUS-
  U-
  nUS-
  U-
  n	US:¼  a  X   OSmU	S:¼  a  X   OSm[
        R                  " U" TS:H  5      =(       d    U" TS:H  5      =(       d    TT:H  U
UU4S j5        U" TS:H  5      (       a  TOTUT
'   M�     [        U5      $ )Nr   rï   rN   r  c                 ó   >• ST ST ST  S3$ )NzThe size of tensor a (z#) must match the size of tensor b (z) at non-singleton dimension rÈ  rh   )r¶  ÚsizeAÚsizeBs   €€€r0   rÇ   Úinfer_size.<locals>.<lambda>á  s%   ø€ Ð,¨U¨Gð 40Ø05¨wð 7*Ø*+¨¨Añ/r2   )rÖ   rð   rS   rÑ   r  rA   r5  r\   )r)  Úbrð   ÚdimsAÚdimsBrû   ÚexpandedSizesÚoffsetÚdimAÚdimBr¶  r  r  s             @@@r0   r4  r4  Ä  sî   ú€ õ Eä�‹F€EÜ�‹F€EÜˆuÓ€DØ() s¨T¡z€MÜ�4˜!‘8˜R Ö$ˆØ˜‘˜A‘ˆØ�q‰y˜6Ñ!ˆØ�q‰y˜6Ñ!ˆØ 1›9�’¨!ˆØ 1›9�’¨!ˆô 	�ŠÙ˜5 A™:Ó&×V©.¸À!¹Ó*D×VÈÐQVÉö/ô	
ñ %3°5¸A±:×$>Ñ$>™5ÀEˆ�aÓñ1 %ô2 �ÓÐr2   c                ó   ^ ^• SU U4S jjnU$ )Nc           
     óˆ  >^ ^^• SUUU U4S jjn[        S5        TnS nU H@  n[        U[        R                  5      (       a  UR                  OSnUc  Un[        XW5      nMB     Uc  [        S5      eSSKJnJ	n	  U Hh  n[        U[        R                  5      (       d  M$  [        UR                  5      [        U5      :X  d  MH  U" U	" UR                  U5      5      (       d  Mh    O
   U" S5      $ [        R                  " S5      n
U
nS nS	nU H�  n[        U[        R                  5      (       d  S
nM&  Xº:X  a&  UR                  R                  S:w  a  UR                  nUc&  T[        R                  :w  a  S
nMl  UR                  nMz  XÆR                  :w  d  M‹  S
nM�     U(       a  [!        UST06u  pìSnSnU H~  n[        U[        R                  5      (       d  M$  Xº:w  a;  UR#                  5       S:X  a'  UR                  U
:X  a  UU:¼  a
  U" S5      s  $ US-  nMd  UR                  U:w  d  Mv  U" S5      s  $    S
nS
n[%        U5      (       al  U Hf  n[        U[        R                  5      (       d  M$  U=(       a    ['        U[        R(                  S9nU=(       a    ['        U[        R*                  S9nMh     U(       a9  [        S5        [-        T [        R.                  " UUS[        R(                  S9US9$ U(       a9  [        S5        [-        T [        R.                  " UUS[        R*                  S9US9$ U" S5      $ )Nc                ój   >• [        SU  35        T   T" T0 TD6sS S S 5        $ ! , (       d  f       g = f)Nzslow r   )rD  rv   rw   ÚmodeÚslow_refs    €€€€r0   ÚslowÚ=make_fast_binary_impl.<locals>.fast_binary_impl.<locals>.slowî  s+   ø€ Ü˜% ˜u˜Ô&ÚÙ Ð0¨Ñ0÷ ——ús   ’$¤
2zattempt fastrh   zfinal_shape must not be Noner   r-  z#both tensors nontrivially broadcastr~   FTÚtype_promotion_kindrN   ÚerrorrG  zfast is_contiguousr   )rb  r7   rH  r6   zfast channels_lastzno contiguity match)rD  Ústrrg   r   )r    rO   rA   rÂ   rÞ   r4  rP   rÖ   rð   r  rS   r7   r5   r   ÚDEFAULTrb  r   rà   r8   r   rM  rÝ  r   Úempty)r  rv   rw   r  ÚoperandsÚfinal_shapera   rÞ   rð   r  r~   Úcommon_deviceÚcommon_dtypeÚhas_different_input_dtypesr‚   Úcurrent_cpu_scalars_on_non_cpuÚmax_cpu_scalars_on_non_cpuÚdefinitely_contiguousÚdefinitely_channels_lastr  r  s   ```                €€r0   Úfast_binary_implÚ/make_fast_binary_impl.<locals>.fast_binary_implí  s  û€ ÷	1ò 	1ô
 	�NÔ#ð ˆð )-ˆÛˆBÜ+5°b¼%¿,¹,×+GÑ+G˜rŸxšxÈRˆEØÑ"Ø#�ô
 % [Ó8ŠKñ ð ÑÜ Ð!?Ó@Ð@çPó ˆBä˜2œuŸ|™|×,Ó,Ü˜Ÿ™“M¤S¨Ó%5Õ5á"¡6¨"¯(©(°KÓ#@×AÓAáñ ñ Ð=Ó>Ð>ô �lŠl˜5Ó!ˆØ&)ˆØ+/ˆØ%*Ð"ÛˆBÜ˜b¤%§,¡,×/Ñ/à-1Ð*ÙØÓ#¨¯	©	¯©¸%Ó(?Ø "§	¡	�ØÑ#Ø&Ô*I×*QÑ*QÓQØ15Ò.à#%§8¡8’LØ§¡Õ)Ø-1Ò*ñ ö &ô 1ØðØ/Bñ‰OˆAð *+Ð&Ø%&Ð"ÛˆBÜ˜b¤%§,¡,×/Ñ/ÙØÓ#¨¯©«°A«¸"¿)¹)ÀsÓ:JØ1Ð5OÓOÙ ›=Ò(Ø.°!Ñ3Ò.Ø—‘˜mÕ+Ù˜G“}Ò$ñ ð !%ÐØ#'Ð ô
 & m×4Ñ4Û�Ü! "¤e§l¡l×3Ñ3Ùà)÷ Ü@Ø¬%×*AÑ*Añð &ð -÷ Ü@Ø¬%×*=Ñ*=ñò )ñ ö !äÐ,Ô-ÜØÜ—’ØØ&Ø!Ü"'×"9Ñ"9ñ	ð %ñ	ð 	ö $ÜÐ,Ô-äØÜ—’ØØ&Ø!Ü"'×"5Ñ"5ñ	ð %ñ	ð 	ñ Ð)Ó*Ð*r2   )r  r#   rv   r   rw   r   rg   r   rh   )r  r  r   s   `` r0   Úmake_fast_binary_implr"  é  s   ù€ ÷K+ð K+ðZ Ðr2   c                óv  • [        5          [        U 5         [        R                  R                  R
                  R                  U5      nS S S 5        S S S 5        U(       a   [        U WUR                  UR                  S9$ [        U WUR                  5      $ ! , (       d  f       NT= f! , (       d  f       N]= f)N)Úreal_tensor)
r   r   rA   rh  rÀ   ÚdetachrÄ   r   r7   r$  )ru   r¦   Úinclude_realrS  s       r0   Úfast_detachr'    sy   € ô 
Õ	Ô!=¸iÕ!HÜ�i‰i�n‰n×#Ñ#×+Ñ+¨AÓ.ˆ÷ "I×	æÜ˜) S¨!¯(©(ÀÇÁÑNÐNÜ�i  a§h¡hÓ/Ð/÷	 "IÕ!Hú×	Õ	ús"   ‹B*—4BÁB*Â
B'	Â#B*Â*
B8c                 óZ  • SS K n [        U R                  R                  R                  R
                  5      " [        U R                  R                  5      5        [        U R                  R                  R                  R
                  5      " [        U R                  R                  5      5        [        U R                  R                  R                  R
                  5      " [        U R                  R                  5      5        [        U R                  R                  R                  R
                  5      " [        U R                  R                  [        R                  S95        [        U R                  R                  R                  R                  5      " [        5        [         $ )Nr   )r  )Útorch._refsrþ  rh  rÀ   ÚaddrÂ   r"  r6  Úsubr  Údivr   ÚINT_TO_FLOATr%  rÄ   r'  rü  )rA   s    r0   r)   r)   ‰  s  € ãä˜%Ÿ)™)Ÿ.™.×,Ñ,×3Ñ3Ô4Ü˜eŸk™kŸo™oÓ.ôô ˜%Ÿ)™)Ÿ.™.×,Ñ,×3Ñ3Ô4Ü˜eŸk™kŸo™oÓ.ôô ˜%Ÿ)™)Ÿ.™.×,Ñ,×3Ñ3Ô4Ü˜eŸk™kŸo™oÓ.ôô ˜%Ÿ)™)Ÿ.™.×,Ñ,×3Ñ3Ô4ÜØ�K‰K�O‰OÜ ?× LÑ Lñ	
ôô ˜%Ÿ)™)Ÿ.™.×/Ñ/×7Ñ7Ô8¼ÔEÜ"Ð"r2   )r/   r'   rg   zdict[_T, bool])r7   ztorch.devicerg   r¬   )rH   r   rg   r¬   )rU   r   rg   r¬   )rb   zUCallable[[OpOverload], bool] | OpOverload | list[OpOverload] | tuple[OpOverload, ...]rg   ú.Callable[[Callable[_P, _R]], Callable[_P, _R]])ra   r   rg   r¬   )ra   r   rg   ÚNone)
ru   r#   rU   r   rv   r   rw   r   rg   r   )
ru   r#   rU   r   rv   r   rw   r   rg   r   )
ru   r#   rU   r   rv   r   rw   r   rg   r¬   r;   )
ru   r#   rU   r   rŽ   r  rv   úobject | Nonerg   r   )ru   r#   rU   r   r“   r   rg   r/  )
ru   r#   rU   r   rŽ   r  rv   r0  rg   r   )
ru   r#   rU   r   rv   r   rw   r   rg   r/  )TFF)ru   r#   rU   r   rL   r   rà   ú
int | Nonerá   r¬   râ   r¬   rã   r¬   rË   r¬   rg   ú)tuple[FakeTensor, FakeTensor, FakeTensor])ru   r#   rU   r   rL   r   rá   r¬   râ   r¬   rã   r¬   rg   r2  )ru   r#   rU   r   rú   r   rà   rÜ   rÁ   r$   rg   r   )ru   r#   rU   r   rL   r   rà   rÜ   rá   r¬   râ   r¬   rã   r¬   rg   r2  )FFN)ru   r#   rU   r   rL   r   râ   r¬   rã   r¬   rà   r1  rg   r2  )F)
r  úSequence[IntLikeType]r  r3  r  r3  r  r¬   rg   zlist[IntLikeType] | None)r)  útorch.TensorrÞ   úShapeType | tuple[ShapeType]rg   r¬   )T)r)  r4  rÞ   r5  r2  r¬   rg   r4  )
ru   r#   rU   r   r)  r   rÞ   r   rg   zFakeTensor | Exception)
ru   r#   rU   r   r)  r   rÞ   r   rg   r   )ru   r#   rU   r   r)  r   rÞ   r$   rS  rá  rg   r   )
ru   r#   rU   r   r]  r   r^  úIntLikeType | Nonerg   r   )ru   r#   rU   r   rL   r   rg   zBint | float | bool | torch.SymInt | torch.SymFloat | torch.SymBool)ru   r#   rU   r   rL   r   rg   úlist[FakeTensor])ru   r#   rU   r   rL   r   rg   r   )ru   r#   rU   r   r€  r   r�  r7  r‚  r6  rg   r   )rÛ   r$   rÁ   r$   rg   r6  )r   NNrN   )ru   r#   rU   r   rú   r   rà   rÜ   r‹  r1  rŒ  r1  r�  rÜ   rg   r   )
ru   r#   rU   r   rú   r   r“  r   rg   r   )NNN)ru   r#   rU   r   r˜  r   rŽ  ztorch.Size | NonerB  ztuple[int, ...] | Nonerb  ztorch.dtype | Noner7   ztorch.device | Noner–  ztorch.layout | Nonerg   r/  )rU   r   rú   r   r   zlist[FakeTensor | None]rg   r/  )
ru   r#   rU   r   rv   ztuple[Any, ...]rw   zdict[str, Any]rg   r   )
ru   r#   rU   r   rv   r   rw   r   rg   zlist[FakeTensor] | None)
ru   r#   rU   r   rv   r   rw   r   rg   z5tuple[FakeTensor, FakeTensor, FakeTensor, FakeTensor])
ru   r#   rU   r   rv   r   rw   r   rg   zKFakeTensor | tuple[FakeTensor | None, FakeTensor | None, FakeTensor | None])Nr   )ru   r#   rU   r   rí  r   rî  rá  rï  r$   rg   r   )ru   r#   rU   r   rí  r   ró  r   rô  r¬   rg   ztuple[FakeTensor, FakeTensor])rU   r   rg   r.  )r)  r3  r  r3  rg   ztuple[IntLikeType, ...])r  zCallable[..., Any]r  r   rg   zCallable[..., FakeTensor])ru   r#   r¦   r   r&  r¬   rg   r   )rg   z$dict[OpOverload, Callable[..., Any]])ÂÚ
__future__r   Ú	functoolsr®   rs  r  rÙ   r   Útypingr   r   rK  r   r   r	   Útyping_extensionsr
   rA   Útorch._custom_opÚtorch._loggingÚtorch._prims_commonÚ_prims_commonr'  Útorch._dispatch.pythonr   Ú
torch._opsr   r   r   r   r   r   r   r   r   r   r   r   Útorch._subclasses.fake_tensorr   r   r   r   r   r   Útorch.fx.operator_schemasr   Útorch.utils._statsr    Úcollections.abcr!   r"   r#   Útorch.typesr$   rÂ   ÚFakeTensorLiker%   r&   r'   Ú_pytreer±   Ú__all__rZ   r(   Ú_opsrh  rÀ   r1   r8   r�   rÄ   rS  Ú	full_likeÚ	ones_likeÚ	rand_likeÚ	generatorÚgenerator_outÚ
randn_likeÚrandint_likeÚTensor_generatorÚ
Tensor_outÚTensor_generator_outÚ	low_dtypeÚlow_generator_dtypeÚlow_dtype_outÚlow_generator_dtype_outÚ
zeros_likerÝ   ry  Únew_fullÚ	new_zerosÚnew_onesr�   Ú_resize_output_Ú_nested_tensor_from_tensor_listÚ
pin_memoryr½  r7   Úprim_DeviceÚ	is_pinnedÚ_pin_memoryÚ_resize_outputrÐ  Ú_list_to_tensorr€   r<   ÚcacherW   r]   rl   rr   Ú__contains__rx   r‡   r‹   Úprofilerr‘   r”   r—   r�   r*   r·   r¹   r»   rÉ   rê   Ú_unique2rí   ÚselectrÜ   rÿ   r  rË   r  r*  r=  rO  rN  Ú_unsafe_viewrJ  Ú	view_copyrY  rÅ   r_  ÚitemÚ_local_scalar_denserf  rj  rÃ   r„  r‡  Úslicer‘  r•  Ú_assert_tensor_metadatar™  r�  r¡  r¤  r©  rª  r+   r¹  rÁ   r¾  Ú_embedding_bagrÁ  Ú_unsafe_index_putÚcopyÚcopy_Úslice_scatterÚdiagonal_scatterrÃ  rÅ  Ú	index_putrË  rÌ  Ú_nested_view_from_bufferÚ_nested_view_from_buffer_copyrÎ  rÑ  râ  Úconvolution_backwardrë  rð  rù  rü  rþ  r4  r  r"  r'  r)   r¥   s   0r0   Ú<module>rz     sÉ  ðÝ "ã Û Û Û Û 
Ý ß JÕ JÝ 'ã Û Û Ý #Ý 7Ý !÷÷ ÷ ñ ÷÷ õ CÝ *ö ß2å<Ý'ð �z 5§<¡<Ð/Ñ0€Ùˆtƒ_€ÙˆTƒ]€ÙˆTƒ]€à	�‰×	Ñ	€ò€ð Ð àÐ ð ‡z�z‡~�~×Ñ€ô&ô ñ (ð 'Ø‡O�O×Ñð'à‡O�O×Ñð'ð 	‡N�N×Ñð'ð 	‡N�N×Ñð	'ð
 	‡N�N×Ñð'ð 	‡N�N×Ñð'ð 	‡N�N×Ñð'ð 	‡N�N×Ñð'ð 	‡N�N×Ñð'ð 	‡N�N× Ñ ð'ð 	‡O�O×Ñð'ð 	‡O�O×Ñð'ð 	‡O�O×Ñð'ð 	‡O�O×!Ñ!ð'ð 	×Ñ×Ñð'ð  	×Ñ×Ñð!'ð" 	×Ñ×Ñð#'ð$ 	×Ñ×&Ñ&ð%'ð& 	×Ñ× Ñ ð''ð( 	×Ñ×*Ñ*ð)'ð* 	×Ñ×Ñð+'ð, 	×Ñ×#Ñ#ð-'ð. 	×Ñ×Ñð/'ð0 	×Ñ×)Ñ)ð1'ð2 	×Ñ×#Ñ#ð3'ð4 	×Ñ×-Ñ-ð5'ð6 	‡O�O×Ñð7'ð8 	‡O�O×Ñð9'ð: 	‡N�N×Ñð;'ð< 	‡N�N×Ñð='ð> 	×Ñ×"Ñ"ð?'ð@ 	×Ñ×ÑðA'ðB 	‡M�M×ÑðC'ðD 	‡M�M×ÑðE'ðF 	‡N�N×ÑðG'ðH 	‡N�N×ÑðI'ðJ 	‡M�M×ÑðK'ðL 	‡M�M×ÑòM'Ð ñT $Ø×Ñ× Ñ Ø×(Ñ(×0Ñ0Ø×(Ñ(×,Ñ,Ø‡O�O×ÑØ‡G�G‡N�NØ‡G�G×ÑØ‡N�N×ÑØ×Ñ×ÑØ×Ñ×ÑØ×Ñ×ÑØ×Ñ×ÑóÐ ð #'×"6Ñ"6Ð!8Ð ôð ‡�ó	ó ð	ðððð
 4ôô4)ôñ Ð)×6Ñ6Ó7ðKØðKØ%/ðKØ8;ðKØGJðKàóKó 8ðKñ Ð(Ó)ÙÐ.Ð-Ð.Ó/ð0Øð0Ø%/ð0Ø8;ð0ØGJð0àó0ó 0ó *ð0ñ@ �$—.‘.×(Ñ(Ó)ðØðØ%/ðØ8;ðØGJðà	óó *ðñ  �%—)‘)×$Ñ$×;Ñ;×CÑCÓDàRVð	CØð	CØ%/ð	CØ7:ð	CØBOð	Càô	Có Eð	Cñ �%—)‘)×$Ñ$×:Ñ:×BÑBÓCð	Øð	Ø%/ð	Ø9<ð	à	ó	ó Dð	ñ �%—)‘)×$Ñ$×?Ñ?×GÑGÓHàRVð Øð Ø%/ð Ø7:ð ØBOð àô ó Ið ñ �$—'‘'×%Ñ%Ó&Ù�$—'‘'—.‘.Ó!ðØðØ%/ðØ8;ðØGJðàóó "ó 'ðô$ñ
 Ð%Ó&ð-Øð-Ø%/ð-Ø8;ð-ØGJð-àó-ó 'ð-ñD �$—/‘/×)Ñ)Ó*ð%Øð%Ø%/ð%Ø8;ð%ØGJð%àó%ó +ð%ñ �$×?Ñ?×GÑGÓHð:Øð:Ø%/ð:Ø8;ð:ØGJð:àó:ó Ið:ñ ñTóð
,Øð,Ø%/ð,Ø8;ð,ØGJð,à	ó,óð
,ð Ø ØðKð  %ñKØðKà
ðKð 
ðKð 
ð	Kð
 ðKð ðKð ðKð ðKð /öKñ\ �$—-‘-×'Ñ'Ó(ð
 Ø ØðVØðVà
ðVð 
ðVð ð	Vð
 ðVð ðVð /ôVó )ðVñ �$—+’+—/’/Ó"ð.EØð.Eà
ð.Eð ð.Eð 
ð	.Eð
 ð.Eð ó.Eó #ð.Eñb �$—/’/×)Ñ)Ó*ð Ø ØðØðà
ðð 
ðð 
ð	ð
 ðð ðð ðð /ôó +ðñ* �$×)Ò)×1Ñ1Ó2ð
 !ØØðØðà
ðð 
ðð ð	ð
 ðð 
ðð /ôó 3ðð2 !ð	LØ$ðLà%ðLð %ðLð ð	Lð
 õLð^ØðØ8ðà	ôð" $(ðFØðFà'ðFð !ðFð õ	FñR �$×$Ò$×,Ñ,Ó-ð
Øð
Ø%/ð
Ø4>ð
ØHKð
àó
ó .ð
ñ, �$—)’)×#Ñ#Ó$Ù�$×#Ò#×+Ñ+Ó,ð
Øð
à
ð
ð ð
ð ð	
ð
 ó
ó -ó %ð
ñ  �$—.’.×(Ñ(Ó)ð "ñØðà
ðð ðð ð	ð
 
ðð ôó *ðñ$ �$×(Ò(×/Ñ/Ó0ð
 '+ð	*Øð*à
ð*ð ð*ð $ð	*ð
 ô*ó 1ð*ñ. �%—)‘)—.‘.×%Ò%×-Ñ-Ó.Ù�%—)‘)—.‘.×4Ò4×<Ñ<Ó=ðØðØ%/ðØ6@ðàGóó >ó /ðñ. �%—)‘)—.‘.×.Ò.×6Ñ6Ó7ð9Øð9Ø%/ð9Ø6@ð9àó9ó 8ð9ñ �%—)‘)—.‘.×(Ò(×0Ñ0Ó1ó/Pó 2ð/Pñd �%—)‘)—.‘.×@Ò@×HÑHÓIð #'ð%*Øð%*à
ð%*ð ð%*ð ð	%*ð
  ð%*ð ô%*ó Jð%*ôPñ �%—)‘)—.‘.×&Ò&×-Ñ-Ó.ð
 ØØØðD?ØðD?à
ðD?ð ðD?ð 
ð	D?ð
 ðD?ð 
ðD?ð ðD?ð ôD?ó /ðD?ñN �%—)‘)—.‘.×.Ò.×6Ñ6Ó7ð("Øð("Ø%/ð("Ø7Að("ØISð("àó("ó 8ð("ñV �%—)‘)—.‘.×8Ò8×@Ñ@ÓAð
  $Ø&*Ø $ð#ð #'Ø"&ñ#Øð#à
ð#ð ð#ð ð	#ð
 $ð#ð ð#ð  ð#ð  ð#ð 
õ#ó Bð#ñN ÑKÓLð-Øð-Ø%/ð-Ø8;ð-ØGJð-à	ó-ó Mð-ð4Ø
ð4Ø&ð4Ø1Hð4à	ô4ð2Øð2à
ð2ð ð2ð ð	2ð
 ô2ñ* % V¨W°fÓ=Ð ô2ôXñ
 ñóð
 Øð Ø%/ð Ø8;ð ØGJð àó óð
 ñL �$—*’*×#Ñ#Ó$ð"Øð"Ø%/ð"Ø8;ð"ØGJð"àó"ó %ð"ñ$ �$×%Ò%×-Ñ-Ó.ð3Øð3Ø%/ð3Ø8;ð3ØGJð3à:ó3ó /ð3ñ �$×(Ò(×0Ñ0Ó1Ù�$—)’)×#Ñ#Ó$Ù�$—*’*×$Ñ$Ó%Ù�$×$Ò$×,Ñ,Ó-Ù�$×'Ò'×/Ñ/Ó0ðTØðTØ%/ðTØ8;ðTØGJðTàóTó 1ó .ó &ó %ó 2ð
Tñ �$—)’)—-‘-Ó Ù�$×$Ò$×(Ñ(Ó)ð
Øð
Ø%/ð
Ø8;ð
ØGJð
àó
ó *ó !ð
ñ �$—.’.×(Ñ(Ó)Ù�$—/’/×)Ñ)Ó*ðØðØ%/ðØ8;ðØGJðàóó +ó *ðñ( �$×6Ñ6×>Ñ>Ó?Ù�$×6Ñ6×:Ñ:Ó;Ù�$×/Ò/×7Ñ7Ó8Ù�$×4Ò4×<Ñ<Ó=ð-Øð-Ø%/ð-Ø8;ð-ØGJð-à	ó-ó >ó 9ó <ó @ð-ñ ñ 'óâ&ˆAØð �N‰N×"Ñ"Ø�G‰G�N‰NØ�G‰G×ÑØ×0Ñ0×8Ñ8Ø×0Ñ0×4Ñ4ð
ñ
÷ 	
Ù&ñóó-óð-ñ
 �4×#Ò#×+Ñ+¨T×-FÒ-F×-NÑ-NÐOÓPð\Øð\Ø%/ð\Ø8;ð\ØGJð\àPó\ó Qð\ñ~ �%—)‘)—.‘.×)Ò)×1Ñ1Ó2ð
 "&Øð&Øð&à
ð&ð ð&ð ð	&ð
 ð&ð ô&ó 3ð&ñ. �%—)‘)—.‘.×6Ò6×>Ñ>Ó?ð%Øð%à
ð%ð ð%ð ð	%ð
 ð%ð #ó%ó @ð%ð> Ð ð
Ø
ðà3ôð" Øð" Ø!6ð" àô" ðN <[×;bÒ;bðQØ ðQà8ðQð õQðn DIð0Øð0Ø",ð0Ø<@ð0àõ0ð ‡�ó#ó ñ#ùòCs   ù3A3A@$û*A@$