+
    ˜°³jG  ã                  óN  € ^ RI Ht ^ RIHt ^ RIHt ^ RIHu Ht ^ RI	H
t
 ^ RIHtHtHtHtHtHtHtHtHt ^ RIHt ^ RIHtHtHtHtHtHtHt ^ R	IH t  ]'       d   ^ R
I!H"t" ^ RIH#t# ]! RR7       ! R R4      4       t$]! RR7       ! R R4      4       t%R R lt&R R lt']! RR7       ! R R4      4       t(](! ^ R]PR                  R7      ](! ^R]PT                  R7      .t+R R lt,]R R l4       t-]! RR7       ! R R 4      4       t.]R! R" l4       t/R# R$ lt0]R% R& l4       t1R# )'é    )Úannotations)Ú	dataclass)ÚTYPE_CHECKINGN)Ú	translate)	Ú	BaseCTypeÚBindingÚCTypeÚExprÚ
NamedCTypeÚopmath_tÚscalar_tÚStructuredImplSignatureÚVectorizedCType)Úwith_native_function)ÚArgumentÚBaseTyÚBaseTypeÚDispatchKeyÚNativeFunctionsGroupÚ
ScalarTypeÚUfuncKey)Ú
OrderedSet)ÚSequence)ÚUfunctorBindingsT)Úfrozenc                  ó~   € ] tR t^Ct$ R]R&   R]R&   R]R&   R R ltR	 R
 ltR R ltR R ltR R lt	R R lt
