+
    ˜°³jêy  ã                  ót  a € 0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RIHtHt ^ RIHt ^ RIHt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HtH t H!t!H"t"H#t# ^ R
I$H%t%H&t& ]
'       d   ^ RI'H(t( ]PR                  R]PT                  R]PV                  R]PX                  R]PZ                  R]P\                  R]P^                  R]P`                  R]Pb                  R]Pd                  R]Pf                  R]Ph                  R/t5]PR                  R]PT                  R]PV                  R]PX                  R]PZ                  R]P\                  R]P^                  R]P`                  R]Pb                  R]Pd                  R]Pf                  R]Ph                  R/t6]PR                  R]PT                  R]PV                  R]PX                  R]PZ                  R]P\                  R]P^                  R]P`                  R]Pb                  R]Pd                  R ]Pf                  R!]Ph                  R"/t7RFR# R$ llt8R% R& lt9R' R( lt:R) R* lt;/ s<R+]=R,&   ]P|                  ! R-4      t?R. R/ lt@R0 R1 ltAR2 R3 ltBRGR4 R5 lltCR6 R7 ltDR8 R9 ltER: R; ltFR< R= ltG]! R>R?7       ! R@ RA4      4       tHRHRB RC lltIRD RE ltJR# )Ié    )ÚannotationsN)Ú	dataclass)ÚTYPE_CHECKING)Úaten_shimified_opsÚinductor_fallback_ops)ÚDispatcherSignature)ÚCppSignatureÚCppSignatureGroup)Úmethod_with_native_function)ÚArgumentÚBackendIndexÚBaseTyÚBaseTypeÚDispatchKeyÚFunctionSchemaÚis_cuda_dispatch_keyÚListTypeÚNativeFunctionÚNativeFunctionsGroupÚOperatorNameÚOptionalTypeÚTypeÚVariant)ÚFileManagerÚmapMaybe)ÚSequenceÚAtenTensorHandleÚint32_tÚint64_tÚdoublezconst char*ÚAtenGeneratorHandleú
at::TensorÚboolzc10::SymIntzc10::Scalarz::std::string_viewzc10::DeviceIndexzc10::Layoutzc10::MemoryFormatzc10::ScalarTypezat::GeneratorÚresolve_tensor_dispatch_flagsÚ zstatic_cast<c10::DeviceIndex>zstatic_cast<c10::Layout>zstatic_cast<c10::MemoryFormat>zstatic_cast<c10::ScalarType>z&*generator_handle_to_generator_pointerc               ó(   € V ^8„  d   QhRRRRRRRR/# )	é   Útypr   ÚnameÚstrÚis_writer#   Úreturnz1tuple[list[str], list[str], list[str], list[str]]© )Úformats   "ÚY/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchgen/gen_aoti_c_shim.pyÚ__annotate__r0   T   s<   € ÷ uKñ uKØ	ðuKà
ðuKð ðuKð 7ñ	uKó    c                óv  € \        V \        4      '       Ed   V P                  \        9   d    V P                  \        P
                  8X  d   V'       d	   R V R2.pM=\        V P                  ,          '       d   \        V P                  ,           RV R2MT.p\        V P                  ,          .V.\        V P                  ,          .V3# V P                  \        P                  8X  d   RR.WR,           .R.RV RV R2.3# \        R	\        V 4       24      h\        V \        4      '       Ed‚   \        V P                  V4      w  rErg^ p. p	. p
V EFU  pWH,          R
,           WH&   VP                  R4      '       d]   V	P                  RV R24       V\!        R4      R& pV
P                  RV RWX,           RWX^,           ,           R24       V^,          pKˆ  VR8X  dH   V	P                  R4       V
P                  RWX,           RWX^,           ,           R24       V^,          pKÖ  VR8X  d=   V	P                  RV R24       V
P                  RWX,           R24       V^,          pEK  V	P                  RV R24       V
P                  RV RWX,           R24       V^,          pEKX  	  VVV	V
3# \        V \"        4      '       EdU   \        V P                  V4      w  rErm\!        V4      ^8w  d   \%        R\        V 4       24      hRV^ ,           R
2V^ &   VP                  R4       V^ ,          pVP                  VR,           4       V^ ,          p. pVR8X  d=   V P&                  f   \%        R4      hVP                  RV P&                   RV R24       MiVR8X  d"   V'       g   VP                  RV RV R24       MAVR8X  d    VP                  R V R!V R"V RV R#2	4       MVP                  RV RV RV R24       V Uu. uF	  pRV R2NK  	  ppVVVV3# \        R$\        V 4       R%24      hu upi )'z!*tensor_handle_to_tensor_pointer(Ú)Ú(r   Ú_index_zc10::Devicez)c10::Device(static_cast<c10::DeviceType>(z!), static_cast<c10::DeviceIndex>(z	_index_))zTODO: add support for arg type Ú*zc10::ArrayRef<z::std::optional<Ú>zpointer_to_optional_list<z>(ú, z::std::optional<c10::Device>zpointer_to_optional_device(r"   zresolve_tensor_dispatch_flags(zpointer_to_optional<z'ListType with unsupported element type zconst r   Ú_len_r#   zbool ListType must have a sizezpointer_to_list<z#resolve_tensor_list_dispatch_flags(z_len_)z::std::optional<at::Tensor>z
c10::List<z>(c10::ArrayRef<z%>(resolve_tensor_list_dispatch_flags(z_len_)))zArgument type z not supported!éÿÿÿÿ)Ú
isinstancer   r)   Úbase_type_to_c_typer   ÚTensorÚbase_type_to_callsite_exprÚbase_type_to_aten_typeÚDeviceÚNotImplementedErrorÚreprr   Úconvert_arg_type_and_nameÚelemÚ
startswithÚappendÚlenr   ÚAssertionErrorÚsize)r(   r)   r+   Úcallsite_exprÚc_typesÚnamesÚ
aten_typesÚcallsite_exprsÚjÚnew_aten_typesÚnew_callsite_exprsÚ	aten_typeÚ	base_typeÚ_ÚatypeÚts   &&&             r/   rC   rC   T   s|  € ô
 �#”x× Ó Ø�8‰8Ô*Ô*Ø�x‰xœ6Ÿ=™=Ô(¯Xð $EÀTÀFÈ!Ð!LÐ M‘ô 2°#·(±(×;Ô;ô 2°#·(±(Õ;Ð<¸A¸d¸VÀ1ÑEàð!�ô % S§X¡XÕ.Ð/Ø�Ü'¨¯©Õ1Ð2Øð	ð ð �X‰XœŸ™Ô&à˜IÐ&Ø˜iÕ'Ð(Ø�à?À¸vÐEfÐgkÐflÐluÐvðð	ð ô &Ð(GÌÈSË	À{Ð&SÓTÐTÜ	�Cœ×	&Ó	&Ü5NØ�H‰H�dó6
Ñ2ˆ˜
ð ˆØˆØÐÜ#ˆIà � cÕ)ˆG‰JØ×#Ñ#Ð$4×5Ò5à×%Ñ%Ð(8¸¸À1Ð&EÔFØ%¤cÐ*:Ó&;¸bÐA�	Ø"×)Ñ)Ø/°	¨{¸"¸U½X¸JÀbÈÐSTÍuÍÈÐVWÐXôð �Q•’Ø˜mÔ+à×%Ñ%Ð&DÔEØ"×)Ñ)Ø1°%µ(°¸2¸eÈÅE½l¸^È1ÐMôð �Q•’Ø˜lÔ*Ø×%Ñ%Ð(8¸¸À1Ð&EÔFØ"×)Ñ)Ð,JÈ5Í8È*ÐTUÐ*VÔWØ�Q•“à×%Ñ%Ð(8¸¸À1Ð&EÔFØ"×)Ñ)Ø*¨9¨+°R¸½°zÀÐCôð �Q•“ñ7 $ð< ØØØð	
ð 	
ô 
�Cœ×	"Ó	"ä(AÀ#Ç(Á(ÈDÓ(QÑ%ˆ˜
Üˆw‹<˜1ÔÜ Ð#JÌ4ÐPSË9È+Ð!VÓWÐWð ˜g a�j˜\¨Ð+ˆ�‰
Ø�‰�yÔ!Ø�Q�xˆØ�‰�T˜G•^Ô$à˜1•ˆØˆØ�FŒ?ð �x‰xÒÜ$Ð%EÓFÐFØ×!Ñ!Ð$4°S·X±X°J¸bÀÀÀaÐ"HÕIØ�lÔ"¯8Ø×!Ñ!Ø5°d°V¸2¸d¸VÀ6ÐJõð Ð3Ô3à×!Ñ!Ø˜U˜GÐ#3°E°7Ð:_Ð`dÐ_eÐegÐhlÐgmÐmuÐvõð ×!Ñ!Ð$4°U°G¸2¸d¸VÀ2ÀdÀVÈ6Ð"RÔSá5?Ó@±Z°˜ q c¨Ó+±Zˆ
Ð@àØØØð	
ð 	
ô  ¬t°C«y¨k¸ÐIÓ
JÐJùò As   ÐP6c               ó$   € V ^8„  d   QhRRRRRR/# )r'   Útypesz	list[str]rL   r,   r-   )r.   s   "r/   r0   r0   Ì   s&   € ÷ Añ A˜Yð A¨yð A¸Yñ Ar1   c                óh   € \        W4       UUu. uF  w  r#VR ,           V,           NK  	  upp# u uppi )Ú )Úzip)rX   rL   r(   r)   s   &&  r/   Úzip_type_and_namer\   Ì   s/   € Ü.1°%Ô.?Ô@Ñ.?¡ ˆC�#�I˜×ÐÑ.?Ò@Ð@ùÓ@s   �.c               ó$   € V ^8„  d   QhRRRRRR/# )r'   Úflat_argumentszSequence[Argument]Úskipped_argszset[str]r,   útuple[list[str], list[str]]r-   )r.   s   "r/   r0   r0   Ñ   s$   € ÷ ?ñ ?Ø&ð?Ø6>ð?à ñ?r1   c           	     óÊ  € . p. p. pV  FË  pVP                   V9   dW   VP                  e6   ^ RIHp VP	                  V! VP                  VP
                  RR7      4       MVP	                  R4       Kj  \        VP
                  VP                   VP                  4      w  rxršVP                  V4       VP                  V4       VP                  V
