+
    ˜°³j¥Z  ã                  óp  € ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	H
t
 ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHt ^ R	IHtHt ^ R
IHtHtHtHt ^ RIHtH t H!t! ^ RI"H#t# ^ RI$H%t%H&t& ^ RI'H(t( ]
'       d   ^ RI)H*t*H+t+H,t,H-t- ]! R. R+O4      t.R R lt/R R lt0R R lt1 ! R R4      t2R R lt3]2Ph                  ]2Pj                  ]2Pl                  ]2Pn                  ]2Pp                  ]2Pr                  ]2Pt                  RR]2Pv                  RRRRRR R!R"RR#R$R%R&R'3R( R) llt<]=R*8X  d
   ]3! 4        R# R# ),é    )ÚannotationsN)Ú
namedtuple)ÚPath)ÚAnyÚTYPE_CHECKING)Ú	setValueT)ÚBaseCppType)Ú	GenLazyIRÚGenLazyNativeFuncDefinitionÚGenTSLazyIR)Úget_grouped_native_functionsÚparse_native_yaml)Úerror_on_missing_kernelsÚgen_dispatcher_registrationsÚ"gen_dispatchkey_nativefunc_headersÚparse_backend_yaml)ÚNativeFunctionÚNativeFunctionsGroupÚOperatorName)ÚSelectiveBuilder)ÚFileManagerÚNamespaceHelper)Ú
YamlLoader)ÚCallableÚIterableÚIteratorÚSequenceÚParsedExternalYamlc               ó$   € V ^8„  d   QhRRRRRR/# )é   Úbackend_yaml_pathÚstrÚgrouped_native_functionsz/Sequence[NativeFunction | NativeFunctionsGroup]Úreturnz8tuple[list[OperatorName], list[Any], list[OperatorName]]© )Úformats   "ÚY/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchgen/gen_lazy_tensor.pyÚ__annotate__r(   b   s&   € ÷ <ñ <Øð<àMð<ð >ñ<ó    c                ó  € \        V 4      ;_uu_ 4       p\        P                  ! V\        R 7      pRRR4       \	        X\
        4      '       g   \        R\        V4       24      hVP                  R. 4      pVP                  R. 4      pVP                  R. 4      p\	        V\        4      '       g   \        R\        V4       24      h\	        V\        4      '       g   \        R\        V4       24      h\	        V\        4      '       g   \        R\        V4       24      hV Uu. uF  p\        P                  ! V4      NK  	  ppV Uu. uF  p\        P                  ! V4      NK  	  p	pW…V	3#   + '       g   i     ELI; iu upi u upi )	)ÚLoaderNzExpected dict from YAML, got Úfull_codegenÚ
non_nativeÚir_genz&Expected full_codegen to be list, got z$Expected non_native to be list, got z Expected ir_gen to be list, got )ÚopenÚyamlÚloadr   Ú
isinstanceÚdictÚAssertionErrorÚtypeÚpopÚlistr   Úparse)
r!   r#   ÚfÚyaml_valuesr,   r-   r.   ÚnameÚfull_codegen_opnamesÚir_gen_opnamess
   &&        r'   Úparse_native_functions_keysr>   b   sQ  € ô 