RtR# )ÚUfunctorSignaturer   Úgz
int | NoneÚscalar_tensor_idxÚstrÚnamec               ó   € V ^8„  d   QhRR/# )é   Úreturnr   © )Úformats   "ÚT/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchgen/dest/ufunc.pyÚ__annotate__ÚUfunctorSignature.__annotate__I   s   € ÷ 
ñ 
Ð+ñ 
ó    c                	ód   € \         P                  ! V P                  V P                  \        R 7      # ))r   r   )ÚufuncÚufunctor_argumentsr   r   r   ©Úselfs   &r'   Ú	argumentsÚUfunctorSignature.argumentsI   s&   € Ü×'Ò'Ø�F‰F d×&<Ñ&<Äxô
ð 	
r*   c               ó   € V ^8„  d   QhRR/# ©r#   r$   zlist[Binding]r%   )r&   s   "r'   r(   r)   N   s   € ÷ Gñ G˜ñ Gr*   c                	ó–   € V P                  4       P                   Uu. uF   qP                  VP                   R 24      NK"  	  up# u upi )Ú_)r0   ÚctorÚrenamer!   )r/   Úbs   & r'   ÚfieldsÚUfunctorSignature.fieldsN   s:   € à04·±Ó0@×0EÒ0EÓFÑ0E¨1—‘˜AŸF™F˜8 1˜Ö&Ñ0EÑFÐFùÒFs   �&Ac               ó   € V ^8„  d   QhRR/# )r#   r$   r	   r%   )r&   s   "r'   r(   r)   R   s   € ÷ #ñ #˜eñ #r*   c                	ó    € \        \        4      # ©N)r   r   r.   s   &r'   Úreturns_typeÚUfunctorSignature.returns_typeR   s   € ô œÓ"Ð"r*   c               ó   € V ^8„  d   QhRR/# ©r#   r$   r    r%   )r&   s   "r'   r(   r)   W   s   € ÷ Gñ G˜Sñ Gr*   c                	óN   € R P                  R V P                  4        4       4      # )Ú
c              3  óX   "  € T F   qP                    R VP                   R2x € K"  	  R# 5i)Ú Ú;N)Útyper!   )Ú.0Úfs   & r'   Ú	<genexpr>Ú0UfunctorSignature.decl_fields.<locals>.<genexpr>X   s#   é € ÐF¹°1ŸF™F˜8 1 Q§V¡V H¨AÕ.»ùó   ‚(*)Újoinr9   r.   s   &r'   Údecl_fieldsÚUfunctorSignature.decl_fieldsW   s   € Ø�y‰yÑF¸¿¹¼ÓFÓFÐFr*   c               ó   € V ^8„  d   QhRR/# rA   r%   )r&   s   "r'   r(   r)   Z   s   € ÷ <ñ < #ñ <r*   c                	óì   € R P                  R V P                  4       P                   4       4      pR P                  R V P                  4       P                   4       4      pV P                   RV RV R2# )ú, c              3  ó@   "  € T F  qP                  4       x € K  	  R # 5ir=   ©Údecl©rH   Úas   & r'   rJ   Ú5UfunctorSignature.inline_defn_ctor.<locals>.<genexpr>[   s   é € ÐEÑ/D¨!ŸV™VŸX˜XÓ/Dùó   ‚c              3  óX   "  € T F   qP                    R VP                    R2x € K"  	  R# 5i)z_(Ú)N©r!   rV   s   & r'   rJ   rX   ^   s%   é € ÐSÑ=R¸§¡˜x r¨!¯&©&¨°Õ3Ó=RùrL   Ú(z) : z {})rM   r0   r6   r!   )r/   Úargs_strÚinit_strs   &  r'   Úinline_defn_ctorÚ"UfunctorSignature.inline_defn_ctorZ   sc   € Ø—9‘9ÑE¨t¯~©~Ó/?×/DÒ/DÓEÓEˆð —9‘9ÑS¸T¿^¹^Ó=M×=RÒ=RÓSÓSˆØ—)‘)�˜A˜h˜Z t¨H¨:°UÐ;Ð;r*   c               ó   € V ^8„  d   QhRR/# rA   r%   )r&   s   "r'   r(   r)   a   s   € ÷ Pñ P˜Cñ Pr*   c                	óª   € R P                  R V P                  4       P                   4       4      pV P                  4       P	                  4        RV R2# )rR   c              3  ó@   "  € T F  qP                  4       x € K  	  R # 5ir=   rT   rV   s   & r'   rJ   Ú/UfunctorSignature.decl_apply.<locals>.<genexpr>b   s   é € ÐFÑ/E¨!ŸV™VŸX˜XÓ/EùrY   z operator()(z) const)rM   r0   Úapplyr>   Úcpp_type)r/   r^   s   & r'   Ú
decl_applyÚUfunctorSignature.decl_applya   sI   € Ø—9‘9ÑF¨t¯~©~Ó/?×/EÒ/EÓFÓFˆØ×#Ñ#Ó%×.Ñ.Ó0Ð1°¸h¸ZÀwÐOÐOr*   r%   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r0   r9   r>   rN   r`   rh   Ú__static_attributes__r%   r*   r'   r   r   C   s:   ‡ àÓØ!Ó!Ø
ƒIõ
õ
Gõ#õ
Gõ<÷Pñ Pr*   r   c                  óN   € ] tR t^ft$ R]R&   R]R&   R]R&   R R ltR	 R
 ltRtR# )ÚUfuncSignaturer   r   r    r!   r	   Ú	compute_tc               ó   € V ^8„  d   QhRR/# r3   r%   )r&   s   "r'   r(   ÚUfuncSignature.__annotate__l   s   € ÷ Gñ G˜=ñ Gr*   c                	óZ   € \         P                  ! V P                  V P                  R 7      # ))rr   )r,   Úufunc_argumentsr   rr   r.   s   &r'   r0   ÚUfuncSignature.argumentsl   s   € Ü×$Ò$ T§V¡V°t·~±~ÔFÐFr*   c               ó    € V ^8„  d   QhRRRR/# )r#   ÚctxzSequence[Binding | Expr]r$   r    r%   )r&   s   "r'   r(   rt   o   s   € ÷ ]ñ ]Ð0ð ]°Sñ ]r*   c           
     	ó€   € V P                    R RP                  R \        WP                  4       4       4       4       R2# )r]   rR   c              3  ó8   "  € T F  qP                   x € K  	  R # 5ir=   ©ÚexprrV   s   & r'   rJ   Ú&UfuncSignature.call.<locals>.<genexpr>p   s   é € Ð'YÑ8X°1¯®Ó8Xùó   ‚r[   ©r!   rM   r   r0   ©r/   ry   s   &&r'   ÚcallÚUfuncSignature.callo   s6   € Ø—)‘)�˜A˜dŸi™iÑ'Y¼	À#Ç~Á~ÓGWÔ8XÓ'YÓYÐZÐZ[Ð\Ð\r*   r%   N)rj   rk   rl   rm   rn   r0   r‚   ro   r%   r*   r'   rq   rq   f   s%   ‡ àÓØ