4       KÍ  	  \        W#4      V3# )N)Údefault_exprF)Úsymintzstd::nullopt)
r)   ÚdefaultÚtorchgen.api.cpprb   rF   ÚtyperC   r+   Úextendr\   )r^   r_   rX   Ú	new_namesrN   Úargrb   Ú	new_typesrL   rT   rQ   s   &&         r/   Úgen_argumentsrk   Ñ   sÈ   € ð €EØ€IØ "€NÛˆØ�8‰8�|Ô#ð
 �{‰{Ò&Ý9à×%Ñ%¡l°3·;±;ÀÇÁÐQVÔ&WÕXà×%Ñ% nÔ5ÙÜ2KØ�H‰H�c—h‘h §¡ó3
Ñ/ˆ	˜!ð 	�‰�YÔØ×Ñ˜ÔØ×ÑÐ0Ö1ñ% ô& ˜UÓ.°Ð>Ð>r1   c               ó    € V ^8„  d   QhRRRR/# )r'   Úschemar   r,   r`   r-   )r.   s   "r/   r0   r0   ð   s   € ÷ 4;ñ 4;˜ð 4;Ð+Fñ 4;r1   c           
     óÖ  € . p. p\        V P                  4       F°  w  r4VP                  R V 24       \        VP                  \
        4      '       dY   VP                  P                  \        9   d:   VP                  \        VP                  P                  ,          R,           4       K‘  \        R\        VP                  4       24      h	  R R lpRpV P                  P                  4       pR F  pW‡9   g   K  Rp M	  . p	\        V P                  4       FÀ  w  r4\        V4      ^8X  d   RMRV R	2p
\        VP                  \
        4      '       g"   \        R
\	        VP                  4       24      hV! VP                  V
4      pV'       d*   V	P                  RW#,           RW#,           RV R24       K¢  V	P                  RW#,           RV R24       KÂ  	  \        W4      V	3# )Úretr6   z"TODO: add support for return type c               ó$   € V ^8„  d   QhRRRRRR/# )r'   r(   r   Úvalr*   r,   r-   )r.   s   "r/   r0   Ú!gen_returns.<locals>.__annotate__ü   s!   € ÷ ñ ˜Hð ¨3ð °3ñ r1   c                óà   € V P                   \        P                  8X  d   R V R2# V P                   \        P                  8X  d   V R2# V P                   \        P                  8X  d   V R2# V# )znew_tensor_handle(std::move(z))z.expect_int()z.toDouble())r)   r   r=   ÚSymIntÚScalar)r(   rq   s   &&r/   Úconvert_returnÚ#gen_returns.<locals>.convert_returnü   s`   € Ø�8‰8”v—}‘}Ô$Ø1°#°°bÐ9Ð9Ø�X‰XœŸ™Ô&Ø�U˜-Ð(Ð(Ø�X‰XœŸ™Ô&Ø�U˜+Ð&Ð&àˆJr1   FTÚ
tmp_resultz	std::get<z>(tmp_result)z"Expected BaseType for return, got zif (z) { *z = z; }Ú;)Ú_functional_sym_constrain_rangeÚ#_scaled_dot_product_cudnn_attentionÚ0_scaled_dot_product_efficient_attention_backwardÚ'_scaled_dot_product_efficient_attentionÚ#_scaled_dot_product_flash_attentionÚ0_scaled_dot_product_fused_attention_overrideableÚ#_thhn_fused_lstm_cell_backward_implÚconvolution_backwardÚgrid_sampler_2d_backwardÚgrid_sampler_3d_backwardÚlinear_backward)Ú	enumerateÚreturnsrF   r;   rf   r   r)   r<   rA   rB   Úunambiguous_namerG   rH   r\   )rm   rX   rL   Úidxro   rv   Úret_pointer_can_be_nullr‡   r)   rN   ÚtmpÚrvals   &           r/   Úgen_returnsrŒ   ð   sž  € Ø€EØ€EÜ˜fŸn™nÖ-‰ˆØ�‰�s˜3˜%�[Ô!Ü�c—h‘h¤×)Ò)¨c¯h©h¯m©mÔ?RÔ.RØ�L‰LÔ,¨S¯X©X¯]©]Õ;¸cÕAÖBä%Ø4´T¸#¿(¹(³^Ð4DÐEóð ñ .õð $ÐØ—{‘{×3Ñ3Ó5Ðóˆð Ö#Ø&*Ð#Ùñð" !#€NÜ˜fŸn™nÖ-‰ˆÜ! %›j¨Aœo‰l°Y¸s¸eÀ=Ð3QˆÜ˜#Ÿ(™(¤H×-Ò-Ü Ð#EÄdÈ3Ï8É8ÃnÐEUÐ!VÓWÐWÙ˜cŸh™h¨Ó,ˆß"Ø×!Ñ! D¨­¨°F¸5½:¸,ÀcÈ$ÈÈtÐ"TÖUà×!Ñ! A e¥j \°°T°F¸!Ð"<Ö=ñ .ô ˜UÓ*¨NÐ:Ð:r1   z+dict[tuple[str, str, str], tuple[str, str]]Údeclaration_definition_cachez^TORCH_VERSION_\d+_\d+_\d+$c               ó$   € V ^8„  d   QhRRRRRR/# )r'   Úop_metadataú+dict[str, str | dict[str, list[str] | str]]Ú
op_versionÚintr,   ú
str | Noner-   )r.   s   "r/   r0   r0   .  s&   € ÷ ñ Ø<ðàðð ñr1   c                ó@  € V^8X  d   V P                  R4      pM=V P                  RV 24      p\        V\        4      '       d   VP                  R4      MRpVf   R# \        V\        4      '       d   \        P                  V4      '       g   \        RV: R24      hV# )aâ  
Return the TORCH_VERSION_X_Y_Z macro string at which the given op variant became
available, or None if the variant is ungated.

op_metadata contains the entry for an op in a dictionary like aten_shimified_ops
in torchgen/aoti/fallback_ops.py

op_version is the integer extracted from a "vN" key in `op_metadata`. The base op
has op_version == 1 and reads from a top-level "since" key; later variants read
"since" from their own dict-form entry {"new_args": [...], "since": "..."}.
ÚsinceÚvNz`since` value z' is not of the form TORCH_VERSION_X_Y_Z)Úgetr;   Údictr*   Ú_TORCH_VERSION_PATTERNÚmatchrH   )r�   r‘   r•   Úvariants   &&  r/   Ú*_get_earliest_torch_version_for_op_variantrœ   .  s‘   € ð �Q„Ø—‘ Ó(‰à—/‘/ A j \Ð"2Ó3ˆÜ(2°7¼D×(AÒ(A�—‘˜GÔ$ÀtˆØ‚}ÙÜ�eœS×!Ò!Ô)?×)EÑ)EÀe×)LÒ)LÜØ˜U™IÐ%LÐMó
ð 	
ð €Lr1   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r'   rm   r   Údevicer*   Úbackend_callr�   r�   r,   ztuple[str, str]r-   )r.   s   "r/   r0   r0   K  sH   € ÷ nKñ nKØðnKàðnKð ðnKð =ð	nKð
 ñnKr1   c                ó  a€ V P                   P                  4       pWAV3\        9   d   \        WAV3,          # ^. /p\        VP	                  4       4       FÇ  w  rgVR8X  d   K  VP                  R4      '       g   \        RV RV R24      h \        VR,          4      pY…9   d   \        T R	T R
24      h\        T\        4      '       g   \        RT R	T R24      hTP                  R. 4      p
\        T
\        4      '       g   \        RT R	T R24      hY¥T&   KÉ  	  . p. p\        4       p\        VP	                  4       RR7       EFÞ  w  rŠV^8X  d   TMV RV 2pV P                  4       '       d?   \        . V P                   P"                  OV P                   P$                  OV4      w  pp. pMl\        V P                   P&                  V4      w  ppV P                   P                   P(                  '       d   . . 3M
\+        V 4      w  ppVP-                  V4       \.        P0                  ! RV RV RRP3                  V4       R24      pV'       d   RMRpRoV'       d   RP3                  V3R lV 4       4      MRp\.        P0                  ! RV RV V RRP3                  V4       R24      V,           \.        P0                  ! R 4      ,           pVP5                  V
4       R!V R"2p\7        W84      pVe   R#V RV R$V 2pVP9                  V4       VP9                  V4       EKá  	  RP3                  V4      RP3                  V4      3\        WAV3&   \        WAV3,          #   \         d   p	\        RT RT R24      T	hRp	?	ii ; i)%é   r•   r–   zVersion number for z is z, not starting with 'v':r¡   NNz, not a valid integer after 'v'Nz for z has already been definedzVariant zO must be a dict of the form {'new_args': [...], 'since': 'TORCH_VERSION_X_Y_Z'}Únew_argsza has non-list 'new_args' field when a list of arg names differing from prev versions is expected.T)ÚreverseÚ_vzAOTITorchError aoti_torch_rT   r4   r8   r3   zauto tmp_result = r%   z		Ú
c              3  ó6   <"  € T F  pSV,           x € K  	  R # 5i©Nr-   )Ú.0ÚrÚindents   & €r/   Ú	<genexpr>Ú1gen_declaration_and_definition.<locals>.<genexpr>™  s   øé € Ð:©/ Q�f˜q—j’j«/ùs   ƒz	
        zL {
            AOTI_TORCH_CONVERT_EXCEPTION_TO_ERROR_CODE({
                z(
                    z
                );
        z#
            });
        }
        zAOTI_TORCH_EXPORT ry   z#if TORCH_FEATURE_VERSION >= z$
#endif // TORCH_FEATURE_VERSION >= )r)   r‡   r�   ÚsortedÚitemsrE   rH   r’   Ú
ValueErrorr;   r˜   r—   ÚlistÚsetÚ	is_out_fnrk   Ú	argumentsÚoutÚflat_non_outÚflat_allÚinplacerŒ   rg   ÚtextwrapÚdedentÚjoinÚupdaterœ   rF   )rm   rž   rŸ   r�   Ú	base_nameÚindexed_op_metadataÚver_strÚpayloadÚver_idÚer¢   ÚdeclarationsÚdefinitionsr_   Ú	func_nameÚargsrN   Úret_assignmentsÚret_declarationsÚdeclarationrx   Úret_assignments_strÚ
definitionÚdeclr•   rª   s   &&&&                     @r/   Úgen_declaration_and_definitionrÌ   K  s÷  ø€ ð —‘×,Ñ,Ó.€Ið 	˜<Ð(Ô,HÔHÜ+¨YÀÐ,MÕNÐNð
 23°B°ÐÜ" ;×#4Ñ#4Ó#6Ö7Ñˆà�gÔÙØ×!Ñ! #×&Ò&Ü Ø% i [°°W°IÐ=TÐUóð ð	Ü˜ �Ó%ˆFð
 Ô(Ü  G 9¨E°)°Ð<UÐ!VÓWÐWÜ˜'¤4×(Ò(Ü Ø˜7˜) 5¨¨ð 4Fð Fóð ð —;‘;˜z¨2Ó.ˆÜ˜(¤D×)Ò)Ü Ø˜7˜) 5¨¨ð 4Nð Nóð ð '/˜FÓ#ñ7 8ð: !€LØ€KÜ ›U€Lä"Ð#6×#<Ñ#<Ó#>È×MÐMÑˆð "(¨1¤‘I°Y°K¸rÀ&ÀÐ2Jˆ	Ø×Ñ×Òô $1ØG�&×"Ñ"×&Ñ&ÐG¨×)9Ñ)9×)FÑ)FÐGÈó$Ñ ˆD�.ð *,‰Oä#0Ø× Ñ ×)Ñ)¨<ó$Ñ ˆD�.ð
 #ŸK™K×,Ñ,×4×4Ð4��R‘¼+ÀfÓ:Mñ .Ð˜oð �K‰KÐ(Ô)ä—o’oØ(¨¨°°)°¸A¸d¿i¹iÈ»oÐ=NÈaÐPó
ˆ÷ .=Ñ)À"ˆ
Øˆç>MˆD�I‰IÔ:©/Ó:Ô:ÐSUð 	ô �OŠOð !	Ø	ˆð à�˜\˜Nð +Ø—Y‘Y˜~Ó.Ð/ð 0	ð	ó ð "õ"ô �oŠoð ó õð 	ð 	×Ñ˜HÔ%Ø# K =°Ð2ˆÜ:¸;ÓOˆØÒà/°¨w°bØ�&ð 6Ø6;°Wð>ð ð
 	×Ñ˜DÔ!Ø×Ñ˜:×&ño Nðt 	�	‰	�,ÓØ�	‰	�+ÓðGÔ  )°\Ð!BÑCô (¨¸LÐ(IÕJÐJøôi ô 	Ü Ø% i [°°W°IÐ=\Ð]óàðûð	ús   ÂM&Í&N	Í1NÎN	c               ó    € V ^8„  d   QhRRRR/# )r'   Úfr   r,   r	   r-   )r.   s   "r/   r0   r0   ¼  s   € ÷ ñ °.ð À\ñ r1   c                óZ  € \         P                  ! V P                  4      p\        P                  ! V R R R7      pVP
                  '       d.   V P                  P                  4       '       d   VP                  pMVP                  pVf#   \        RV P                  P                   24      hV# )F)ÚmethodÚfallback_bindingzNo cpp signature found for )r   Úfrom_schemaÚfuncr
   Úfrom_native_functionrc   Ú
has_symintÚsymint_signatureÚ	signaturerH   r)   )rÎ   ÚsigÚcpp_sigsÚcpp_sigs   &   r/   Ú*gen_static_dispatch_backend_call_signaturerÛ   ¼  s…   € Ü
×
)Ò
)¨!¯&©&Ó
1€CÜ ×5Ò5Ø	�%¨%ô€Hð ‡z‡z€z�a—f‘f×'Ñ'×)Ò)Ø×+Ñ+‰à×$Ñ$ˆØ‚ÜÐ:¸1¿6¹6¿;¹;¸-ÐHÓIÐIØ€Nr1   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   rÎ   r   Úbackend_indexúBackendIndex | Noner,   r*   r-   )r.   s   "r/   r0   r0   Ê  s+   € ÷ Mñ MØðMà&ðMð 	ñMr1   c                óÞ  € \         P                  ! V P                  4      p\        V 4      pVf’   VP                  '       dm   V P                  P                  4       '       dM   \        P                  V P                  9   pV'       g(   VP                  4       pVP                  R4      pRV R2# RVP                  4        2# RVP                  P                  4        RVP                  4        2# )NÚ_symintzat::symint::z<c10::SymInt>zat::z::)r   rÒ   rÓ   rÛ   rc   rÕ   r   ÚfunctionÚvariantsr)   ÚremovesuffixÚdispatch_keyÚlower)rÎ   rÝ   rØ   rÚ   Úhas_function_variantr¼   s   &&    r/   Ú gen_static_dispatch_backend_callrç   Ê  sÅ   € ô ×
)Ò
)¨!¯&©&Ó
1€CÜ8¸Ó;€GàÒà�:�:ˆ:˜!Ÿ&™&×+Ñ+×-Ò-Ü#*×#3Ñ#3°q·z±zÑ#AÐ ç'ð $ŸL™L›N�	Ø%×2Ñ2°9Ó=�	Ø% i [°Ð>Ð>à�g—l‘l“nÐ%Ð&Ð&à�m×0Ñ0×6Ñ6Ó8Ð9¸¸G¿L¹L»NÐ;KÐLÐLr1   c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r'   rÓ   r   Úfunc_group_mappingú(dict[OperatorName, NativeFunctionsGroup]rä   úDispatchKey | NoneÚbackend_indicesúdict[DispatchKey, BackendIndex]Úextend_aoti_c_shimr#   r,   rÞ   r-   )r.   s   "r/   r0   r0   å  sD   € ÷ 'ñ 'Ø
ð'à@ð'ð %ð'ð 5ð	'ð
 ð'ð ñ'r1   c                óª  € R pVf   V# W2,          P                  V 4      '       gM   V P                  eI   V P                  V9   d8   W2,          P                  WP                  ,          4      '       d   W2,          pV# V'       d   V# V\        P                  ,          P                  V 4      '       d   V\        P                  ,          pV# V\        P                  ,          P                  V 4      '       d   V\        P                  ,          pV# V\        P
                  ,          P                  V 4      '       d   V\        P
                  ,          pV# r§   )Ú