Ð×	 Ô	  AÜ—i’i ¬*Ô5ˆ÷ 
!ä�k¤4×(Ò(ÜÐ<¼TÀ+Ó=NÐ<OÐPÓQÐQà—?‘? >°2Ó6€LØ—‘ ¨rÓ2€JØ�_‰_˜X rÓ*€FÜ�l¤D×)Ò)ÜØ4´T¸,Ó5GÐ4HÐIó
ð 	
ô �j¤$×'Ò'ÜÐCÄDÈÓDTÐCUÐVÓWÐWÜ�fœd×#Ò#ÜÐ?ÄÀVÃ¸~ÐNÓOÐOÙAMÓNÁ¸œL×.Ò.¨tÖ4ÁÐÐNÙ;AÓB¹6°4”l×(Ò(¨Ö.¹6€NÐBØ¨^Ð;Ð;÷% 
!×	 Ð	 üò  OùÚBs   ”E1Ä'FÅF
Å1F	c               ó$   € V ^8„  d   QhRRRRRR/# )r    Úshape_inference_hdrr"   Úexpected_shape_infr_declsz	list[str]r$   ÚNoner%   )r&   s   "r'   r(   r(   {   s$   € ÷ 
ñ 
Øð
Ø9Bð
à	ñ
r)   c                ó¦  €  \        V 4      ;_uu_ 4       pVP                  4       p\        VP                  R 4      4      pRRR4       T Uu. uF  qfX9  g   K  TNK  	  ppT'       d/   \        RT  R\        P                  P                  T4       24      hR#   + '       g   i     La; i  \         d   p\        RT  24      ThRp?ii ; iu upi )Ú
Nz<Unable to read from the specified shape_inference_hdr file: zGMissing shape inference function.

Please add declare this function in zD:

and implement it in the corresponding shape_inference.cpp file.

)
r/   ÚreadÚsetÚsplitÚOSErrorr4   Ú	ExceptionÚosÚlinesepÚjoin)r@   rA   r9   Úshape_infr_declsÚshape_infr_decl_linesÚeÚdeclÚmissing_declss   &&      r'   Úvalidate_shape_inference_headerrR   {   sÝ   € ðÜÐ%×&Ô&¨!Ø Ÿv™v›xÐÜ$'Ð(8×(>Ñ(>¸tÓ(DÓ$EÐ!÷ 'ñ 3óÙ2�ÐBWÑ6W�ˆÑ2ð ð ÷ Üð%Ø%8Ð$9ð :ä‡�‡��ÓÐ  ð$ó
ð 	
ñ ÷ '×&ûô ô ÜØJÐK^ÐJ_Ð`ó
àð	ûðüòs@   ‚B, •+BÁ B, ÁCÁCÂB)	Â$B, Â)B, Â,CÂ7CÃCc               ó   € V ^8„  d   QhRR/# )r    r$   r"   r%   )r&   s   "r'   r(   r(   –   s   € ÷ ñ ˜Cñ r)   c                 ó   € R # )aå  at::Tensor to_meta(const at::Tensor& tensor) {
  // undefined tensors can't be converted to the meta device, since they don't have sizes/strides
  if (!tensor.defined()) return tensor;
  auto out = at::native::empty_strided_meta_symint(tensor.sym_sizes(), tensor.sym_strides(), /*dtype=*/tensor.scalar_type(), /*layout=*/tensor.layout(), /*device=*/c10::Device(c10::kMeta), /*pin_memory=*/std::nullopt);
  // needs to handle wrapped numbers, so dtype promotion works properly.
  if (tensor.unsafeGetTensorImpl()->is_wrapped_number()) {
    out.unsafeGetTensorImpl()->set_wrapped_number(true);
  }
  return out;
}
std::optional<at::Tensor> to_meta(const std::optional<at::Tensor>& tensor) {
  if (tensor.has_value()) {
    return to_meta(*tensor);
  }
  return std::nullopt;
}

std::vector<at::Tensor> to_meta(at::ITensorListRef t_list) {
  std::vector<at::Tensor> outs;
  outs.reserve(t_list.size());
  for (const auto& tensor : t_list) {
    outs.push_back(to_meta(tensor));
  }
  return outs;
}
r%   r%   r)   r'   Úget_ltc_helper_fnsrU   –   s   € ñr)   c                  óˆ   € ] tR t^¶t$ RtR]R&   RtR]R&   RtR]R&   R	tR]R
&   Rt	R]R&   ]
tR]R&   ]tR]R&   RtR]R&   RtR# )Údefault_argsÚNoder"   Ú	node_baseNú
str | NoneÚnode_base_hdrú&torch/csrc/lazy/core/shape_inference.hr@   ztorch::lazy::LazyTensorÚtensor_classztorch/csrc/lazy/core/tensor.hÚtensor_class_hdrútype[GenLazyIR]Úlazy_ir_generatorú!type[GenLazyNativeFuncDefinition]Ú native_func_definition_generatorÚTorchScriptÚbackend_namer%   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rY   Ú__annotations__r[   r@   r]   r^   r
   r`   r   rb   rd   Ú__static_attributes__r%   r)   r'   rW   rW   ¶   s]   ‡ Ø€IˆsÓØ $€M�:Ó$ØGÐ˜ÓGØ1€L�#Ó1Ø;Ð�cÓ;Ø)2Ð�Ó2à#ð %Ð&Gó ð &€L�#×%r)   rW   c               ó   € V ^8„  d   QhRR/# )r    r$   rB   r%   )r&   s   "r'   r(   r(   Ã   s   € ÷ ]ñ ]ˆdñ ]r)   c                 ó  € \         P                  ! R R7      p V P                  RRRRR7       V P                  RRR	R
R7       V P                  RR\        RR
R7       V P                  RR\        RRR7       V P                  RRRRR7       V P                  RR\        \
        P                  RR7       V P                  RR\        \
        P                  RR7       V P                  RR\        \
        P                  R R7       V P                  R!R"\        \
        P                  R#R7       V P                  R$R%\        \
        P                  R&R7       V P                  R'R(\        \
        P                  R)R7       V P                  4       p\        \        4      P                  4       P                   ^,          p\	        VR*,          R+,          R,,          4      p\
        P"                  pVP$                  '       d   \&        p\
        P(                  p\+        VVP,                  VP.                  VP0                  VP2                  VP                  VP                  VP                  VP                  VP                  VVVP                  4       R# )-z"Generate Lazy Tensor backend files)Údescriptionz-sz--source-yamlz--source_yamlzApath to source yaml file containing operator external definitions)Úhelpz-oz--output-dirz--output_dirzoutput directoryz	--dry-runz	--dry_runF)r5   Údefaultrn   z--impl-pathz--impl_pathNz9path to the source C++ file containing kernel definitionsz--gen-ts-loweringsz--gen_ts_loweringsÚ
store_truezIGenerate TorchScript lowerings in addition to Lazy IR and NativeFunctions)Úactionrn   z--node-basez--node_basez7Name of backend specific custom Lazy IR Node base classz--node-base-hdrz--node_base_hdrz;Path to header file defining custom Lazy IR Node base classz--shape-inference-hdrz--shape_inference_hdrzBPath to header file defining custom Lazy shape inference functionsz--tensor-classz--tensor_classz1Name of backend specific custom Lazy Tensor classz--tensor-class-hdrz--tensor_class_hdrz5Path to header file defining custom Lazy Tensor classz--backend-namez--backend_namezName of the backend to generateÚatenÚsrcÚATen)ÚargparseÚArgumentParserÚadd_argumentÚboolr"   rW   rY   r[   r@   r]   r^   rd   Ú
parse_argsr   Ú__file__ÚabsoluteÚparentsr`   Úgen_ts_loweringsr   rb   Úrun_gen_lazy_tensorÚsource_yamlÚ
output_dirÚdry_runÚ	impl_path)ÚparserÚoptionsÚ
torch_rootÚ	aten_pathr`   rb   s         r'   Úmainr‡   Ã   s‹  € Ü×$Ò$Ð1UÔV€FØ
×ÑØØØØPð	 ô ð ×Ñ˜˜n¨nÐCUÐÔVØ
×ÑØ�[¤t°UÐASð ô ð ×ÑØØÜØØHð ô ð ×ÑØØØØXð	 ô ð ×ÑØØÜÜ×&Ñ&ØFð ô ð ×ÑØØÜÜ×*Ñ*ØJð ô ð ×ÑØØÜÜ×0Ñ0ØQð ô ð ×ÑØØÜÜ×)Ñ)Ø@ð ô ð ×ÑØØÜÜ×-Ñ-ØDð ô ð ×ÑØØÜÜ×)Ñ)Ø.ð ô ð ×ÑÓ!€Gô ”h“×(Ñ(Ó*×2Ñ2°1Õ5€JÜ�J Õ'¨%Õ/°&Õ8Ó9€IÜ)5×)GÑ)GÐØ××ÐÜ'Ðä×5Ñ5ð %ô ØØ×ÑØ×ÑØ�‰Ø×ÑØ×ÑØ×ÑØ×ÑØ× Ñ Ø×#Ñ#ØØ(Ø×Ñör)   FTztorch::lazyÚGetTensorListÚ$GetLtcTensorOrCreateForWrappedNumberÚTryGetLtcTensorzTORCH_LAZY_FN_COUNTER("lazy::")zLazyTensor::Createz$torch::lazy::CreateAtenFromLtcTensorz$torch::lazy::TupleAtenFromLtcTensorsztorch::lazy::ValueÚLazyTensorPtrztorch::lazy::GetBackendDevicec          <     ó�   € 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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R!RR"RR#R$/# )%r    r†   r"   r   r€   r�   rx   r‚   rZ   rY   r[   r]   r^   r@   r`   r_   rb   ra   Úbuild_in_treeÚper_operator_headersrd   Úgen_forced_fallback_codeÚuse_lazy_shapeÚbackend_namespaceÚget_tensorlistÚget_tensor_or_wrap_numberÚtry_get_tensorÚmetrics_counterÚcreate_tensorÚcreate_from_first_tensorÚcreate_aten_from_ltc_tensorÚtuple_aten_from_ltc_tensorsÚlazy_value_classÚlazy_tensor_ptrÚget_device_fnr$   rB   r%   )r&   s   "r'   r(   r(   #  s`  € ÷ jñ jØðjàðjð ðjð ð	jð
 ðjð ðjð ðjð ðjð ðjð ðjð 'ðjð'ðjð  ð!jð& ð'jð( ð)jð* #ð+jð, ð-jð2 ð3jð4 ð5jð6  #ð7jð8 ð9jð: ð;jð< ð=jð> #ð?jð@ "%ðAjðB "%ðCjðD ðEjðF ðGjðH ðIjðJ 