ƒIØÓõG÷]ñ ]r*   rq   c               ó    € V ^8„  d   QhRRRR/# )r#   r   r   r$   Úboolr%   )r&   s   "r'   r(   r(   …   s   € ÷ ñ Ð1Eð È$ñ r*   c                ó€   € \        R  V P                  P                  P                  P                   4       4      pV^8H  # )c              3  óh   "  € T F(  qP                   P                  4       '       g   K$  ^x € K*  	  R# 5i)é   N)rG   Úis_tensor_likerV   s   & r'   rJ   Ú<eligible_for_binary_scalar_specialization.<locals>.<genexpr>†   s#   é € ð Ù;ˆa¿v¹v×?TÑ?T×?V�ŠÓ;ùs   ‚!2¨
2)ÚsumÚ
functionalÚfuncr0   Úflat_non_out)r   Únum_tensorss   & r'   Ú)eligible_for_binary_scalar_specializationr�   …   s<   € Üñ Ø—<‘<×$Ñ$×.Ñ.×;Ò;óó €Kð ˜!ÑÐr*   c               ó    € V ^8„  d   QhRRRR/# )r#   r   r   r$   z?tuple[dict[ScalarType, dict[UfuncKey, UfunctorSignature]], str]r%   )r&   s   "r'   r(   r(   Œ   s    € ÷ S/ñ S/ØðS/àDñS/r*   c                ó®  € / p. pV P                   P                  p\        P                  ^\        P                  ^ \        P
                  R/p\        V 4      '       d1   \        P                  \        P                  \        P
                  .pMM\        P
                  .p\        P                  \        P                  3 F  pWc9   g   K  \        RV R24      h	  V EFâ  pWc9   dT   \        WV,          W6,          P                  R7      pW6,          P                   F  pWqP                  V/ 4      V&   K  	  K]  Rp	\        4       p
\        P                  \        P                  3 F]  pW³9  d   K  V	f   W;,          P                  p	M"W“V,          P                  8w  d   \        R4      hW£V,          P                  ,          p
K_  	  V	f   \        R4      hV RV	 2p\        WV,          VR7      pV
 F  pWqP                  V/ 4      V&   K  	  \        V RV	 2\!        \"        4      R	7      pVP%                  4       VP'                  4       P(                  ,           pVP+                  R