has_kernelÚstructured_delegater   ÚCompositeExplicitAutogradÚ&CompositeExplicitAutogradNonFunctionalÚCompositeImplicitAutograd©rÓ   ré   rä   rì   rî   rÝ   s   &&&&& r/   Úget_backend_index_for_aotirö   å  s*  € ð €MàÒØÐàÕ$×/Ñ/°×5Ò5Ø× Ñ Ò,Ø×$Ñ$Ð(:Ô:ØÕ)×4Ñ4Ø×7Ñ7Õ8÷
ò 
ð (Õ5ˆð( Ð÷! Ø Ð àœ[×BÑBÕC×NÑNÈt×TÒTà+¬K×,QÑ,QÕRˆMð Ðð Ü×>Ñ>õ
ç
‰*�TÓ
öð ,Ü×BÑBõˆMð Ðð œ[×BÑBÕC×NÑNÈt×TÒTØ+¬K×,QÑ,QÕRˆMàÐr1   c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r'   rÓ   r   ré   rê   rä   rë   rì   rí   rî   r#   r,   r“   r-   )r.   s   "r/   r0   r0     sL   € ÷ cñ cØ
ðcà@ðcð %ðcð 5ð	cð
 ðcð ñcr1   c                ó¦   € \        WW#V4      pVf   Vf   RV P                   R2# R # RV P                   RVP                  P                  4        R2# )Nz#include <ATen/ops/z.h>rT   z_dispatch.h>)rö   Ú	root_namerä   rå   rõ   s   &&&&& r/   Úget_header_for_aotirú     sf   € ô /Ø ,ÐASó€Mð ÒØÒØ(¨¯©Ð(8¸Ð<Ð<Ùà  §¡Ð 0°°-×2LÑ2L×2RÑ2RÓ2TÐ1UÐUaÐbÐbr1   c               ó    € V ^8„  d   QhRRRR/# )r'   rÓ   r   r,   r*   r-   )r.   s   "r/   r0   r0   !  s   € ÷ ñ ˜~ð °#ñ r1   c                óN  € V P                   P                  P                  '       dQ   V P                   R V P                   P                  P                   R V P                   P                  P                   2# V P                   R V P                   P                  P                   R2# )Ú.z.default)rÓ   r)   Úoverload_nameÚ	namespace)rÓ   s   &r/   Úget_fallback_op_namer   !  s�   € ð �9‰9�>‰>×'×'Ð'ð �>‰>Ð
˜!˜DŸI™IŸN™N×/Ñ/Ð0°°$·)±)·.±.×2NÑ2NÐ1OÐPðð —‘Ð˜q §¡§¡×!4Ñ!4Ð 5°XÐ>ðr1   c               ó8   € V ^8„  d   QhRRRRRRRRR	R
RRRRRR/# )r'   rÓ   r   Úversion_infor�   ré   rê   rä   rë   rì   rí   Úheaderr#   rî   r,   r“   r-   )r.   s   "r/   r0   r0   )  sY   € ÷ #ñ #Ø
ð#à=ð#ð Að#ð %ð	#ð
 5ð#ð ð#ð ð#ð ñ#r1   c                ó  € \        WW4V4      pVf   Ve   R # V P                  pVf   RMVP                  4       p	\        V V4      p
 V'       d   \	        W‰W¡4      w  r¼V# \	        W‰W¡4      w  rÍV#   \
         d     R # i ; i)NÚaten)rö   rÓ   rå   rç   rÌ   rA   )rÓ   r  ré   rä   rì   r  rî   rÝ   rm   rž   rŸ   rÈ   rT   rÊ   s   &&&&&&&       r/   Ú
gen_c_shimr  )  s    € ô /Ø ,ÐASó€Mð Ò Ò!9Ùà�Y‰Y€FØ#Ò+‰V°×1CÑ1CÓ1E€FÜ3ØØó€Lð
ßÜ;Ø ó‰NˆKð Ðä:Ø ó‰MˆAð Ðøäô Úðús   ÁA/ ÁA/ Á/A>Á=A>T)Úfrozenc                  ój   € ] tR tRt$ R]R&   R]R&   R]R&   R]R	&   R
]R&   R
]R&   ]R R l4       tRtR# )ÚShimGeneratoriO  ú6dict[str, dict[str, str | dict[str, list[str] | str]]]r   rê   ré   rë   rä   rí   rì   r#   r  rî   c               ó    € V ^8„  d   QhRRRR/# )r'   rÓ   r   r,   r“   r-   )r.   s   "r/   r0   ÚShimGenerator.__annotate__Y  s   € ÷ ñ àðð 
ñr1   c           	     	óÄ   € V P                   \        V4      ,          p\        VVV P                  V P                  V P
                  V P                  V P                  4      pV# r§   )r   r   r  ré   rä   rì   r  rî   )ÚselfrÓ   r  Úresults   &&  r/   Ú__call__ÚShimGenerator.__call__X  s\   € ð
 ×1Ñ1Ô2FÀtÓ2LÕMˆÜØØØ×#Ñ#Ø×ÑØ× Ñ Ø�K‰KØ×#Ñ#ó