ñKjr)   c                ó’  aaaaaa	aaaaaaaaaaaaaa.a/a0a1a2a3a4a5a6a7€ VP                  R 4      pVR,          pR P                  VRR 4      p\        \        VV4      4       \        P
                  P                  V R4      o7R VV73R llp V ! S4      p!\        P
                  P                  V R4      p"\        P
                  P                  V R4      p#\        V"V#4      p$V$P                  V$P                  up%o.\        V%4      o2R R lp&\        S2V&R	7      o2\        VS2S.4      p'V'P                  o/V'P                  p(V'P                  p)V'P                  o.\        VS24      w  o1o5o3S13R
 R llo0\         P"                  ! 4       p*S/f   \%        R4      hS.S/,          P'                  4       p+Ve   \)        V%S.S/V(V+VS14        S	e;   \+        S0! \,        P.                  ! S.S/,          S4      S24      4      p,\1        S	V,4       V+f   \%        R4      h\3        V!V+V)S.S2S/V(V4       V(f   S/.MS/V(. F  p-\5        V!SV+S.S2S/V-V*VVVRR7       K  	  \7        V)4      o6V!P9                  S/ R2RV.V/VV0VVVVVVVV2VVVV6VV	VVVV3R l4       V
! S.S/,          WåV4      o4V!P9                  RRV0V1V2V3V4VV63R l4       V!P9                  RRV4VV5V63R l4       R# )z::NÚ	templatesc               ó    € V ^8„  d   QhRRRR/# )r    Úinstall_dirr"   r$   r   r%   )r&   s   "r'   r(   Ú)run_gen_lazy_tensor.<locals>.__annotate__O  s   € ÷ 
ñ 
 sð 