VP                   RVP-                  4        RVP/                  4        RVP1                  4        RVP3                  V4       R24       EKå  	  VRP5                  V4      3# )rˆ   Nzcannot use z on non-binary function)r   r!   z0ScalarOnly and Generic must have same ufunc namezufunc_name must be non-Noner5   úufunc::©r!   rr   z%
template <typename scalar_t>
struct z3 {
  using opmath_t = at::opmath_type<scalar_t>;
  z
  z
  __device__ z {
    return z	;
  }
};
rC   )ÚoutÚufunc_inner_loopr   ÚCUDAFunctorOnSelfÚCUDAFunctorOnOtherÚCUDAFunctorr�   ÚAssertionErrorr   r!   Úsupported_dtypesÚ
setdefaultr   Ú
ScalarOnlyÚGenericrq   r   r   r9   r0   rf   ÚappendrN   r`   rh   r‚   rM   )r   Úufunctor_sigsÚ	ufunctorsÚloopsÚscalar_tensor_idx_lookupÚkeysÚkÚufunctor_sigÚdtypeÚ
ufunc_namer›   Úlkr!   Ú	ufunc_sigÚ	apply_ctxs   &              r'   Úcompute_ufunc_cuda_functorsr¬   Œ   s»  € ð JL€MØ€IØ�E‰E×"Ñ"€Eä×"Ñ" AÜ×#Ñ# QÜ×Ñ˜dð Ðô
 1°×3Ò3ä×&Ñ&Ü×'Ñ'Ü× Ñ ð
‰ô ×$Ñ$Ð%ˆÜ×,Ñ,¬h×.IÑ.IÓJˆAØŽzÜ$ {°1°#Ð5LÐ%MÓNÐNñ Kô ˆð Œ:Ü,Ø¸aÕ%@ÀuÅxÇ}Á}ôˆLð �×2Ô2�Ø9E×(Ñ(¨°Ó3°AÓ6ñ 3áð ˆ
Ü3=³<ÐÜ×&Ñ&¬×(8Ñ(8Ó9ˆBØŒÙØÒ!Ø"�YŸ^™^‘
ð  r¥§¡Ô/Ü(ØJóð ð  b¥	× :Ñ :Õ:Òñ :ð ÒÜ Ð!>Ó?Ð?à��A�j�\Ð"ˆÜ(Ø¸!Õ!<À4ô
ˆó &ˆEØ5A×$Ñ$ U¨BÓ/°Ó2ñ &ô #Ø�g˜j˜\Ð*´iÄÓ6Iô
ˆ	ð !×'Ñ'Ó)¨L×,BÑ,BÓ,D×,JÑ,JÕJˆ	Ø×Ñðà×ÑÐð à×ÑÓÐð Ø× Ñ Ó"Ð#ð $Ø×%Ñ%Ó'Ð(ð )Ø�N‰N˜9Ó%Ð&ð 'ð
÷	
ñ] ðx ˜$Ÿ)™) IÓ.Ð.Ð.r*   c                  ó6   € ] tR t^ât$ R]R&   R]R&   R]R&   RtR# )	Ú BinaryScalarSpecializationConfigÚintÚ
scalar_idxr    Úctor_tensorr   Ú	ufunc_keyr%   N)rj   rk   rl   rm   rn   ro   r%   r*   r'   r®   r®   â   s   ‡ àƒOØÓØ×r*   r®   r/   )r°   r±   r²   Úotherc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r#   r   r   r§   r   Úinner_loopsz!dict[UfuncKey, UfunctorSignature]Ú
parent_ctxúSequence[Binding]r$   r    r%   )r&   s   "r'   r(   r(   ÷   s:   € ÷ ,ñ ,Øð,àð,ð 3ð,ð "ð	,ð
 	ñ,r*   c                óÄ  € R pVR,          p\          Fà  pVP                  V9  d   K  W%P                  ,          pVP                  ^,           p\        V4      pVP	                  \        RV R2\        VP                  \        \        4      4      R7      4       RP                  R \        W†P                  4       P                  4       4       4      p	VRV RVP                   R	V	 R
V R2	,          pKâ  	  V\        P                   ,          pRP                  R \        W6P                  4       P                  4       4       4      p	VRVP                   RV	 R2,          pV# )z+using opmath_t = at::opmath_type<scalar_t>;zif (false) {}
ziter.scalar_value<opmath_t>(r[   )r}   rG   rR   c              3  ó8   "  € T F  qP                   x € K  	  R # 5ir=   r|   rV   s   & r'   rJ   Ú0compute_ufunc_cuda_dtype_body.<locals>.<genexpr>  s   é € ð ,
ÙI�q�FŽFÓIùr   zelse if (iter.is_cpu_scalar(z)) {
  z<scalar_t> ufunctor(z);
  iter.remove_operand(z");
  gpu_kernel(iter, ufunctor);
}c              3  ó8   "  € T F  qP                   x € K  	  R # 5ir=   r|   rV   s   & r'   rJ   rº     s   é € ð (ÙL�1�ŽÓLùr   z
else {
  gpu_kernel(iter, z<scalar_t>(z
));
}
    )Ú!BinaryScalarSpecializationConfigsr²   r°   ÚlistrŸ   r
   r   r±   r   r   rM   r   r0   r6   r!   r   r™   )
r   r§   rµ   r¶   ÚbodyÚconfigr¦   r°   ry   Úufunctor_ctor_exprs_strs
   &&&&      r'   Úcompute_ufunc_cuda_dtype_bodyrÁ   ÷   s~  € ð 9€DØÐÕ€Dß3ˆØ×Ñ ;Ô.ÙØ"×#3Ñ#3Õ4ˆØ×&Ñ&¨Õ*ˆ
ô %)¨Ó$4ˆØ�
‰
ÜØ3°J°<¸qÐAÜ × 2Ñ 2´I¼hÓ4GÓHôô	
ð #'§)¡)ñ ,
Ü% c×+AÑ+AÓ+C×+HÑ+HÔIó,
ó #
Ðð 	ð Ø'˜Lð )Ø×ÑÐÐ)Ð*AÐ)Bð CØ!�lð #ðõ 	Šñ) 4ð6 œx×3Ñ3Õ4€LØ"Ÿi™iñ (Ü! *×.DÑ.DÓ.F×.KÑ.KÔLó(ó Ðð 	ð à ×%Ñ%Ð& kÐ2IÐ1Jð Kðõ €Dð
 €Kr*   c               ó    € V ^8„  d   QhRRRR/# ©r#   r   r   r$   r    r%   )r&   s   "r'   r(   r(   '  s   € ÷ &ñ &Ð.ð &°3ñ &r*   c                óp  € \        V 4      w  r\        V \        P                  ! V \        P
                  4      4      p. pVP                  4        F5  w  rVVP                  R V R\        WWcP                  4       4       R24       K7  	  RP                  V4      p\        V 4      pRV RVP                  4        RVP                  4        RVP                  4        RVP                   RV RVP                   R	VP                   R
VP!                  4        RVP#                  VP                  4       4       R2# )ú"
AT_DISPATCH_CASE(at::ScalarType::ú,
  [&]() {
    ú
  }
)
rC   z

ú;
ú. {
  AT_DISPATCH_SWITCH(iter.common_dtype(), "ú",
    z
  );
}
REGISTER_DISPATCH(ú, &z)

ú {
  ú;
}
)r¬   r   r,   Úkernel_namer   ÚCUDAÚitemsrŸ   rÁ   r0   rM   ÚStubSignatureÚ	type_defnÚdispatch_declÚkernel_defnr!   ÚdefnÚdirect_call)	r   r    r¡   ÚsigÚdtype_casesr§   Úinner_ufunc_sigsÚdtype_cases_strÚstub_sigs	   &        r'   Úcompute_ufunc_cudarÜ   &  sZ  € ô  ;¸1Ó=Ñ€Mô " !¤U×%6Ò%6°q¼+×:JÑ:JÓ%KÓ
L€CØ€KØ#0×#6Ñ#6Ö#8ÑˆØ×Ñð"Ø"' ð )ä" 1Ð-=¿}¹}»ÓOÐPð Qðö	
ñ $9ð —i‘i Ó,€Oä˜QÓ€HðØ
€ð à	×ÑÓÐ ð Ø	×ÑÓÐ ð à	×ÑÓÐ ð ,Ø,/¯H©H¨:ð 6ØÐð ð —=‘=�/  X×%9Ñ%9Ð$:ð ;à‡�ƒ€ð Ø×Ñ˜Ÿ™›Ó(Ð)ð *ðð r*   c                  óÄ   € ] tR tRt$ R]R&   ]R R l4       t]R R l4       t]R R	 l4       tR
 R lt	R R lt
R R ltR R ltR R ltR R ltR R ltR R ltRtR# )rÑ   iW  r   r   c               ó   € V ^8„  d   QhRR/# rA   r%   )r&   s   "r'   r(   ÚStubSignature.__annotate__\  s   € ÷ ?ñ ?�cñ ?r*   c                	ó‚   € \        V P                  P                  P                  P                  P                  4       R 2# )Ú_stub©r    r   rŒ   r�   r!   r.   s   &r'   r!   ÚStubSignature.name[  s1   € ä�d—f‘f×'Ñ'×,Ñ,×1Ñ1×6Ñ6Ó7Ð8¸Ð>Ð>r*   c               ó   € V ^8„  d   QhRR/# rA   r%   )r&   s   "r'   r(   rß   `  s   € ÷ Añ A˜Sñ Ar*   c                	ó‚   € \        V P                  P                  P                  P                  P                  4       R 2# )Ú_kernelrâ   r.   s   &r'   rÎ   ÚStubSignature.kernel_name_  s1   € ä�d—f‘f×'Ñ'×,Ñ,×1Ñ1×6Ñ6Ó7Ð8¸Ð@Ð@r*   c               ó   € V ^8„  d   QhRR/# rA   r%   )r&   s   "r'   r(   rß   d  s   € ÷ =ñ =˜3ñ =r*   c                	ó‚   € \        V P                  P                  P                  P                  P                  4       R 2# )Ú_fnrâ   r.   s   &r'   Ú	type_nameÚStubSignature.type_namec  s1   € ä�d—f‘f×'Ñ'×,Ñ,×1Ñ1×6Ñ6Ó7Ð8¸Ð<Ð<r*   c               ó   € V ^8„  d   QhRR/# r3   r%   )r&   s   "r'   r(   rß   g  s   € ÷ ,ñ ,˜=ñ ,r*   c                	óB   € \         P                  ! V P                  4      # r=   )r,   Ústub_argumentsr   r.   s   &r'   r0   ÚStubSignature.argumentsg  s   € Ü×#Ò# D§F¡FÓ+Ð+r*   c               ó   € V ^8„  d   QhRR/# rA   r%   )r&   s   "r'   r(   rß   j  s   € ÷ Vñ V�cñ Vr*   c                	óZ   € V P                  4       pR RP                  R V 4       4       R2# )zvoid(*)(TensorIteratorBase&, rR   c              3  ó8   "  € T F  qP                   x € K  	  R # 5ir=   )rG   rV   s   & r'   rJ   Ú%StubSignature.type.<locals>.<genexpr>l  s   é € Ð8RÉÀA¿¾Ëùr   r[   )r0   rM   )r/   Úcpp_argss   & r'   rG   ÚStubSignature.typej  s.   € Ø—>‘>Ó#ˆØ.¨t¯y©yÑ8RÉÓ8RÓ/RÐ.SÐSTÐUÐUr*   c               ó   € V ^8„  d   QhRR/# rA   r%   )r&   s   "r'   r(   rß   n  s   € ÷ Bñ B˜sñ Br*   c                	ó<   € R V P                    RV P                   R2# )zDECLARE_DISPATCH(rR   r[   )rë   r!   r.   s   &r'   rÓ   ÚStubSignature.dispatch_decln  s    € Ø" 4§>¡>Ð"2°"°T·Y±Y°K¸qÐAÐAr*   c               ó   € V ^8„  d   QhRR/# rA   r%   )r&   s   "r'   r(   rß   q  s   € ÷ /ñ /˜sñ /r*   c                	ó"   € R V P                    R2# )zDEFINE_DISPATCH(r[   r\   r.   s   &r'   Údispatch_defnÚStubSignature.dispatch_defnq  s   € Ø! $§)¡) ¨AÐ.Ð.r*   c               ó   € V ^8„  d   QhRR/# rA   r%   )r&   s   "r'   r(   rß   t  s   € ÷ uñ u˜Sñ ur*   c                	óp   € R V P                    RRP                  R V P                  4        4       4       R2# )zvoid z(TensorIteratorBase& iter, rR   c              3  ó@   "  € T F  qP                  4       x € K  	  R # 5ir=   )rÕ   rV   s   & r'   rJ   Ú,StubSignature.kernel_defn.<locals>.<genexpr>u  s   é € ÐMqÑ`pÐ[\ÏfÉfÏhÈhÓ`pùrY   r[   )rÎ   rM   r0   r.   s   &r'   rÔ   ÚStubSignature.kernel_defnt  s:   € Ø�t×'Ñ'Ð(Ð(CÀDÇIÁIÑMqÐ`d×`nÑ`nÔ`pÓMqÓDqÐCrÐrsÐtÐtr*   c               ó   € V ^8„  d   QhRR/# rA   r%   )r&   s   "r'   r(   rß   w  s   € ÷ 9ñ 9˜3ñ 9r*   c                	óB   € R V P                    RV P                  4        2# )zusing ú = )rë   rG   r.   s   &r'   rÒ   ÚStubSignature.type_defnw  s    € Ø˜Ÿ™Ð' s¨4¯9©9«;¨-Ð8Ð8r*   c               ó    € V ^8„  d   QhRRRR/# ©r#   ry   r·   r$   r    r%   )r&   s   "r'   r(   rß   {  s   € ÷ sñ sÐ)ð s¨cñ sr*   c           
     	ó€   € V P                    R RP                  R \        WP                  4       4       4       4       R2# )z(device_type(), *this, rR   c              3  ó8   "  € T F  qP                   x € K  	  R # 5ir=   r|   rV   s   & r'   rJ   Ú%StubSignature.call.<locals>.<genexpr>|  s   é € Ð=oÑNnÈ¿f¾fÓNnùr   r[   r€   r�   s   &&r'   r‚   ÚStubSignature.call{  s:   € Ø—)‘)�Ð3°D·I±IÑ=oÌiÐX[×]kÑ]kÓ]mÔNnÓ=oÓ4oÐ3pÐpqÐrÐrr*   c               ó    € V ^8„  d   QhRRRR/# r  r%   )r&   s   "r'   r(   rß     s   € ÷ kñ kÐ0ð k°Sñ kr*   c           
     	ó€   € V P                    R RP                  R \        WP                  4       4       4       4       R2# )z(*this, rR   c              3  ó8   "  € T F  qP                   x € K  	  R # 5ir=   r|   rV   s   & r'   rJ   Ú,StubSignature.direct_call.<locals>.<genexpr>€  s   é € Ð5gÑFfÀ·f¶fÓFfùr   r[   )rÎ   rM   r   r0   r�   s   &&r'   rÖ   ÚStubSignature.direct_call  s<   € Ø×"Ñ"Ð# 8¨D¯I©IÑ5gÄiÐPS×UcÑUcÓUeÔFfÓ5gÓ,gÐ+hÐhiÐjÐjr*   r%   N)rj   rk   rl   rm   rn   Úpropertyr!   rÎ   rë   r0   rG   rÓ   rü   rÔ   rÒ   r‚   rÖ   ro   r%   r*   r'   rÑ   rÑ   W  sw   ‡ àÓàô?ó ð?ð ôAó ðAð ô=ó ð=õ,õVõBõ/õuõ9õs÷kñ kr*   rÑ   c               ó    € V ^8„  d   QhRRRR/# rÃ   r%   )r&   s   "r'   r(   r(   „  s   € ÷ ñ Ð-ð °#ñ r*   c                óD  € \        V 4      p\        V \        P                  ! V \        P
                  4      4      pR VP                  4        RVP                  4        R VP                  4        RVP                  4        RVP                  VP                  4       4       R2# )rC   rÈ   z;