ˆð ˆr1   r-   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r   r  Ú__static_attributes__r-   r1   r/   r	  r	  O  s7   ‡ àQÓQØ@Ó@Ø$Ó$Ø4Ó4ØƒLØÓà ôó !ôr1   r	  c               ó<   € V ^8„  d   QhRRRRRRRRR	R
RRRRRRRR/	# )r'   Únative_functionsúSequence[NativeFunction]r   r
  ré   rê   rä   rë   rì   rí   r  r#   rî   Úincludesr*   r,   r-   )r.   s   "r/   r0   r0   j  sn   € ÷ Z
ñ Z
Ø.ðZ
àQðZ
ð AðZ
ð %ð	Z
ð
 5ðZ
ð ðZ
ð ðZ
ð ðZ
ð 	ñZ
r1   c                ó.  € R P                  \        \        \        VVVVVV4      V 4      4      4      pVf   RMVP	                  4       p	Vf   RMR\        V4       R2p
Vf   RMRpRpV'       dG   VV,           \        P                  ! R4      ,           V,           \        P                  ! R	4      ,           # VV,           \        P                  ! R
V'       d   RMR RV	 RV
 R24      ,           V,           \        P                  ! R4      ,           V,           # )r¥   r  z#include <ATen/Functions.h>z#include <ATen/zFunctions.h>z[