¨{ñ 
r)   c                ó    <€ \        V SSR 7      # ))r    Útemplate_dirr�   )r   )r    r�   r£   s   &€€r'   Úmake_file_managerÚ.run_gen_lazy_tensor.<locals>.make_file_managerO  s   ø€ ÜØ#°,Èô
ð 	
r)   znative/native_functions.yamlznative/tags.yamlc               ó    € V ^8„  d   QhRRRR/# )r    r9   z%NativeFunctionsGroup | NativeFunctionr$   r"   r%   )r&   s   "r'   r(   r¡   _  s   € ÷ #ñ #Ð Eð #È#ñ #r)   c                ó°   € \        V \        4      '       d   V P                  P                  MV P                  p\	        VP
                  P
                  4      # )z—
We sort the native function because of the note in concat_map_codegen.
TODO(alanwaketan): Remove this sorting hack once all ops are grouped properly.
)r2   r   Ú
functionalÚfuncr"   r;   )r9   r©   s   & r'   Úsort_native_functionÚ1run_gen_lazy_tensor.<locals>.sort_native_function_  s9   € ô
 %/¨qÔ2F×$GÒ$Gˆq�|‰|× Ò ÈQÏVÉVˆÜ�4—9‘9—>‘>Ó"Ð"r)   )Úkeyc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r    r©   z)Callable[[NativeFunction], Sequence[str]]Úxsz/Iterable[NativeFunctionsGroup | NativeFunction]Úops_listzlist[OperatorName]r$   zIterator[str]r%   )r&   s   "r'   r(   r¡   {  s0   € ÷ 'ñ 'Ø7ð'à;ð'ð %ð'ð 
ñ	'r)   c              3  óô   "  € V Fk  p\        V\        4      '       d   \        VP                  4       4      MV.pV F0  pVP                  P
                  V9   g   K   V ! V4       Rj  x€L
  K2  	  Km  	  R#  L5i)zÃ