rÌ   rÍ   )rÑ   r   r,   rÎ   r   ÚCPUrÒ   rÓ   rü   rÕ   r‚   r0   )r   rÛ   r×   s   &  r'   Úcompute_ufunc_cpur  ƒ  sž   € ä˜QÓ€HÜ
! !¤U×%6Ò%6°q¼+¿/¹/Ó%JÓ
K€CðØ	×ÑÓÐ ð Ø	×ÑÓÐ ð Ø	×ÑÓÐ ð à‡�ƒ€ð Ø‡=�=�—‘“Ó!Ð"ð #ðð r*   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r#   r   r   r§   r   rµ   zdict[UfuncKey, UfuncSignature]r¶   r·   r$   r    r%   )r&   s   "r'   r(   r(   “  sA   € ÷ _ñ _Øð_àð_ð 0ð_ð "ð	_ð
 	ñ_r*   c                ó	  a€ \         P                  V9  d   \        V R VP                  4        24      hVP                  4       \         P                  \         P                  08:  g   \        RVP                  4        24      hV\         P                  ,          pRp\         P                  V9   d   V\         P                  ,          p. p. oV FÖ  p\        VP                  \        4      '       d5   VP                  P                  \        \        P                  4      8w  d   KW  VP                  RVP                   RVP                   R24       SP                  \        RVP                   2\        VP                   P                  \#        \$        4      4      4      4       KØ  	  Veæ   V Fß  p\        VP                  \        4      '       d5   VP                  P                  \        \        P                  4      8w  d   KW  VP                  RVP                   RVP                   R	24       SP                  \        R