// This file corresponds to the aten_shimified_ops list in torchgen/aoti/fallback_ops.py
r%   zÌ

// WARNING: THIS FILE IS AUTOGENERATED BY torchgen. DO NOT MODIFY BY HAND.
// See https://github.com/pytorch/pytorch/blob/7e86a7c0155295539996e0cf422883571126073e/torchgen/gen.py#L2424-L2436 for detailsz´

            #pragma once

            #include <torch/csrc/inductor/aoti_torch/c/shim.h>

            #ifdef __cplusplus
            extern "C" {
            #endif

            z\

            #ifdef __cplusplus
            } // extern "C"
            #endif
            zA

            #include <torch/csrc/inductor/aoti_torch/generated/zextend/Úc_shim_z{.h>
            #include <torch/csrc/inductor/aoti_torch/utils.h>

            #ifndef AT_PER_OPERATOR_HEADERS
            zï
            #include <ATen/CompositeExplicitAutogradFunctions.h>
            #include <ATen/CompositeExplicitAutogradNonFunctionalFunctions.h>
            #include <ATen/CompositeImplicitAutogradFunctions.h>
            #else
            zn
            #endif // AT_PER_OPERATOR_HEADERS

            using namespace torch::aot_inductor;

            )rº   r°   r   r	  rå   r*   r¸   r¹   )r  r   ré   rä   rì   r  rî   r  Úbodyrž   Úinclude_device_functionsÚaten_warningÚwarnings   &&&&&&&&     r/   Úgen_aoti_c_shimr"  j  sj  € ð �9‰9ÜÜÜØ)Ø&Ø Ø#ØØ&óð !ó