We code-gen for the functional variant, which is all we need for IR classes/lowerings/shape inferences, but we
only code-gen additional entries for the inplace variant for the native functions.
N)r2   r   r7   Ú	functionsr©   r;   )r©   r®   r¯   ÚxÚfsr9   s   &&&   r'   Úconcat_map_codegenÚ/run_gen_lazy_tensor.<locals>.concat_map_codegen{  s`   é € ó ˆAÜ(2°1Ô6J×(KÒ(K”�a—k‘k“mÔ$ÐRSÐQTˆBÛ�Ø—6‘6—;‘; (Ö*Ù# A›w×&Ò&ó ó ñ 'ùs   ‚AA8ÁA8Á'A6Á(A8zbackend_key must be non-Nonezclass_name must be non-NoneF)r�   rŽ   rd   Úeager_registrationzNativeFunctions.cppzDispatchKeyNativeFunctions.cppc                  ó:  <€ R SSRRRRRRRRR	R
RS RS R2S R2.S'       d   R.M. ,            U u. uF	  p RV  R2NK  	  up R\        4       RRRSP                  RSP                  R\        S! S! S R2SS,          SSSSS
SSSSSSSS	4      S4      4      /# u up i )ÚincludeszATen/Functions.hzATen/native/TensorConversions.hzATen/NativeFunctions.hz6ATen/CompositeExplicitAutogradNonFunctionalFunctions.hzATen/MetaFunctions.hzATen/Operators.hzATen/native/CPUFallback.hú!torch/csrc/lazy/core/ir_builder.hz*torch/csrc/lazy/core/lazy_graph_executor.hztorch/csrc/lazy/core/metrics.hútorch/csrc/lazy/core/shape.hÚ/zNativeFunctions.hz	/LazyIr.hz.torch/csrc/lazy/ts_backend/ts_eager_fallback.hú
#include <Ú>Ú
helper_fnsÚnative_functions_includeÚ Únamespace_prologueÚnamespace_epilogueÚnative_function_definitionsÚNativeFunctions)rU   ÚprologueÚepiloguer7   )ÚpathÚbackend_indicesÚbackend_keyr‘   r´   r˜   r—   r–   r�   rœ   r“   r’   r#   r›   r•   rb   Ú	ns_helperr€   r@   r]   r^   r”   r™   s    €€€€€€€€€€€€€€€€€€€€€€r'   Ú<lambda>Ú%run_gen_lazy_tensor.<locals>.<lambda>ß  s  ø€ Øð %Ø'Ø&Ø5Ø,ØLØ*Ø&Ø/Ø7Ø@Ø4Ø2Ø!�l ! K =Ð0AÐBØ!�l )Ð,ð÷& 0ð FÑFàö)óñ�Dð ˜T˜F !Ó$ññð2 Ô,Ó.Ø&¨Ø  )×"4Ñ"4Ø  )×"4Ñ"4Ø)¬4Ù"Ù4Ø&˜- Ð7Ø'¨Õ4Ø$Ø0Ø)Ø&Ø1Ø&Ø'Ø%Ø0Ø3Ø3Ø'Ø%óð" -ó%ó,ñ=4
ùòs   ±BzLazyIr.hc                 ó¼   <€ R R	 U u. uF	  p RV  R2NK  	  up RSe   RS R2.M. R\        S! SSSS,           4      4      RSP                  RSP                  /# u up i )
Úlazy_ir_sysincr¼   r½   Úlazy_ir_incz
#include "Ú"Úir_declarationsrÁ   rÂ   )zATen/core/Formatting.hzc10/core/ScalarType.hztorch/csrc/lazy/core/hash.hútorch/csrc/lazy/core/ir.hrº   ÚoptionalÚvector)r7   rÅ   rÆ   )rÇ   r´   r,   r#   r.   Úlazy_ir_objr[   rÊ   s    €€€€€€€r'   rË   rÌ     s�   ø€ Øñóñ�Dð ˜T˜F !Ó$ññð ØÒ(ð )¨¨°qÐ9Ñ:àØœtÙ"ØÐ!9¸<È&Õ;Póó ð
 ! )×"4Ñ"4Ø  )×"4Ñ"4ñ-
ùòs   ‡AzLazyNonNativeIr.hc                 óØ   <€ R . ROS'       d   S.M. ,            U u. uF  p V '       g   K  RV  R2NK  	  up R\         P                  ! SS4      RSP                  RSP                  /# u up i )Úlazy_non_native_ir_incr¼   r½   Únon_native_ir_nodesrÁ   rÂ   )rÒ   r¹   z+torch/csrc/lazy/core/internal_ops/ltc_ops.hr\   )ÚdestÚ!generate_non_native_lazy_ir_nodesrÅ   rÆ   )rÇ   rÕ   r[   r-   rÊ   s    €€€€r'   rË   rÌ   ;  s€   ø€ Ø$ò÷ '4�M‘?¸ö=ó
'ñ=�Dô ô %�*˜T˜F !Ó$ñ=ñ
'ð "¤4×#IÒ#IØ˜Kó$ð ! )×"4Ñ"4Ø  )×"4Ñ"4ñ!
ùò
's
   ›