VP                   2\        VP                   P                  \'        \#        \$        4      4      4      4      4       Ká  	  . p. p	V P(                  P*                  P,                  P.                   EF  p
V
P                  P1                  4       '       g   K&  V
P                  \        \        P2                  4      8w  d   \        RV
P                   24      hVP                  \5        V
P                  \        V
P                  \#        \$        4      4      V
R7      4       Vf   K´  V	P                  \5        V
P                  \        V
P                  \'        \#        \$        4      4      4      V
R7      4       EK  	  R V3R llpRP7                  V4      pVei   RV RR P7                  R V 4       4       RVP9                  V! V4      4       RR P7                  R V	 4       4       RVP9                  V! V	4      4       R2# RV RR P7                  R V 4       4       RVP9                  V! V4      4       R2# )rR   z<inner_loops keys must be subset of CPUScalar/CPUVector, got Nzauto _s_r  z.to<scalar_t>();Ú_s_zauto _v_z$ = at::vec::Vectorized<scalar_t>(_s_z);Ú_v_zExpected Tensor type, got )r!   ÚnctypeÚargumentc               ó    € V ^8„  d   QhRRRR/# )r#   r8   r·   r$   zlist[Expr | Binding]r%   )r&   s   "r'   r(   Ú2compute_ufunc_cpu_dtype_body.<locals>.__annotate__Ý  s   € ÷ ñ Ð%ð Ð*>ñ r*   c                óP   <€ . pVP                  S4       VP                  V 4       V# r=   )Úextend)r8   Úrry   s   & €r'   Úwith_ctxÚ.compute_ufunc_cpu_dtype_body.<locals>.with_ctxÝ  s#   ø€ Ø"$ˆØ	�‰�ŒØ	�‰�ŒØˆr*   rC   z
cpu_kernel_vec(iter,
  [=](c              3  ó@   "  € T F  qP                  4       x € K  	  R # 5ir=   rT   ©rH   r8   s   & r'   rJ   Ú/compute_ufunc_cpu_dtype_body.<locals>.<genexpr>è  ó   é € Ð3¡?˜a—‘—�£?ùrY   z) { return z; },
  [=](c              3  ó@   "  € T F  qP                  4       x € K  	  R # 5ir=   rT   r%  s   & r'   rJ   r&  é  s   é € Ð0¡<˜a—‘—�£<ùrY   z; }
);
z
cpu_kernel(iter,
  [=](c              3  ó@   "  € T F  qP                  4       x € K  	  R # 5ir=   rT   r%  s   & r'   rJ   r&  ð  r'  rY   )r   Ú	CPUScalarrš   r¤   Ú	CPUVectorÚ
isinstancer  r   rG   r   r   ÚScalarrŸ   r!   r
   r   r  r   r   r   rŒ   r�   r0   rŽ   r‰   ÚTensorr   rM   r‚   )r   r§   rµ   r¶   Úscalar_loopÚvec_loopr¾   r8   Úscalar_bindingsÚvec_bindingsrW   r"  Úbody_strry   s   &&&&         @r'   Úcompute_ufunc_cpu_dtype_bodyr4  “  sÁ  ø€ ô ×Ñ Ô,Ü ˜w b¨×)9Ñ)9Ó);Ð(<Ð=Ó>Ð>Ø×ÑÓ¤(×"4Ñ"4´h×6HÑ6HÐ!IÔIÜØJÈ;×K[ÑK[ÓK]ÐJ^Ð_ó
ð 	
ð œh×0Ñ0Õ1€KØ€HÜ×Ñ˜[Ô(Øœx×1Ñ1Õ2ˆð €DØ
€CÛˆÜ�a—j‘j¤(×+Ò+°·
±
·±Ä8Ü�M‰MóD
ô 1
ñ Ø�‰�h˜qŸv™v˜h c¨!¯&©&¨Ð1AÐBÔCØ�
‰
”4˜#˜aŸf™f˜X˜¬
°1·8±8·=±=Ä)ÌHÓBUÓ(VÓWÖXñ ð ÒÛˆAÜ˜!Ÿ*™*¤h×/Ò/°A·J±J·O±OÄxÜ—‘óHô 5ñ Ø�K‰KØ˜1Ÿ6™6˜(Ð"FÀqÇvÁvÀhÈbÐQôð �J‰JÜØ˜!Ÿ&™&˜�NÜ˜qŸx™xŸ}™}¬o¼iÌÓ>QÓ.RÓSóöñ ð" €OØ€LØ�\‰\×Ñ×(Ñ(×5Õ5ˆØ�v‰v×$Ñ$×&Ò&ÙØ�6‰6”XœfŸm™mÓ,Ô,Ü Ð#=¸a¿f¹f¸XÐ!FÓGÐGØ×ÑÜØ—V‘VÜ! !§&¡&¬)´HÓ*=Ó>Øôô	
ð ÔØ×ÑÜØŸ™Ü% a§f¡f¬o¼iÌÓ>QÓ.RÓSØô÷ñ 6÷*ð ð �y‰y˜‹€HØÒðØ	€
ð à‡y�yÑ3¡?Ó3Ó3Ð4°LÀ×AQÑAQÑRZÐ[jÓRkÓAlÐ@mð nØ‡y�yÑ0¡<Ó0Ó0Ð1°¸h¿m¹mÉHÐUaÓLbÓ>cÐ=dð eð	ð 	ðØ	€
ð à‡y�yÑ3¡?Ó3Ó3Ð4°LÀ×AQÑAQÑRZÐ[jÓRkÓAlÐ@mð nðð 	r*   c               ó    € V ^8„  d   QhRRRR/# rÃ   r%   )r&   s   "r'   r(   r(   ö  s   € ÷ ;ñ ;Ð 4ð ;¸ñ ;r*   c                ó¨  € \        V 4      pV P                  P                  p/ p\        P                  \        P
                  3 EFO  p. pWB9   d   VP                  V4       \        P                  V9   d4   V\        P                  J d    VP                  \        P                  4       \        P                  V9   d    VP                  \        P                  4       V F°  pW&,          P                   F—  pV\        P                  J d   \        \        4      pM3V\        P
                  J d   \        \        \        4      4      pM\        hVP                  V/ 4      p	WI9  g   Kt  \        V R W&,          P                    2VR7      W”&   K™  	  K²  	  EKR  	  . p
VP#                  4        F5  w  ryV
P                  RV R\%        WW‘P'                  4       4       R24       K7  	  RP)                  V
4      pRVP+                  4        RVP                    RV R	VP-                  4        R
VP/                  4        RVP                    RVP0                   R2# )r“   r”   rÅ   rÆ   rÇ   rC   z
namespace {

rÉ   rÊ   z#
  );
}

} // anonymous namespace

rÈ   z
REGISTER_DISPATCH(rË   z)
)rÑ   r•   r–   r   r*  r+  rŸ   r�   rž   r›   r   r   r   rš   rœ   rq   r!   rÐ   r4  r0   rM   rÔ   rÒ   rÓ   rÎ   )r   rÛ   r¢   Ú
ufunc_sigsr¥   Úlksr©   r§   rr   rÙ   rØ   rÚ   s   &           r'   Úcompute_ufunc_cpu_kernelr9  õ  s!  € ä˜QÓ€Hð �E‰E×"Ñ"€EØCE€JÜ× Ñ ¤(×"4Ñ"4Ô5ˆØˆàŒ:Ø�J‰J�qŒMÜ×Ñ %Ô'¨A´×1CÑ1CÓ,CØ�J‰J”x×*Ñ*Ô+Ü×Ñ˜uÔ$Ø�J‰J”x×'Ñ'Ô(ãˆBØ�×3Ô3�àœ×*Ñ*Ó*Ü )¬(Ó 3‘IØœ(×,Ñ,Ó,Ü /´	¼(Ó0CÓ D‘Iä(Ð(Ø#-×#8Ñ#8¸ÀÓ#CÐ ØÖ,Ü*8Ø '¨%­)¯.©.Ð)9Ð :Àiô+Ð$Ó'ó 4ô ñ 6ð4 €KØ#-×#3Ñ#3Ö#5ÑˆØ×Ñð"Ø"' ð )ä! !Ð,<×>PÑ>PÓ>RÓSÐTð Uðö	
ñ $6ð —i‘i Ó,€Oðð 
×ÑÓÐ ð ,Ø,4¯M©M¨?ð ;ØÐð ð 
×ÑÓÐ ð Ø	×ÑÓÐ ð Ø—=‘=�/  X×%9Ñ%9Ð$:ð ;ðð r*   )2Ú
__future__r   Údataclassesr   Útypingr   Útorchgen.api.ufuncÚapir,   Útorchgen.api.translater   Útorchgen.api.typesr   r   r	   r
   r   r   r   r   r   Útorchgen.contextr   Útorchgen.modelr   r   r   r   r   r   r   Útorchgen.utilsr   Úcollections.abcr   r   r   rq   r�   r¬   r®   r˜   r—   r¼   rÁ   rÜ   rÑ   r  r4  r9  r%   r*   r'   Ú<module>rE     s^  ðÝ "å !Ý  ç "Ð "Ý ,÷
÷ 
õ 
õ 2÷÷ ñ õ &÷ Ý(å3ñ@ �$Ô÷Pð Pó ðPñD �$Ô÷	]ð 	]ó ð	]õ<õS/ñl �$Ô÷ð ó ðñ %ØØØ×-Ñ-ôñ
 %ØØØ×,Ñ,ôð%Ð !õ,ð^ ô&ó ð&ñ` �$Ô÷(kð (kó ð(kðV ôó ðõ_ðD ô;ó ò;r*   