ó	
ó€Dð $Ò+‰V°×1CÑ1CÓ1E€Fð Òñ 	&àœs <Ó0Ð1°Ð>ð ð Òñ mð ð ðC€G÷
 àØõä�oŠoð 
ó 
õð õô �oŠoð ó õð	
ð0 Øõä�oŠoð #@çM_Á	ÐegÐ?hÐhoÐpvÐowð xð &Ð&ð 'ðó õð õô �oŠoð ó õð* õ+ð	
r1   c               ó<   € V ^8„  d   QhRRRRRRRRR	R
RRRRRRRR/	# )r'   Úaoti_fmr   Úaoti_backendszset[DispatchKey | None]r  r  rì   rí   Ústructured_native_functionszSequence[NativeFunctionsGroup]Úextra_cuda_headersr*   rî   r#   Úupdate_aoti_c_shimr,   ÚNoner-   )r.   s   "r/   r0   r0   Ç  sn   € ÷ |
ñ |
Øð|
à*ð|
ð /ð|
ð 5ð	|
ð
 "@ð|
ð ð|
ð ð|
ð ð|
ð 
ñ|
r1   c                ó  aaaaaaaaa€ / oV F:  pVP                  4        F#  p	V	P                  f   K  VSV	P                  &    K8  	  K<  	  V EFØ  oSf   \        M\        o/ p
V F  p	\	        V	4      pVS9   g   K  WšV&   K  	  \
        ;QJ d+    . R \        V