A'ª
A'éÿÿÿÿ)rG   rL   r   r	   rJ   rÇ   r   Únative_functionsrÈ   r   Úsortedr   rÉ   Úautograd_keyÚcpp_namespacer>   r   Úget_nop_selectorr4   Únative_function_class_namer   r7   rÙ   ÚGenLazyShapeInferenceDefinitionrR   r   r   r   Úwrite_with_template)8r†   r   r€   r�   r‚   rY   r[   r]   r^   r@   r`   rb   r�   rŽ   rd   r�   r�   r‘   r’   r“   r”   r•   r–   r—   r˜   r™   rš   r›   rœ   Ú	lv_tokensÚlv_classÚlv_nsr¤   ÚfmÚnative_yaml_pathÚtags_yaml_pathÚparsed_yamlrÜ   rª   Úparsed_backend_yamlrÞ   rß   ÚselectorÚ
class_namerA   Údispatch_keyrÈ   rÉ   r´   r,   r#   r.   rÕ   r-   rÊ   r£   s8   &&ff&&ffff&f&&&f&fffffffff&ff                 @@@@@@@@@@r'   r~   r~   #  s  ÿÿÿü€ ðL !×&Ñ& tÓ,€IØ˜�}€HØ�I‰I�i  �nÓ%€EÜŒk˜% Ó*Ô+Ü—7‘7—<‘< 	¨;Ó7€L÷
ñ 
ñ
 
˜:Ó	&€Bä—w‘w—|‘| IÐ/MÓNÐÜ—W‘W—\‘\ )Ð-?Ó@€NÜ#Ð$4°nÓE€Kà×$Ñ$Ø×#Ñ#ð &Ð�oô  <Ð<LÓMÐõ#ô  &Ø Ð&:ô Ðô -ØÐ-¨óÐð &×1Ñ1€KØ&×3Ñ3€LØ'×5Ñ5€MØ)×9Ñ9€Oô (CØÐ-ó(Ñ$€L�*˜fð (4÷'ô   ×0Ò0Ó2€HàÒÜÐ;Ó<Ð<Ø  Õ-×HÑHÓJ€JàÒÜ ØØØØØØØô	
ðð Ò&Ü$(ÙÜ×4Ò4Ø# KÕ0°,óð )ó	ó%
Ð!ô 	(Ð(;Ð=VÔWØÒÜÐ:Ó;Ð;ô 'Ø
ØØØØ ØØØô	ð &Ò-ˆ‰°KÀÐ3NÒNð 	ô 	%ØØØØØ$ØØØØ'Ø!5Ø%Ø$÷	
ñ 	Oô$   Ó.€IØ×ÑØˆ-Ð*Ð+Ø(÷4	
÷ 4	
÷ 4	
ñ 4	
ô8ñt $Ø˜Õ$ l¸~ó€Kð ×ÑØØ÷	
ò 	
ôð< ×ÑØØ÷	
ör)   Ú__main__)rÉ   rÞ   rß   rÈ   r,   )>Ú
__future__r   ru   rJ   Úcollectionsr   Úpathlibr   Útypingr   r   r0   Útorchgen.destrÙ   Útorchgen.api.lazyr   Útorchgen.api.typesr	   Útorchgen.dest.lazy_irr
   r   r   Útorchgen.genr   r   Útorchgen.gen_backend_stubsr   r   r   r   Útorchgen.modelr   r   r   Ú!torchgen.selective_build.selectorr   Útorchgen.utilsr   r   Útorchgen.yaml_utilsr   Úcollections.abcr   r   r   r   r   r>   rR   rU   rW   r‡   rY   r[   r]   r^   r@   r`   rb   rd   r~   re   r%   r)   r'   Ú<module>rÿ      s$  ðÝ "ã Û 	Ý "Ý ß %ã å Ý 'Ý *ß UÑ Uß H÷ó ÷ NÑ MÝ >ß 7Ý *÷ ßFÓFñ~  ØÚWóÐ õ<õ2
õ6÷@
&ñ 
&õ]ðL "×+Ñ+Ø ,× :Ñ :Ø$×1Ñ1Ø(×9Ñ9Ø+×?Ñ?Ø)5×)GÑ)Gð 	×5Ñ5àð "'Ø$×1Ñ1Ø%*Øð +Ø)Ø%KØ+Ø<Ø-Ø%*Ø'MØ'MØ0Ø*Ø8÷IjðZ	 ˆzÔÙ†Fñ r)   