ó
    IC˜j½v  ã                  óJ  • % 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s  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  \(       a  S SKJr  \R8                  " 5       rS\S	'       S/S jr\ " S5      r!S0S jr"    S1S jr#\ " S5      r$\ " S5      r%S2S jr&S2S jr'\ " S5      r(\ " S5      r)S3S jr*Sr+\RX                  " \+5      r-S\S'   S4S jr.        S5S jr/S6S jr0S6S jr1\Rd                  S\Rf                  S\Rh                  S \Rj                  S\Rl                  S\Rn                  S\Rp                  S
0r9    S7S! jr:S8S" jr;S9S# jr<S9S$ jr=      S9S% jr>      S:S& jr?      S9S' jr@\ " S(5      rAS;S) jrBS<S* jrC " S+ S,5      rD " S- S.5      rEg)=é    )ÚannotationsN)ÚTYPE_CHECKING)Únative_function_manager)ÚArgumentÚBackendIndexÚBaseTyÚBaseTypeÚFunctionSchemaÚNativeFunctionsGroupÚNativeFunctionsViewGroupÚOptionalTypeÚSelfArgumentÚTensorOptionsArgumentsÚType)Úconfig)ÚSequencezlogging.LoggerÚloggerÚboolc                ón   • U  H/  n[        USS 5      nU(       d  M  [        USS5      nU(       d  M/    g   g)NÚ
annotationÚ	alias_set© TF)Úgetattr)Ú	argumentsÚargr   r   s       Ú¯C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\torchgen/static_runtime/generator.pyÚ	has_aliasr   !   s=   € ó ˆÜ˜S ,°Ó5ˆ
ÞÙÜ˜J¨°RÓ8ˆ	ßˆ9Ùñ ð ó    )¹Úsparse_sampled_addmmÚhspmmÚlinalg_svdvalsÚsspaddmmÚcoalesceÚ_indicesÚindicesÚ_valuesÚvaluesÚcrow_indicesÚcol_indicesÚfloor_divideÚgerÚconj_physicalÚbinary_cross_entropyÚarccoshÚcholeskyÚlu_solveÚlinalg_choleskyÚlinalg_householder_productÚlinalg_ldl_solveÚ_compute_linear_combinationÚ
_make_dualÚ
_fw_primalÚ_index_reduceÚ!_new_zeros_with_same_feature_metaÚ_conj_physicalÚ binary_cross_entropy_with_logitsÚbincountÚconv_tbcÚcopyÚ
_copy_fromÚ_copy_from_and_resizeÚcount_nonzeroÚcudnn_affine_grid_generatorÚ$cudnn_affine_grid_generator_backwardÚcudnn_grid_samplerÚ
diag_embedÚ	embeddingÚembedding_dense_backwardÚ_embedding_bag_dense_backwardÚ*_embedding_bag_per_sample_weights_backwardÚgrid_sampler_2dÚ_grid_sampler_2d_cpu_fallbackÚgrid_sampler_3dÚisnanÚmkldnn_linearÚmedianÚ	nanmedianÚ_sparse_sparse_matmulÚbatch_norm_backward_elemtÚ_euclidean_distÚpixel_shuffleÚpixel_unshuffleÚchannel_shuffleÚ_reshape_nested_backwardÚreluÚpreluÚceluÚslice_scatterÚselect_scatterÚdiagonal_scatterÚsumÚ_mkldnn_transposeÚ_nested_tensor_from_maskÚ_nested_from_paddedÚ_nested_tensor_sizeÚ&_nested_from_padded_and_nested_exampleÚ_standard_gamma_gradÚ_dirichlet_gradÚnative_normÚ_sparse_softmaxÚ_sparse_softmax_backward_dataÚ_sparse_log_softmaxÚ!_sparse_log_softmax_backward_dataÚzeroÚ_sparse_addmmÚsparse_maskÚ_sparse_mask_projectionÚ	_to_denseÚ	_coalesceÚ
_coalescedÚcopy_sparse_to_sparseÚ	to_sparseÚto_sparse_csrÚto_sparse_cscÚ	to_mkldnnÚquantize_per_tensor_dynamicÚquantize_per_channelÚq_per_channel_scalesÚq_per_channel_zero_pointsÚint_reprÚ"_make_per_channel_quantized_tensorÚsetÚliftÚ
lift_freshÚlift_fresh_copyÚmasked_scatterÚ_masked_softmaxÚ_masked_softmax_backwardÚputÚindex_reduceÚtraceÚ_cholesky_solve_helperÚdistÚmaxÚ_torch_cuda_cu_linker_symbol_opÚglu_jvpÚglu_backward_jvpÚhardswish_backwardÚrrelu_with_noise_backwardÚ#mkldnn_adaptive_avg_pool2d_backwardÚ_adaptive_avg_pool2d_backwardÚ_adaptive_avg_pool3d_backwardÚisinfÚlinalg_lu_solveÚlinalg_vecdotÚlinalg_matrix_expÚlinalg_eigvalshÚ_test_warn_in_autogradÚ%_test_autograd_multiple_dispatch_viewÚ*_test_autograd_multiple_dispatch_view_copyÚ_segment_reduceÚ_segment_reduce_backwardÚ_fw_primal_copyÚ_make_dual_copyÚview_as_real_copyÚview_as_complex_copyÚ
_conj_copyÚ_neg_view_copyÚdiagonal_copyÚdetach_copyÚsqueeze_copyÚt_copyÚunsqueeze_copyÚ_indices_copyÚ_values_copyÚindices_copyÚvalues_copyÚcrow_indices_copyÚcol_indices_copyÚccol_indicesÚccol_indices_copyÚrow_indicesÚrow_indices_copyÚunfold_copyÚ
alias_copyÚ_triton_multi_head_attentionÚspecial_airy_aiÚspecial_bessel_j0Úspecial_bessel_j1Úspecial_bessel_y0Úspecial_bessel_y1Úspecial_chebyshev_polynomial_tÚspecial_chebyshev_polynomial_uÚspecial_chebyshev_polynomial_vÚspecial_chebyshev_polynomial_wÚspecial_hermite_polynomial_hÚspecial_hermite_polynomial_heÚspecial_laguerre_polynomial_lÚspecial_legendre_polynomial_pÚspecial_modified_bessel_i0Úspecial_modified_bessel_i1Úspecial_modified_bessel_k0Úspecial_modified_bessel_k1Ú!special_scaled_modified_bessel_k0Ú!special_scaled_modified_bessel_k1Ú&special_shifted_chebyshev_polynomial_tÚ&special_shifted_chebyshev_polynomial_uÚ&special_shifted_chebyshev_polynomial_vÚ&special_shifted_chebyshev_polynomial_wÚspecial_spherical_bessel_j0Ú_foobarÚ_nested_tensor_stridesÚ_nested_tensor_storage_offsetsÚ_nested_get_valuesÚ_nested_get_values_copyÚ_nested_view_from_jaggedÚ_nested_view_from_jagged_copyÚ_nested_view_from_bufferÚ_nested_view_from_buffer_copyÚ_int_mmÚ_to_sparse_cscÚ_to_sparse_csrÚsegment_reducec                óÞ  • SnS n[        U [        5      (       a-  U R                  R                  nU R                  R                  nOJU R
                  R                  R                  R                  R                  nU R
                  R                  n[        R                  " U 5      (       a  [        R                  SU5        gU[        ;   a  [        R                  SU5        gUR                  5        H7  n[        UR                  5      nU(       a  M!  [        R                  SU5          g   [        U [        5      (       aI  S[         R"                  " UR$                  SS9R'                  5       :w  a  [        R                  SU5        gg	U R(                  R                  R                  5        HK  n[        UR                  5      nU(       a  M!  [        R                  SU R(                  R                  5          g   U R*                  (       dZ  [-        U S
5      (       aH  [/        U5      R1                  S5      (       a)  [/        UR                  5      R1                  S5      (       d  gS[         R"                  " UR$                  SS9R'                  5       :w  a  [        R                  SU5        g[3        UR4                  R6                  5      (       a  [        R                  SU5        gg	)NÚ zHAND WRITTEN: %sFzBLOCKED: %sz!NOT SUPPORTED TYPE CONVERTING: %sz
at::Tensor)ÚsymintzNON-TENSOR RET TYPE: %sTÚoutzTensor(a!) out) -> Tensor(a!)z.outzat::Tensor &zNON_TENSOR RET TYPE: %szINPUTS ALIAS: %s)Ú
isinstancer   ÚviewÚ	root_nameÚfuncrÛ   ÚnameÚbaser   Úis_hand_writtenr   ÚinfoÚBLOCKED_OPSÚschema_order_argumentsÚivalue_type_conversion_methodÚtypeÚcppÚreturns_typeÚreturnsÚcpp_typeÚ
functionalÚ
structuredÚhasattrÚstrÚendswithr   r   Únon_out)ÚgÚbase_op_namerß   r   Úmaybe_methods        r   Úis_supportedrõ   ö   s  € Ø€LØ€DÜ�!Ô-×.Ñ.Ø—v‘v×'Ñ'ˆØ�v‰v�{‰{‰à—u‘u—z‘z—‘×+Ñ+×0Ñ0ˆØ�u‰u�z‰zˆÜ×Ò˜a× Ñ Ü�‰Ð&¨Ô5ØØ”{Ó"Ü�‰�M <Ô0ØØ×*Ñ*Ö,ˆÜ4°S·X±XÓ>ˆßˆ|ä�K‰KÐ;¸TÔBÙñ -ô �!Ô-×.Ñ.ð œ3×+Ò+¨D¯L©LÀÑG×PÑPÓRÓRä�K‰KÐ1°4Ô8ØØð �|‰|× Ñ ×7Ñ7Ö9ˆÜ4°S·X±XÓ>ˆßˆ|ä�K‰KÐ;¸Q¿\¹\×=NÑ=NÔOÙñ :ð �<�<ô
 ˜˜5×!Ñ!Ü�t“9×%Ñ%Ð&E×FÑFÜ�t—y‘y“>×*Ñ*¨6×2Ñ2ààœ×)Ò)¨$¯,©,¸uÑE×NÑNÓPÓPÜ�‰Ð-¨tÔ4ØÜ�—‘×'Ñ'×(Ñ(ä�‰Ð&¨Ô5ØØr   c                óú  • [         R                  S[         R                  S[         R                  S[         R                  S[         R
                  S[         R                  S0nSn[        U [        5      (       a  U R                  nOM[        U [        5      (       a7  [        U R                  [        5      (       d  gU R                  R                  nOgX!;  a  gX   n[        U [        5      (       a  US   $ US	   $ )
a0  
Return the method call expression of `c10::ivalue' to convert its contained value to
the expected value of `arg_type` type. For example, for `arg_type` == BaseTy.Tensor,
this function returns ".toTensor()", so that it can be appended to the ivalue's
variable name to get the value of the expected type.
))Tz
toTensor())FztoOptional<at::Tensor>()))FztoInt())FztoOptional<int64_t>()))FztoBool())FztoOptional<bool>()))Fz
toScalar())FztoOptional<at::Scalar>()))FztoScalarType())FztoOptional<at::ScalarType>()))FztoStringView())FztoOptional<c10::string_view>())Fz toOptional<::std::string_view>()Nr   é   )r   ÚTensorÚintr   ÚScalarÚ
ScalarTyperï   rÜ   r	   rà   r   Úelem)Úarg_typeÚtype_conversion_methodsÚbase_ty_objectÚmethodss       r   ræ   ræ   2  sÒ   € ô 	�‰ÐRÜ�
‰
ÐJÜ�‰ÐIÜ�‰ÐSÜ×Ñð 
ô 	�
‰
ð 
ðÐð  €NÜ�(œH×%Ñ%Ø!Ÿ™‰Ü	�Hœl×	+Ñ	+Ü˜(Ÿ-™-¬×2Ñ2àØ!Ÿ™×+Ñ+‰ààÓ4ØØ%Ñ5€GÜ�(œH×%Ñ%Ø�q‰zÐØ�1‰:Ðr   )Úbitwise_notÚbitwise_andÚ
bitwise_orÚbitwise_xorÚbitwise_left_shiftÚbitwise_right_shiftÚgcdÚlcmÚscatterÚgatherÚ _convert_indices_from_coo_to_csrÚ _convert_indices_from_csr_to_coo)Úview_as_realÚimagÚ_conjrï   c                ó   • U [         ;   $ ©N)Úshould_use_int_tensor_ops_©Úop_names    r   Úshould_use_int_tensorr  q  s   € ØÔ0Ñ0Ð0r   c                ó   • U [         ;   $ r  )Úshould_use_complex_tensor_ops_r  s    r   Úshould_use_complex_tensorr  u  s   € ØÔ4Ñ4Ð4r   )	ÚaddmvÚ	index_addr  r  Únll_loss_backwardÚdotÚvdotÚouterr+   )ÚaddmmÚmmÚnuclear_normÚdiagÚ_addmm_activationÚmatrix_HÚtrù   c                ó0   • U [         ;   a  gU [        ;   a  gg)Nr÷   é   é   )Útest_tensor_dim_ops_1_Útest_tensor_dim_ops_2_r  s    r   Útest_tensor_dimr+  ‹  s   € ØÔ(Ó(ØØÔ(Ó(ØØr   z{"view_as_complex": "{2, 2}"}zdict[str, str]Útest_tensor_shape_jsonc                ó*   • U [         ;   a	  [         U    $ g)NrÙ   )r,  r  s    r   Útest_tensor_shaper.  —  s   € ØÔ(Ó(Ü% gÑ.Ð.àr   c                óR  • [        U5      nUS:X  ac  US:X  a  SOSn[        U5      n[        R                  " U[	        U5      -  5      nXfS-  -  nSR                  SR                  U /U-  5      5      n[        U5      (       a  SU S	3nO[        U5      (       a  S
U S3nOSU S3n[        R                  U[        R                  S[        R                  S[        R                  S[        R                  S[        R                  S0nS n	[!        U ["        5      (       a  U R$                  n	Oa[!        U [&        5      (       a  [!        U R(                  ["        5      (       d  [+        S[-        U 5       35      eU R(                  R$                  n	X˜;  a  [+        SU	 35      eX‰   n
U
$ )NrÙ   r   é   é@   r'  z{{{}}}Ú,zat::randint(1, 100, z, at::kInt)z
at::randn(z, at::kComplexFloat)z	at::rand(Ú)Ú1ÚfalseÚ2zat::ScalarType::Floatz"floor"z.Expected OptionalType with BaseType elem, got zUnexpected type: )r.  r+  ÚmathÚceilÚfloatÚformatÚjoinr  r  r   rø   rù   r   rú   rû   rï   rÜ   r	   rà   r   rü   ÚAssertionErrorrç   )rý   Úindexr  Útensor_size_exÚnum_tensorsÚnum_dimÚsize_per_dimÚtensor_expressionÚvalue_expressionsrÿ   Úvalue_expressions              r   Útest_value_expressionrE  ž  s�  € ô ' wÓ/€NØ˜ÓØ! Q›J‘b¨BˆÜ! 'Ó*ˆÜ—y’y ¬u°W«~Ñ!=Ó>ˆØ qÑ(Ñ(ˆØ!Ÿ™¨¯©°l°^Ð2EÈÑ2OÓ)PÓQˆÜ˜W×%Ñ%Ø2°>Ð2BÀ+ÐNÑÜ	" 7×	+Ñ	+Ø(¨Ð(8Ð8LÐMÑà'¨Ð'7°qÐ9Ðô 	�‰Ð(Ü�
‰
�CÜ�‰�WÜ�‰�sÜ×ÑÐ2Ü�
‰
�IðÐð €NÜ�(œH×%Ñ%Ø!Ÿ™‰ô �x¤×.Ñ.´:¸h¿m¹mÌX×3VÑ3Vä Ø@ÄÀhÃÐ@PÐQóð ð "Ÿ™×+Ñ+ˆØÓ.ÜÐ0°Ð0@ÐAÓBÐBØ(Ñ8ÐØÐr   c                óÀ  • U R                  5       (       a  [        SU  35      eU R                  R                  R                  n0 nU R	                  5        H'  n[        UR                  X5      nXSUR                  '   M)     [        R                  " X2U5        / nUR                  5        H  u  pxUR                  SU U SU 35        M      SR                  U5      S-   $ )NúExpected non-out function, got zauto z = ú;
    Ú;)Ú	is_out_fnr<  rà   rá   rå   rE  rç   r   Úoverride_test_valuesÚitemsÚappendr;  )	Úschemar=  Úschema_nameÚarg_mapr   Útest_value_expÚarg_populationsÚarg_nameÚ	arg_values	            r   Úgenerate_test_value_definitionsrU  É  sÊ   € Ø×Ñ×ÑÜÐ>¸v¸hÐGÓHÐHØ—+‘+×"Ñ"×'Ñ'€KØ€GØ×,Ñ,Ö.ˆÜ.¨s¯x©x¸ÓLˆØ*�—‘Óñ /ô ×Ò °eÔ<Ø€OØ&Ÿ}™}žÑˆØ×Ñ  x j°°°s¸9¸+ÐFÖGñ  /à�>‰>˜/Ó*¨SÑ0Ð0r   c                óœ   ^• U R                  5       (       a  [        SU  35      eSR                  U4S jU R                  5        5       5      $ )NrG  r2  c              3  óB   >#   • U  H  oR                    T 3v •  M     g 7fr  ©rà   )Ú.0r   r=  s     €r   Ú	<genexpr>Ú,generate_test_value_names.<locals>.<genexpr>Û  s   øé € ÐTÒ4S¨S—x‘x�j  Õ(Ò4Sùs   ƒ)rJ  r<  r;  rå   )rN  r=  s    `r   Úgenerate_test_value_namesr\  Ø  sC   ø€ Ø×Ñ×ÑÜÐ>¸v¸hÐGÓHÐHØ�8‰8ÔT°F×4QÑ4QÔ4SÓTÓTÐTr   rø   r9  c                ób   • SS jnU R                  5        Vs/ s H
  o!" U5      PM     sn$ s  snf )Nc                óV  • U R                   nSn[        U[        5      (       a  UR                  nSn[        U[        5      (       d  [        S[        U5       35      eS nUR                  [        ;   a  [        UR                     nU(       a  U(       a  U S3nSU R                  -   U4$ )NFTzExpected BaseType, got Ú?Ú%)rç   rÜ   r   rü   r	   r<  rà   Ú/generate_test_ir_arguments_base_ty_to_type_str_)r   r%  Úadd_optionalÚtype_strs       r   Úir_argumentÚ/generate_test_ir_arguments.<locals>.ir_argumentì  s’   € Ø�H‰HˆØˆÜ�aœ×&Ñ&Ø—‘ˆAØˆLÜ˜!œX×&Ñ&Ü Ð#:¼4À»7¸)Ð!DÓEÐEØˆØ�6‰6ÔDÓDÜFÀqÇvÁvÑNˆHÞžØ"˜ 1�~ˆHØ�c—h‘h‘ Ð)Ð)r   )r   r   Úreturnztuple[str, str | None])rå   )rN  rd  r   s      r   Úgenerate_test_ir_argumentsrg  é  s1   € ô*ð )/×(EÑ(EÔ(GÓHÒ(G ˆK˜ÖÑ(GÑHÐHùÒHs   ˜,c                ó`  • / n[        U R                  5       5       H|  u  p#[        UR                  5      nU(       d%  [	        SUR
                   SUR                   35      eUu  pVU(       a  SOSnUR                  SU SUR
                   SU SU 35        M~     S	R                  U5      S
-   $ )NzNo type conversion method for ú: Ú&rÙ   z
const autoÚ z = p_node->Input(z).rH  rI  )Ú	enumeraterå   ræ   rç   r<  rà   rM  r;  )rN  rR  Úir   rô   Úis_referenceÚtype_conversion_methodÚ	references           r   Úgenerate_arg_extractionrq  þ  s±   € Ø€OÜ˜F×9Ñ9Ó;Ö<‰ˆÜ4°S·X±XÓ>ˆÞÜ Ø0°·±°
¸"¸S¿X¹X¸JÐGóð ð 0<Ñ,ˆÞ'‘C¨Rˆ	Ø×ÑØ˜˜ 1 S§X¡X JÐ.?À¸sÀ"ÐE[ÐD\Ð]ö	
ñ =ð �>‰>˜/Ó*¨SÑ0Ð0r   c                óÌ   • UR                  U R                  5      nU R                  (       d  Uc*  [        R                  " U R                  R
                  5      $ UR                  $ r  )Ú
get_kernelrì   rí   rè   rà   rß   Úkernel©rò   Úbackend_indexrt  s      r   Úget_kernel_namerw    sD   € Ø×%Ñ% a§l¡lÓ3€FØ‡|‡|�v‘~Ü�xŠx˜Ÿ™×)Ñ)Ó*Ð*Ø�=‰=Ðr   c                óÌ   • UR                  U R                  5      nU R                  (       d  Uc*  [        R                  " U R                  R
                  5      $ UR                  $ r  )rs  rÛ   rí   rè   rà   rß   rt  ru  s      r   Úget_out_kernel_namery    sB   € Ø×%Ñ% a§e¡eÓ,€FØ‡|‡|�v‘~Ü�xŠx˜Ÿ™Ÿ
™
Ó#Ð#Ø�=‰=Ðr   c                ó  • U R                   R                  nUR                  5       (       a  [        SU 35      e[	        X5      nS UR                  5        5       nU R                  (       a  SOSnSU SU SSR                  U5       S	3$ )
NrG  c              3  ó8   #   • U  H  oR                   v •  M     g 7fr  rX  ©rY  r   s     r   rZ  Ú0generate_non_out_variant_call.<locals>.<genexpr>#  ó   é € ÐEÒ%D˜c—–Ò%Dùó   ‚ÚcpuÚnativeúat::ú::Ú(r2  r3  )rì   rß   rJ  r<  rw  rå   rí   r;  )rò   rv  rN  Úkernel_nameÚ	arg_namesÚnamespace_names         r   Úgenerate_non_out_variant_callrˆ    s…   € ð �\‰\×Ñ€FØ×Ñ×ÑÜÐ>¸v¸hÐGÓHÐHÜ! !Ó3€KÙE V×%BÑ%BÔ%DÓE€IØŸlŸl‘U°€NØ�.Ð!  K =°°#·(±(¸9Ó2EÐ1FÀaÐHÐHr   c                ó  • U R                   R                  n[        R                  " U5      nUR	                  U R                   5      nU(       a  UR
                  nS UR                  5        5       nSnSU SU SSR                  U5       S3$ )Nc              3  ó8   #   • U  H  oR                   v •  M     g 7fr  rX  r|  s     r   rZ  Ú,generate_call_to_view_ops.<locals>.<genexpr>0  r~  r  r�  r‚  rƒ  r„  r2  r3  )rÝ   rß   rè   rà   rs  rt  rå   r;  )rò   rv  rN  r…  rt  r†  r‡  s          r   Úgenerate_call_to_view_opsrŒ  (  s}   € ð �V‰V�[‰[€FÜ—(’(˜6Ó"€KØ×%Ñ% a§f¡fÓ-€FÞØ—m‘mˆÙE V×%BÑ%BÔ%DÓE€IØ€NØ�.Ð!  K =°°#·(±(¸9Ó2EÐ1FÀaÐHÐHr   c                óä  • U R                   R                  nUR                  5       (       d  [        SU 35      e/ n[	        X5      nU R
                  (       a0  UR                  R                    Vs/ s H  oUR                  PM     nnO/ nUR                  R                   H†  n[        U[        5      (       a'  UR                  UR                  R                  5        M?  [        U[        5      (       d  [        S[        U5       35      eUR                  UR                  5        Mˆ     U R
                  (       d€  [        UR                  R                   5      S:w  a+  [        S[        UR                  R                   5       35      eUR                  UR                  R                   S   R                  5        SR!                  U5      nU R
                  (       a  SOSnS	U S
U SU S3$ s  snf )NzExpected out function, got zExpected Argument, got r÷   úExpected 1 out argument, got r   r2  r€  r�  r‚  rƒ  r„  r3  )rÛ   rß   rJ  r<  ry  rí   r   rà   rñ   rÜ   r   rM  Úargumentr   rç   Úlenr;  )	rò   rv  rN  r†  r…  Úout_argr   Úcpp_arg_namesr‡  s	            r   Úgenerate_out_variant_callr“  5  s”  € ð �U‰U�Z‰Z€FØ×Ñ×ÑÜÐ:¸6¸(ÐCÓDÐDØ€IÜ% aÓ7€KØ‡|‡|à17×1AÑ1A×1EÒ1EÓFÒ1E g—\”\Ñ1Eˆ	ÐFˆ	àˆ	Ø×Ñ×'Ô'ˆÜ�cœ<×(Ñ(Ø×Ñ˜SŸ\™\×.Ñ.Ö/ä˜c¤8×,Ñ,Ü$Ð'>¼tÀC»y¸kÐ%JÓKÐKØ×Ñ˜SŸX™XÖ&ñ (ð �<�<Üˆv×Ñ×#Ñ#Ó$¨Ó)Ü Ø/´°F×4DÑ4D×4HÑ4HÓ0IÐ/JÐKóð ð 	×Ñ˜×)Ñ)×-Ñ-¨aÑ0×5Ñ5Ô6Ø—H‘H˜YÓ'€MØŸlŸl‘U°€NØ�.Ð!  K =°°-°ÀÐBÐBùò% Gs   Á0G-)zisin.Scalar_Tensorr  r  r  r!  ÚhistcÚl1_lossÚmulti_margin_lossÚmultilabel_margin_lossÚnll_lossÚ
nll_loss2dÚprodc                óR   • [        U 5      nUS UR                  S5       nU[        ;  $ )Nr„  )rï   ÚfindÚno_memory_resize_ops)rN  Ú
schema_strÚtype_variant_op_names      r   Úshould_check_resizer   f  s.   € Ü�V“€JØ%Ð&<¨
¯©¸Ó(<Ð=ÐØÔ';Ñ;Ð;r   c                ój   • U R                   R                  R                  R                  R                  $ r  )rì   rß   rà   rá   )rò   s    r   Úop_name_from_groupr¢  l  s$   € Ø�<‰<×Ñ×!Ñ!×&Ñ&×+Ñ+Ð+r   c                  ól   • \ rS rSr      SS jr      S	S jr      S
S jr      SS jrSrg)ÚGenOpDispatcherip  c                ó¦  • U(       d  g/ nU Hƒ  n[        U5         [        U5      (       d  [        SU 35      e[        U[        5      (       d  [        S[        U5       35      eU R                  XB5      nUR                  U5        S S S 5        M…     [        US   5      nSR                  U5      nSU SU SU S	3nU$ ! , (       d  f       MÃ  = f)
NrÙ   úUnsupported function group: ú#Expected NativeFunctionsGroup, got r   Ú
z&
REGISTER_OPERATOR_FUNCTOR(
    aten::ú,
    aten_ú(,
    [](Node* n) -> SROperator {
      z9
      LogAndDumpSchema(n);
      return nullptr;
    })
)
r   rõ   r<  rÜ   r   rç   Úout_variant_op_generatorrM  r¢  r;  ©	ÚselfÚgroupsrv  Úgenerated_type_variantsrò   Úgenerated_type_variantr  ÚbodyÚ	generateds	            r   Úout_variantÚGenOpDispatcher.out_variantq  së   € ö ØØ"$ÐÛˆAÜ(¨Õ+Ü# A—‘Ü(Ð+GÈÀsÐ)KÓLÐLÜ! !Ô%9×:Ñ:Ü(Ø=¼dÀ1»g¸YÐGóð ð *.×)FÑ)FÀqÓ)XÐ&Ø'×.Ñ.Ð/EÔF÷ ,Ñ+ñ ô % V¨A¡YÓ/ˆØ�y‰yÐ0Ó1ˆðàˆ)ð 
Ø
ˆð à€fð ð	ˆ	ð Ð÷+ ,Ö+ús   ›A-CÃ
C	c                ó¼  • U(       d  g/ nU Hƒ  n[        U5         [        U5      (       d  [        SU 35      e[        U[        5      (       d  [        S[        U5       35      eU R                  XB5      nUR                  U5        S S S 5        M…     [        R                  " US   5      nSR                  U5      nSU SU SU S	3nU$ ! , (       d  f       MÎ  = f)
NrÙ   úUnsupported view group: ú'Expected NativeFunctionsViewGroup, got r   r¨  z-
REGISTER_NATIVE_OPERATOR_FUNCTOR(
    aten::r©  rª  z:
      LogAndDumpSchema(n);
      return nullptr;
    });
)r   rõ   r<  rÜ   r   rç   Úview_op_generatorrM  r   Úfunc_name_base_strr;  r¬  s	            r   rÝ   ÚGenOpDispatcher.view�  sñ   € ö ØØ"$ÐÛˆAÜ(¨Õ+Ü# A—‘Ü(Ð+CÀAÀ3Ð)GÓHÐHÜ! !Ô%=×>Ñ>Ü(ØAÄ$ÀqÃ'ÀÐKóð ð *.×)?Ñ)?ÀÓ)QÐ&Ø'×.Ñ.Ð/EÔF÷ ,Ñ+ñ ô ×+Ò+¨F°1©IÓ6ˆØ�y‰yÐ0Ó1ˆðàˆ)ð 
Ø
ˆð à€fð ð	ˆ	ð Ð÷+ ,Ö+ús   ›A-CÃ
C	c                óH  • UR                   n[        UR                  5      n[        UR                   R                  5      n[	        X5      n[        UR                  R                  R                  R                  5      S:w  a?  [        S[        UR                  R                  R                  R                  5       35      e[        UR                  R                  R                  R                  S   R                  5      n[        X5      nSU SU SU SU SU S	U S
3n	U	$ )Nr÷   rŽ  r   ú+
      if (n->matches(torch::schema("aten::ú<"))) {
        return [](ProcessedNode* p_node) {
          zM
          if (p_node->Output(0).isNone()) {
            p_node->Output(0) = z2;
            return;
          }
          auto& z< = p_node->Output(0).toTensor();
          fastResizeToZero(z);
          ú;
        };
      })rì   rï   rß   rq  rˆ  r�  rÛ   r   r<  rà   r“  )
r­  rò   rv  rì   rN  Úpopulated_argumentÚfunctional_variant_callÚout_variable_nameÚout_variant_callr²  s
             r   r«  Ú(GenOpDispatcher.out_variant_op_generator­  s  € ð —\‘\ˆ
Ü�Z—_‘_Ó%ˆÜ4°Q·\±\×5FÑ5FÓGÐÜ"?ÀÓ"QÐÜˆq�u‰u�z‰z×#Ñ#×'Ñ'Ó(¨AÓ-Ü Ø/´°A·E±E·J±J×4HÑ4H×4LÑ4LÓ0MÐ/NÐOóð ô   §¡§
¡
× 4Ñ 4× 8Ñ 8¸Ñ ;× @Ñ @ÓAÐÜ4°QÓFÐð+Ø+1¨(ð 3àÐ
ð !à!8Ð 9ð :ð #Ð#ð $Ø-Ð.ð /ØÐ
ð 	ðˆ	ð Ðr   c                ó°   • [        UR                  R                  5      n[        UR                  R                  5      n[	        X5      nSU SU SU S3nU$ )Nr¼  r½  z!
            p_node->Output(0) = r¾  )rï   rÝ   rß   rq  rŒ  )r­  rò   rv  rN  r¿  rÀ  r²  s          r   r¸  Ú!GenOpDispatcher.view_op_generatorÉ  sh   € ô �Q—V‘V—[‘[Ó!ˆÜ4°Q·V±V·[±[ÓAÐÜ";¸AÓ"MÐð+Ø+1¨(ð 3àÐ
ð !Ø!8Ð 9ð :	ð	ˆ	ð Ðr   r   N)r®  úSequence[NativeFunctionsGroup]rv  r   rf  rï   )r®  ú"Sequence[NativeFunctionsViewGroup]rv  r   rf  rï   ©rò   r   rv  r   rf  rï   ©rò   r   rv  r   rf  rï   )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r³  rÝ   r«  r¸  Ú__static_attributes__r   r   r   r¤  r¤  p  sv   † ðØ4ðØEQðà	ôð<Ø8ðØIUðà	ôð<Ø%ðØ6Bðà	ôð8Ø)ðØ:Fðà	÷r   r¤  c                  ó<   • \ rS rSrSS jrS	S jrS
S jrSS jrSrg)ÚGenOpTestCaseiÙ  c                ón  • U(       d  g/ nU Hƒ  n[        U5         [        U5      (       d  [        SU 35      e[        U[        5      (       d  [        S[        U5       35      eU R                  U5      nUR                  U5        S S S 5        M…     SR                  U5      $ ! , (       d  f       M§  = f)NrÙ   r¦  r§  r¨  )	r   rõ   r<  rÜ   r   rç   Ú"out_variant_op_test_case_generatorrM  r;  ©r­  r®  r¯  rò   r°  s        r   r³  ÚGenOpTestCase.out_variantÚ  s«   € ÞØØ"$ÐÛˆAÜ(¨Õ+Ü# A—‘Ü(Ð+GÈÀsÐ)KÓLÐLÜ! !Ô%9×:Ñ:Ü(Ø=¼dÀ1»g¸YÐGóð ð *.×)PÑ)PÐQRÓ)SÐ&Ø'×.Ñ.Ð/EÔF÷ ,Ñ+ñ ð �y‰yÐ0Ó1Ð1÷ ,Ö+úó   ›A-B%Â%
B4	c                ón  • U(       d  g/ nU Hƒ  n[        U5         [        U5      (       d  [        SU 35      e[        U[        5      (       d  [        S[        U5       35      eU R                  U5      nUR                  U5        S S S 5        M…     SR                  U5      $ ! , (       d  f       M§  = f)NrÙ   r¶  r·  r¨  )	r   rõ   r<  rÜ   r   rç   Úview_op_test_case_generatorrM  r;  rÓ  s        r   rÝ   ÚGenOpTestCase.viewê  sª   € ÞØØ"$ÐÛˆAÜ(¨Õ+Ü# A—‘Ü(Ð+CÀAÀ3Ð)GÓHÐHÜ! !Ô%=×>Ñ>Ü(ØAÄ$ÀqÃ'ÀÐKóð ð *.×)IÑ)IÈ!Ó)LÐ&Ø'×.Ñ.Ð/EÔF÷ ,Ñ+ñ ð �y‰yÐ0Ó1Ð1÷ ,Ö+úrÕ  c                óœ  • UR                   R                  n[        U5      nUR                  S5      S::  a  [	        SU 35      eUS UR                  S5       R                  SS5      n[        U5      nUR                  U5      (       d  [	        SU SU 35      e[        U5      nSR                  S	 U 5       5      nSR                  S
 U 5       5      n[        UR                  5      S:X  a`  [        UR                  S   R                  [        5      (       a4  UR                  S   R                  R                  [         R"                  L d  [	        SUR                   35      e[%        US5      n	['        US5      n
[%        US5      n['        US5      n[)        U5      (       a  SOSnSU SU SU SU SU	 SU
 SU SU SU SU S3nU$ )Nr„  r   úInvalid schema string: Ú.Ú_úType variant op name ú doesn't start with ú, c              3  ó>   #   • U  H  u  pUc  UOU SU 3v •  M     g 7f©Nri  r   ©rY  rS  rý   s      r   rZ  ÚCGenOpTestCase.out_variant_op_test_case_generator.<locals>.<genexpr>  ó/   é € ð â*3Ñ&�Hð %Ñ,‘°X°J¸bÀÀ
Ð2KÔKÚ*3ùó   ‚c              3  ó*   #   • U  H	  u  pUv •  M     g 7fr  r   ©rY  rS  rÜ  s      r   rZ  rã    ó   é € ÐEº9©K¨H�xº9ùó   ‚r÷   ú#Expected single Tensor return, got Útruer5  ú
TEST(StaticRuntime, autogen_ú1) {
  const std::string script = R"IR(
    graph(ú?):
        %bias: None = prim::Constant()
        %ret = aten::úQ)
        %cloned = aten::clone(%ret, %bias)
        return (%cloned)
  )IR";

  ú
  std::vector<IValue> args{zj};
  testStaticRuntime(script, args, {}, /*use_allclose=*/false, /*use_equalnan=*/false, /*check_resize=*/z);

  z
  std::vector<IValue> args2{zm};
  testStaticRuntime(script, args, args2, /*use_allclose=*/false, /*use_equalnan=*/false, /*check_resize=*/z);

}
)rì   rß   rï   rœ  r<  Úreplacer¢  Ú
startswithrg  r;  r�  rê   rÜ   rç   r	   rà   r   rø   rU  r\  r   )r­  rò   rN  rž  rŸ  r  Ú	arg_typesÚarg_declarationsr†  Útest_value_definitionsÚtest_value_namesÚtest_value_definitions2Útest_value_names2Úcheck_resizer²  s                  r   rÒ  Ú0GenOpTestCase.out_variant_op_test_case_generatorú  s
  € Ø—‘×"Ñ"ˆÜ˜“[ˆ
Ø�?‰?˜3Ó 1Ó$Ü Ð#:¸:¸,Ð!GÓHÐHØ)Ð*@¨J¯O©O¸CÓ,@ÐA×IÑIÈ#ÈsÓSÐÜ$ QÓ'ˆØ#×.Ñ.¨w×7Ñ7Ü Ø'Ð(<Ð'=Ð=QÐRYÐQZÐ[óð ô /¨vÓ6ˆ	ØŸ9™9ñá*3óó
Ðð —I‘IÑE¹9ÓEÓFˆ	ä�—‘Ó 1Ó$Ü˜6Ÿ>™>¨!Ñ,×1Ñ1´8×<Ñ<Ø—‘˜qÑ!×&Ñ&×+Ñ+¬v¯}©}Ò<ä Ð#FÀvÇ~Á~ÐFVÐ!WÓXÐXÜ!@ÀÈÓ!KÐÜ4°V¸QÓ?ÐÜ"AÀ&È!Ó"LÐÜ5°f¸aÓ@ÐÜ!4°V×!<Ñ!<‘vÀ'ˆðØ1Ð2ð 3àÐ
ð à�Y˜a 	˜{ð +ð
 Ðð Ø-Ð.ð /jØjvÐiwð xàÐð Ø/Ð0ð 1kØkwÐjxð yð!ˆ	ð( Ðr   c                óB  • UR                   R                  n[        U5      nUR                  S5      S::  a  [	        SU 35      eUS UR                  S5       R                  SS5      nUR                   R                  nUR                  U5      (       d  [	        SU SU 35      e[        U5      nSR                  S	 U 5       5      nSR                  S
 U 5       5      n[        UR                  5      S:X  a`  [        UR                  S   R                  [        5      (       a4  UR                  S   R                  R                  [         R"                  L d  [	        SUR                   35      e[%        US5      n	['        US5      n
SU SU SU SU SU	 SU
 S3nU$ )Nr„  r   rÚ  rÛ  rÜ  rÝ  rÞ  rß  c              3  ó>   #   • U  H  u  pUc  UOU SU 3v •  M     g 7frá  r   râ  s      r   rZ  Ú<GenOpTestCase.view_op_test_case_generator.<locals>.<genexpr>=  rä  rå  c              3  ó*   #   • U  H	  u  pUv •  M     g 7fr  r   rç  s      r   rZ  rý  B  rè  ré  r÷   rê  rì  rí  rî  rï  rð  z(};
  testStaticRuntime(script, args);
}
)rÝ   rß   rï   rœ  r<  rñ  rÞ   rò  rg  r;  r�  rê   rÜ   rç   r	   rà   r   rø   rU  r\  )r­  rò   rN  rž  rŸ  r  ró  rô  r†  rõ  rö  r²  s               r   r×  Ú)GenOpTestCase.view_op_test_case_generator/  s²  € Ø—‘—‘ˆÜ˜“[ˆ
Ø�?‰?˜3Ó 1Ó$Ü Ð#:¸:¸,Ð!GÓHÐHØ)Ð*@¨J¯O©O¸CÓ,@ÐA×IÑIÈ#ÈsÓSÐØ—&‘&×"Ñ"ˆØ#×.Ñ.¨w×7Ñ7Ü Ø'Ð(<Ð'=Ð=QÐRYÐQZÐ[óð ô /¨vÓ6ˆ	ØŸ9™9ñá*3óó
Ðð —I‘IÑE¹9ÓEÓFˆ	ä�—‘Ó 1Ó$Ü˜6Ÿ>™>¨!Ñ,×1Ñ1´8×<Ñ<Ø—‘˜qÑ!×&Ñ&×+Ñ+¬v¯}©}Ò<ä Ð#FÀvÇ~Á~ÐFVÐ!WÓXÐXÜ!@ÀÈÓ!KÐÜ4°V¸QÓ?ÐðØ1Ð2ð 3àÐ
ð à�Y˜a 	˜{ð +ð
 Ðð Ø-Ð.ð /ðˆ	ð  Ðr   r   N)r®  rÆ  rf  rï   )r®  rÇ  rf  rï   ©rò   r   rf  rï   )rò   r   rf  rï   )	rÊ  rË  rÌ  rÍ  r³  rÝ   rÒ  r×  rÎ  r   r   r   rÐ  rÐ  Ù  s   † ô2ô 2ô 3÷j,r   rÐ  )r   z:Sequence[Argument | SelfArgument | TensorOptionsArguments]rf  r   )rò   z/NativeFunctionsGroup | NativeFunctionsViewGrouprf  r   )rý   úBaseType | OptionalType | Typerf  ztuple[bool, str] | None)r  rï   rf  r   )r  rï   rf  rù   )r  rï   rf  rï   )rý   r  r=  rù   r  rï   rf  rï   )rN  r
   r=  rù   rf  rï   )rN  r
   rf  zlist[tuple[str, str | None]])rN  r
   rf  rï   rÈ  rÉ  )rN  r
   rf  r   r   )FÚ
__future__r   ÚjsonÚloggingr7  Útypingr   Útorchgen.api.cppÚapirè   Útorchgen.contextr   Útorchgen.modelr   r   r   r	   r
   r   r   r   r   r   r   Útorchgen.static_runtimer   Úcollections.abcr   Ú	getLoggerr   Ú__annotations__r   Ú	frozenseträ   rõ   ræ   r  r  r  r  r)  r*  r+  Útest_tensor_shapes_stringÚloadsr,  r.  rE  rU  r\  rø   rù   r9  rï   rú   rû   r   ra  rg  rq  rw  ry  rˆ  rŒ  r“  r�  r   r¢  r¤  rÐ  r   r   r   Ú<module>r     sF  ðÞ "ã Û Û Ý  ç Ð Ý 4÷÷ ÷ ñ õ +ö Ý(ð !×*Ò*Ó,€ˆÓ ,ð
ØIð
à	ô
ñ ðCóE€ôP9ðx)Ø,ð)àô)ñX 'ðóÐ ñ  "+Ð+LÓ!MÐ ô1ô5ñ #ð
óÐ ñ #ØQóÐ ô
ð <Ð Ø)-¯ªÐ4MÓ)NÐ ˜Ó Nôð(Ø,ð(Ø58ð(ØCFð(àô(ôV1ôUð ‡M�M�8Ø
‡J�J�Ø
‡L�L�'Ø
‡J�J�Ø
‡M�M�5Ø
×Ñ�uØ
‡K�K�ð3Ð /ðIØðIà!ôIô*1ô ôð	IØð	IØ,8ð	Iàô	Ið
IØð
IØ0<ð
Iàô
IðCØðCØ,8ðCàôCñ> !ðóÐ ô$<ô,÷fñ f÷RBò Br   