P                  4       4       4       F  NK  	  5M$! R \        V
P                  4       4       4       4      oSf   RMSP                  4       pRV R2p\        SSSSSRSRR7      oV'       d   V P                  VV3R l4       M² \        \        P                  P                  V P                  V4      4      ;_uu_ 4       pVP!                  4       pVS8w  dV   R	P                  \"        P$                  ! VP'                  4       SP'                  4       R
RRR7      4      p\)        RV R24      h R R R 4       R VVVVV3R lloSe   \/        S4      '       d   TMRoV P                  RV R2VVVVVVVV3R l4       EKÛ  	  R #   + '       g   i     L^; i  \*         d:    \-        \        P                  P                  T P                  T4       R24        L¤i ; i)Nc              3  ó*   "  € T F	  w  rVx € K  	  R # 5ir§   r-   )r¨   rT   Úvalues   &  r/   r«   Ú(gen_aoti_c_shim_files.<locals>.<genexpr>â  s   é € ð *
Ù";‘h�a�EÓ";ùs   ‚r  r  z.hTr%   ©r  rî   r  c                 ó   <€ S # r§   r-   )Ú
new_headers   €r/   Ú<lambda>Ú'gen_aoti_c_shim_files.<locals>.<lambda>ø  s   ø€ ™
r1   r¥   ÚexpectedÚactual)ÚfromfileÚtofileÚlinetermaV  
The generated AOTInductor C shim header files have unexpectedly changed. This
indicates an AOTInductor fallback operator ABI backward compatibility breakage!!!
Only in a limited number of situations, this is allowed:

1. You added a fallback op to the inductor_fallback_ops list in torchgen/aoti/fallback_ops.py.
If that's the case, run `python torchgen/gen.py --update-aoti-c-shim` to add a new entry to
existing C shim header files.

2. You added a new default argument to an existing fallback op. This is clearly a BC breaking
change in the AOTInductor land. You need to annotate the new default argument in
torchgen/aoti/fallback_ops.py, and then run `python torchgen/gen.py --update-aoti-c-shim` to
update the C shim header files by creating different versions of the fallback op. See
https://github.com/pytorch/pytorch/pull/154848 as an example.

z
                    z
 not foundc               ó   € V ^8„  d   QhRR/# )r'   r,   r*   r-   )r.   s   "r/   r0   Ú+gen_aoti_c_shim_files.<locals>.__annotate__#  s   € ÷ 	3ñ 	3 #ñ 	3r1   c            	     ó®   <€ . p S F*  p\        VSSSSR 7      pVf   K  V P                  V4       K,  	  RP                  \        \	        V 4      4      4      # ))rî   r¥   )rú   rF   rº   r­   r±   )ÚheadersrÓ   r  rì   rä   rî   Úfallback_native_functionsÚstructured_func_group_dicts      €€€€€r/   Úheaders_for_aotiÚ/gen_aoti_c_shim_files.<locals>.headers_for_aoti#  sY   ø€ ØˆGÛ1�Ü,ØØ.Ø Ø#Ø'9ô�ð Ô%Ø—N‘N 6Ö*ñ 2ð —9‘9œV¤C¨£LÓ1Ó2Ð2r1   z.cppc                 óP   <€ \        SSSSS R SS! 4       R,           S,           R7      # )Fr¥   r.  )r"  )rì   rä   rî   Úextra_headersr<  Úfallback_ops_dictr>  r=  s   €€€€€€€€r/   r1  r2  9  s/   ø€ ”OØ)Ø!Ø*ØØØØ#5Ù)Ó+¨dÕ2°]ÕBõ	r1   )Ú	functionsrñ   r   r   r   Útupler­   r®   rå   r"  ÚwriteÚopenÚosÚpathrº   Úinstall_dirÚreadÚdifflibÚunified_diffÚ
splitlinesÚRuntimeErrorÚFileNotFoundErrorÚprintr   )r$  r%  r  rì   r&  r'  rî   r(  Ú
func_grouprÓ   Ú	fallbacksÚop_nameÚdevice_nameÚheader_file_nameÚold_fileÚ
old_headerÚdiffrä   rA  r<  rB  r>  r0  r=  s   &&&f&&f&         @@@@@@@r/   Úgen_aoti_c_shim_filesrY  Ç  s}  ÿø€ ð "$ÐÛ1ˆ
Ø×(Ñ(Ö*ˆDØ×'Ñ'Ô3ØGQÐ*¨4×+CÑ+CÑDÚó +ñ 2ô &ˆð #/Ò"6ÕÔ<Qð 	ð ˆ	Û$ˆDÜ*¨4Ó0ˆGØÐ+Ö+Ø%)˜'Ó"ñ %÷ %*¤Eñ *
Ü"(¨¯©Ó):Ô";ó*
§E¡Eñ *
Ü"(¨¯©Ó):Ô";ó*
ó %
Ð!ð
 !-Ò 4‘f¸,×:LÑ:LÓ:Nˆð % [ M°Ð4ÐÜ$Ø%ØØ&ØØØØ1Øô	
ˆ
÷ Ø�M‰MØ Ü"õð
%ÜÜ—G‘G—L‘L ×!4Ñ!4Ð6FÓG÷ô àØ!)§¡£�Jà! ZÔ/Ø#Ÿy™yÜ#×0Ò0Ø *× 5Ñ 5Ó 7Ø *× 5Ñ 5Ó 7Ø)3Ø'/Ø)+ôó ˜ô +ð 0ð €ð ð,ó ð ð 0÷÷N	3ô 	3ð  Ò'Ô,@À×,NÒ,Nñ àð 	ð 	�‰Ø�k�] $Ð'÷	ó 	÷	
ó &÷H÷ ûôB %ô ÜÜ—w‘w—|‘| G×$7Ñ$7Ð9IÓJÐKÈ:ÐVöðús2   Ä.;I Å)A-H-ÇI È-H=È8I È=I É AJÊJ)Fr§   )r%   )KÚ__conditional_annotations__Ú
__future__r   rK  rG  Úrer¸   Údataclassesr   Útypingr   Útorchgen.aoti.fallback_opsr   r   Útorchgen.api.typesr   Útorchgen.api.types.signaturesr	   r
   Útorchgen.contextr   Útorchgen.modelr   r   r   r   r   r   r   r   r   r   r   r   r   r   Útorchgen.utilsr   r   Úcollections.abcr   r=   r#   r’   rt   ru   Úfloatr*   ÚDeviceIndexÚLayoutÚMemoryFormatÚ
ScalarTypeÚ	Generatorr<   r?   r>   rC   r\   rk   rŒ   r�   r  Úcompiler™   rœ   rÌ   rÛ   rç   rö   rú   r   r  r	  r"  rY  )rZ  s   @r/   Ú<module>rm     sf  øðß "Ð "ã Û 	Û 	Û Ý !Ý  ç PÝ 2ß IÝ 8÷÷ ÷ ÷ ÷  1÷ Ý(ð ‡M�MÐ%Ø
‡K�K�Ø
‡J�J�	Ø
‡M�M�9Ø
‡M�M�8Ø
‡L�L�(Ø
‡J�J�Ø
×Ñ˜	Ø
‡M�M�9Ø
×Ñ˜Ø
×Ñ�yØ
×ÑÐ+ðÐ ð  ‡M�M�<Ø
‡K�K�Ø
‡J�J�	Ø
‡M�M�=Ø
‡M�M�=Ø
‡L�L�(Ø
‡J�JÐ$Ø
×ÑÐ*Ø
‡M�M�=Ø
×ÑÐ,Ø
×ÑÐ(Ø
×Ñ�oðÐ ð  ‡M�MÐ2Ø
‡K�K�Ø
‡J�J�Ø
‡M�M�2Ø
‡M�M�2Ø
‡L�L�"Ø
‡J�J�Ø
×ÑÐ7Ø
‡M�MÐ-Ø
×ÑÐ9Ø
×ÑÐ5Ø
×ÑÐ>ðÐ ÷"uKõpAõ
?õ>4;ðp MOÐ ÐIÓ Nð ŸšÐ$BÓCÐ õõ:nKõb÷Mõ6'õTcõ$õ#ñL �$Ô÷ð ó ð÷4Z
÷z|
r1   