ó
    "Eñi€ä ã                  ó¬
  • % S SK Jr  S SKrS SKrS SKrS SKJr  S SKJrJr  S SK	J
r
  S SKJr  S SKJrJr  \
(       a
  S SKJrJrJr  \" S	S
9 " S S5      5       r " S S\5      rSr/ SQr/ SQrS/\ V s/ s H  n SU -   PM
     sn -   rSS1r " S S\5      r " S S\5      rSgS jr\ H<  r\ H3  r\ " \\\-   5      (       a  M  \" 5       r!\"" \!5        \#" S\ \ S\! 35      e   M>     \RH                  \RJ                  \RL                  \RN                  \RP                  1r)\RJ                  \RL                  1r*\RL                  \RV                  \RX                  \RZ                  \RJ                  \RH                  \RN                  \R\                  \R^                  \R`                  \Rb                  \Rd                  \Rf                  \Rh                  \Rj                  \Rl                  \Rn                  \Rp                  \Rr                  \Rt                  \Rv                  \Rx                  \Rz                  \R|                  \R~                  \R€                  \R‚                  \R„                  \R†                  \RP                  /rDShS jrEShS jrFShS jrGShS  jrHShS! jrI\FS"\GS#0rJ " S$ S%\5      rK0 rLS&\MS''   \" \KRœ                  \KRž                  \KR                   \KR¢                  \KR¤                  /5      \LS('   \" \KR¦                  \KR¨                  /5      \LS)'   \" \KRª                  \KR¬                  /5      \LS*'   \LS(   \LS)   -  \LS+'   \LS+   \LS*   -  \LS,'   \LS)   \LS*   -  \LS-'    " S. S/\5      rW " S0 S1\5      rX " S2 S3\5      rY\" S	S
9 " S4 S55      5       rZ " S6 S7\5      r[\" S	S
9 " S8 S95      5       r\\" S	S
9 " S: S;5      5       r]\" S	S
9 " S< S=5      5       r^\" S	S
9 " S> S?5      5       r_\" S	S
9 " S@ SA5      5       r`\" S	S
9 " SB SC5      5       ra\" S	S
9 " SD SE5      5       rb " SF SG\5      rc\" S	S
9 " SH SI\b5      5       rd\" S	S
9 " SJ SK\b5      5       re\" S	S
9 " SL SM\b5      5       rf\" S	S
9 " SN SO\b5      5       rg\" S	S
9 " SP SQ5      5       rh\" S	S
9 " SR SS5      5       ri\" S	S
9 " ST SU5      5       rj\" S	S
9 " SV SW5      5       rk\" S	S
9 " SX SY5      5       rl/ SZQrm\" S	S
9 " S[ S\5      5       rn\" S	S
9 " S] S^5      5       ro        SiS_ jrp\" S	S
9 " S` Sa5      5       rqSjSb jrrSkSc jrsSlSd jrt\" S	S
9 " Se Sf5      5       rugs  sn f )mé    )ÚannotationsN)Ú	dataclass)ÚautoÚEnum)ÚTYPE_CHECKING)Úassert_never)ÚNamespaceHelperÚ
OrderedSet)ÚCallableÚIteratorÚSequenceT)Úfrozenc                  ó4   • \ rS rSr% S\S'   S\S'   S	S jrSrg)
ÚLocationé,   ÚstrÚfileÚintÚlinec                ó8   • U R                    SU R                   3$ )NÚ:)r   r   ©Úselfs    ÚK/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torchgen/model.pyÚ__str__ÚLocation.__str__1   s   € Ø—)‘)�˜A˜dŸi™i˜[Ð)Ð)ó    © N©Úreturnr   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r   Ú__static_attributes__r   r   r   r   r   ,   s   ‡ à
ƒIØ
ƒI÷*r   r   c                  ó0   • \ rS rSr\" 5       r\" 5       rSrg)ÚVarianté6   r   N)r!   r"   r#   r$   r   ÚfunctionÚmethodr&   r   r   r   r(   r(   6   s   † Ù‹v€HÙ‹VƒFr   r(   z
at::native)ÚCPUÚCUDAÚHIPÚXLAÚMTIAÚMPSÚIPUÚXPUÚHPUÚVEÚLazyÚMetaÚPrivateUse1ÚPrivateUse2ÚPrivateUse3)Ú Ú	QuantizedÚSparseÚ	SparseCsrÚNestedTensorÚAutogradÚAutogradNestedTensorr@   Ú	quantizedÚquantized_decomposedc                  óÐ  • \ rS rSrSr\r\" 5       r\" 5       r\" 5       r	\" 5       r
\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r \" 5       r!\" 5       r"\" 5       r#\" 5       r$\" 5       r%\" 5       r&\" 5       r'\" 5       r(\" 5       r)\" 5       r*\" 5       r+\" 5       r,\" 5       r-\" 5       r.\" 5       r/\" 5       r0\" 5       r1\" 5       r2\" 5       r3\" 5       r4\" 5       r5\" 5       r6\" 5       r7\" 5       r8\" 5       r9\" 5       r:\" 5       r;\" 5       r<\" 5       r=\" 5       r>\" 5       r?\" 5       r@\" 5       rA\" 5       rB\" 5       rC\" 5       rD\" 5       rE\" 5       rF\" 5       rG\" 5       rH\" 5       rI\" 5       rJ\" 5       rK\" 5       rL\" 5       rM\" 5       rN\" 5       rO\" 5       rP\" 5       rQ\" 5       rR\" 5       rS\" 5       rT\" 5       rU\" 5       rV\" 5       rW\" 5       rX\" 5       rY\" 5       rZ\" 5       r[\" 5       r\\" 5       r]\" 5       r^\" 5       r_\" 5       r`\" 5       ra\" 5       rb\" 5       rc\" 5       rd\" 5       re\" 5       rf\" 5       rg\" 5       rh\" 5       ri\" 5       rj\" 5       rk\" 5       rl\" 5       rm\" 5       rn\" 5       ro\" 5       rp\" 5       rq\" 5       rr\" 5       rs\" 5       rt\" 5       ru\" 5       rv\" 5       rw\" 5       rx\" 5       ry\" 5       rz\" 5       r{\" 5       r|\" 5       r}\" 5       r~\" 5       r\" 5       r€\" 5       r�\" 5       r‚\" 5       rƒ\" 5       r„\" 5       r…\" 5       r†\" 5       r‡\" 5       rˆ\" 5       r‰\" 5       rŠ\" 5       r‹\" 5       rŒ\" 5       r�\" 5       rŽ\" 5       r�\" 5       r�SS jr‘SS jr’\“S	S j5       r”Sr•g)
ÚDispatchKeyéd   r   c                ó   • U R                   $ ©N©Únamer   s    r   r   ÚDispatchKey.__str__ø   ó   € Ø�y‰yÐr   c                ó4   • [        U 5      R                  5       $ rH   )r   Úlowerr   s    r   rN   ÚDispatchKey.lowerû   s   € Ü�4‹y�‰Ó Ð r   c                ó~   • [         R                  R                  5        H  u  pX:X  d  M  Us  $    [        SU  35      e)Nzunknown dispatch key )rE   Ú__members__ÚitemsÚAssertionError©ÚvalueÚkÚvs      r   ÚparseÚDispatchKey.parseþ   s<   € ä×+Ñ+×1Ñ1Ö3‰DˆAØ�zØ’ñ 4ô Ð4°U°GÐ<Ó=Ð=r   r   Nr   )rU   r   r    rE   )–r!   r"   r#   r$   Ú	UndefinedÚCatchAllr   ÚFPGAÚMAIAÚVulkanÚMetalÚMKLDNNÚOpenGLÚOpenCLÚIDEEPÚCustomRNGKeyIdÚ	MkldnnCPUr=   r>   r?   ÚDenseÚPythonTLSSnapshotÚPreDispatchÚPythonDispatcherÚPythonÚFuncTorchDynamicLayerBackModeÚ
ZeroTensorÚ	ConjugateÚNegativeÚBackendSelectÚNamedÚAutogradOtherÚAutogradFunctionalityrA   ÚTracerÚAutocastÚAutocastCPUÚAutocastCUDAÚBatchedÚVmapModeÚFuncTorchGradWrapperÚFuncTorchBatchedÚBatchedNestedTensorÚFuncTorchVmapModeÚFuncTorchDynamicLayerFrontModeÚFunctionalizeÚTESTING_ONLY_GenericWrapperÚTESTING_ONLY_GenericModeÚADInplaceOrViewr@   ÚCompositeImplicitAutogradÚ%CompositeImplicitAutogradNestedTensorÚCompositeExplicitAutogradÚ&CompositeExplicitAutogradNonFunctionalÚFuncTorchBatchedDecompositionr,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   ÚQuantizedCPUÚQuantizedCUDAÚQuantizedHIPÚQuantizedXLAÚQuantizedMTIAÚQuantizedMPSÚQuantizedIPUÚQuantizedXPUÚQuantizedHPUÚQuantizedVEÚQuantizedLazyÚQuantizedMetaÚQuantizedPrivateUse1ÚQuantizedPrivateUse2ÚQuantizedPrivateUse3Ú	SparseCPUÚ
SparseCUDAÚ	SparseHIPÚ	SparseXLAÚ
SparseMTIAÚ	SparseMPSÚ	SparseIPUÚ	SparseXPUÚ	SparseHPUÚSparseVEÚ
SparseLazyÚ
SparseMetaÚSparsePrivateUse1ÚSparsePrivateUse2ÚSparsePrivateUse3ÚSparseCsrCPUÚSparseCsrCUDAÚSparseCsrHIPÚSparseCsrXLAÚSparseCsrMTIAÚSparseCsrMPSÚSparseCsrIPUÚSparseCsrXPUÚSparseCsrHPUÚSparseCsrVEÚSparseCsrLazyÚSparseCsrMetaÚSparseCsrPrivateUse1ÚSparseCsrPrivateUse2ÚSparseCsrPrivateUse3ÚNestedTensorCPUÚNestedTensorCUDAÚNestedTensorHIPÚNestedTensorXLAÚNestedTensorMTIAÚNestedTensorMPSÚNestedTensorIPUÚNestedTensorXPUÚNestedTensorHPUÚNestedTensorVEÚNestedTensorLazyÚNestedTensorMetaÚNestedTensorPrivateUse1ÚNestedTensorPrivateUse2ÚNestedTensorPrivateUse3ÚAutogradCPUÚAutogradCUDAÚAutogradHIPÚAutogradXLAÚAutogradMTIAÚAutogradMPSÚAutogradIPUÚAutogradXPUÚAutogradHPUÚ
AutogradVEÚAutogradLazyÚAutogradMetaÚAutogradPrivateUse1ÚAutogradPrivateUse2ÚAutogradPrivateUse3r   rN   ÚstaticmethodrX   r&   r   r   r   rE   rE   d   s  † Ø€IØ€Há‹6€DÙ‹6€DÙ‹V€FÙ‹F€EÙ‹V€FÙ‹V€FÙ‹V€FÙ‹F€EÙ“V€NÙ“€IÙ‹V€FÙ“€IÙ“6€LÙ‹F€Eá›ÐÙ“&€KÙ“vÐÙ‹V€FÙ$(£FÐ!Ù“€JÙ“€IÙ‹v€HÙ“F€MÙ‹F€EÙ“F€MÙ ›FÐÙ›6ÐÙ‹V€FÙ‹v€HÙ“&€KÙ“6€LÙ‹f€GÙ‹v€HÙ›6ÐÙ“vÐÙ›&ÐÙ›ÐÙ%)£VÐ"Ù“F€MÙ"&£&ÐÙ#›vÐá“f€OÙ‹v€HÙ $£ÐÙ,0«FÐ)Ù $£ÐÙ-1«VÐ*Ù$(£FÐ!ñ ‹&€CÙ‹6€DÙ
‹&€CÙ
‹&€CÙ‹6€DÙ
‹&€CÙ
‹&€CÙ
‹&€CÙ
‹&€CÙ	‹€BÙ‹6€DÙ‹6€DÙ“&€KÙ“&€KÙ“&€KÙ“6€LÙ“F€MÙ“6€LÙ“6€LÙ“F€MÙ“6€LÙ“6€LÙ“6€LÙ“6€LÙ“&€KÙ“F€MÙ“F€MÙ›6ÐÙ›6ÐÙ›6ÐÙ“€IÙ“€JÙ“€IÙ“€IÙ“€JÙ“€IÙ“€IÙ“€IÙ“€IÙ‹v€HÙ“€JÙ“€JÙ›ÐÙ›ÐÙ›ÐÙ“6€LÙ“F€MÙ“6€LÙ“6€LÙ“F€MÙ“6€LÙ“6€LÙ“6€LÙ“6€LÙ“&€KÙ“F€MÙ“F€MÙ›6ÐÙ›6ÐÙ›6ÐÙ“f€OÙ“vÐÙ“f€OÙ“f€OÙ“vÐÙ“f€OÙ“f€OÙ“f€OÙ“f€OÙ“V€NÙ“vÐÙ“vÐÙ"›fÐÙ"›fÐÙ"›fÐÙ“&€KÙ“6€LÙ“&€KÙ“&€KÙ“6€LÙ“&€KÙ“&€KÙ“&€KÙ“&€KÙ“€JÙ“6€LÙ“6€LÙ›&ÐÙ›&ÐÙ›&Ðôô!ð ó>ó ó>r   rE   c                  ó>   • \ rS rSr\" 5       r\" 5       r\" 5       rSrg)Ú_TorchDispatchModeKeyi  r   N)	r!   r"   r#   r$   r   ÚFAKEÚPROXYÚ
FUNCTIONALr&   r   r   r   rÔ   rÔ     s   † Ù‹6€DÙ‹F€EÙ“ƒJr   rÔ   c                 ó‚   ^• / n [          H"  mU R                  U4S j[         5       5        M$     SR                  U 5      $ )Nc              3  ó4   >#   • U  H  nS T U S3v •  M     g7f)z    z	 = auto()Nr   )Ú.0ÚbcÚfks     €r   Ú	<genexpr>Ú.codegen_per_backend_entries.<locals>.<genexpr>  s    øé € ÐGÒ4F¨b�4˜�t˜B˜4˜yÕ)Ò4Fùó   ƒÚ
)ÚFUNCTIONALITY_KEYSÚextendÚBACKEND_COMPONENTSÚjoin)ÚrrÜ   s    @r   Úcodegen_per_backend_entriesræ     s3   ø€ Ø€Aß ˆØ	�‰ÔGÕ4FÓGÖGñ !à�9‰9�Q‹<Ðr   zMissing zL from DispatchKey enum.  Here is the autogenerated list we expect to have:

c                ó„   • U [         R                  [         R                  [         R                  [         R                  1;   $ rH   )rE   r„   r…   r‚   rƒ   ©Údks    r   Úis_generic_dispatch_keyrê   M  s8   € ØÜ×-Ñ-Ü×:Ñ:Ü×-Ñ-Ü×9Ñ9ð	ñ ð r   c                óÀ   • U [         R                  [         R                  [         R                  [         R                  [         R
                  [         R                  1;   $ rH   )rE   r-   rˆ   r—   r¦   rµ   rÄ   rè   s    r   Úis_cuda_dispatch_keyrì   W  sJ   € ØÜ×ÑÜ×!Ñ!Ü×ÑÜ×!Ñ!Ü×$Ñ$Ü× Ñ ðñ ð r   c                óÀ   • U [         R                  [         R                  [         R                  [         R                  [         R
                  [         R                  1;   $ rH   )rE   r3   rŽ   r�   r¬   r»   rÊ   rè   s    r   Úis_xpu_dispatch_keyrî   c  sH   € ØÜ�‰Ü× Ñ Ü×ÑÜ× Ñ Ü×#Ñ#Ü×Ñðñ ð r   c                ó   • U [         ;   $ rH   )ÚSTRUCTURED_DISPATCH_KEYSrè   s    r   Úis_structured_dispatch_keyrñ   p  s   € ØÔ)Ñ)Ð)r   c                ó   • U [         ;   $ rH   )ÚUFUNC_DISPATCH_KEYSrè   s    r   Úis_ufunc_dispatch_keyrô   t  s   € àÔ$Ñ$Ð$r   ÚcudaÚxpuc                  óV  • \ rS rSr\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r	\" 5       r
\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       rSS jr\S	S j5       r\S
S j5       r\SS j5       rSrg)Ú
ScalarTypei}  c                ó   • U R                   $ rH   rI   r   s    r   r   ÚScalarType.__str__‘  rL   r   c                ód   • [         R                  R                  5        H  u  pX:X  d  M  Us  $    g rH   )rø   rQ   rR   rT   s      r   Úmaybe_parseÚScalarType.maybe_parse”  s,   € ä×*Ñ*×0Ñ0Ö2‰DˆAØ�zØ’ñ 3ð r   c                óR   • [         R                  U 5      nUc  [        SU  35      eU$ )Nzunknown dtype )rø   rü   rS   )rU   Úmb_rs     r   rX   ÚScalarType.parse›  s.   € ä×%Ñ% eÓ,ˆØ‰<Ü  >°%°Ð!9Ó:Ð:Øˆr   c                óÚ   • [        5       nU R                  S5       HK  nU[        ;   a  UR                  [        U   5        M'  UR	                  [
        R                  U5      5        MM     U$ )Nú, )r
   ÚsplitÚDTYPE_CLASSESÚupdateÚaddrø   rX   )ÚvaluesÚdtypesrU   s      r   Ú	parse_setÚScalarType.parse_set¢  sS   € ä)3«ˆØ—\‘\ $Ö'ˆEØœÓ%Ø—‘œm¨EÑ2Ö3à—
‘
œ:×+Ñ+¨EÓ2Ö3ñ	 (ð
 ˆr   r   Nr   )rU   r   r    zScalarType | None)rU   r   r    rø   )r  r   r    úOrderedSet[ScalarType])r!   r"   r#   r$   r   ÚByteÚCharÚShortÚIntÚLongÚHalfÚFloatÚDoubleÚComplexHalfÚComplexFloatÚComplexDoubleÚBoolÚBFloat16ÚFloat8_e5m2ÚFloat8_e5m2fnuzÚFloat8_e4m3fnÚFloat8_e4m3fnuzÚFloat8_e8m0fnur   rÒ   rü   rX   r	  r&   r   r   r   rø   rø   }  sÁ   † Ù‹6€DÙ‹6€DÙ‹F€EÙ
‹&€CÙ‹6€DÙ‹6€DÙ‹F€EÙ‹V€FÙ“&€KÙ“6€LÙ“F€MÙ‹6€DÙ‹v€HÙ“&€KÙ“f€OÙ“F€MÙ“f€OÙ“V€Nôð óó ðð óó ðð óó ór   rø   z!dict[str, OrderedSet[ScalarType]]r  ÚIntegralÚFloatingÚComplexÚAllÚAllAndComplexÚFloatingAndComplexc                  ó”   • \ rS rSr\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r	\" 5       r
\" 5       rSS jr\SS j5       rSrg)ÚUfuncKeyiÈ  c                ó   • U R                   $ rH   rI   r   s    r   r   ÚUfuncKey.__str__×  rL   r   c                ó~   • [         R                  R                  5        H  u  pX:X  d  M  Us  $    [        SU  35      e)Nzunknown ufunc key )r%  rQ   rR   rS   rT   s      r   rX   ÚUfuncKey.parseÚ  s<   € ä×(Ñ(×.Ñ.Ö0‰DˆAØ�zØ’ñ 1ô Ð1°%°Ð9Ó:Ð:r   r   Nr   )rU   r   r    r%  )r!   r"   r#   r$   r   ÚCUDAFunctorÚCUDAFunctorOnOtherÚCUDAFunctorOnSelfÚ	CPUScalarÚ	CPUVectorÚ
ScalarOnlyÚGenericr   rÒ   rX   r&   r   r   r   r%  r%  È  sR   † ñ “&€KÙ›ÐÙ›Ðá“€IÙ“€Iñ “€JÙ‹f€Gôð ó;ó ó;r   r%  c                  ó   • \ rS rSrSrSrSrg)ÚDeviceCheckTypeiâ  r   é   r   N)r!   r"   r#   r$   ÚNoCheckÚ	ExactSamer&   r   r   r   r2  r2  â  s   † Ø€GØƒIr   r2  c                  ó>   • \ rS rSr\" 5       r\" 5       r\" 5       rSrg)ÚViewSchemaKindiç  r   N)	r!   r"   r#   r$   r   ÚaliasingÚaliasing_inplaceÚnon_aliasingr&   r   r   r   r7  r7  ç  s   † Ù‹v€HÙ“vÐÙ“6ƒLr   r7  c                  óª  • \ rS rSr% S\S'   S\S'   S\S'   S\S'   S	\S
'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S '   S\S!'   S\S"'   S\S#'   S\S$'   S\S%'   \ S0         S1S' jj5       rS2S( jrS2S) jr\	S3S* j5       r
\	S3S+ j5       r\	S4S, j5       r\	S5S- j5       r\	S3S. j5       rS/rg&)6ÚNativeFunctioniù  r   Ú	namespaceÚFunctionSchemaÚfuncÚboolÚ!use_const_ref_for_mutable_tensorsÚdevice_guardr2  Údevice_checkú
str | NoneÚpython_moduleÚcategory_overridezset[Variant]ÚvariantsÚmanual_kernel_registrationÚmanual_cpp_bindingr   Úloczlist[OperatorName]Úautogenzdict[UfuncKey, UfuncInnerLoop]Úufunc_inner_loopÚ
structuredzOperatorName | NoneÚstructured_delegateÚstructured_inheritszPrecompute | NoneÚprecomputedúset[str]Úcpp_no_default_argsÚis_abstractÚ&has_composite_implicit_autograd_kernelÚ4has_composite_implicit_autograd_nested_tensor_kernelÚ&has_composite_explicit_autograd_kernelÚ5has_composite_explicit_autograd_non_functional_kernelÚtagsNc           	     óà  • U R                  5       nUR                  S5      n[        U[        5      (       d  [	        SU 35      e[
        R                  " USS9nUR                  SS9n[        R                  UR                  5      nUR                  S/ 5      n	[        U	[        5      (       d  [	        SU	 35      e[        U	5      n
UR                  S	S
5      n[        U[        5      (       d  [	        SU 35      eU(       a&  UR                  R                  (       a  [	        S5      eUR                  SS5      n[        U[        5      (       d  [	        SU 35      e[        5       nUR!                  S5       H]  nUS:X  a!  UR#                  [$        R&                  5        M*  US:X  a!  UR#                  [$        R(                  5        MQ  [	        SU 35      e   UR                  SS
5      n[        U[        5      (       d  [	        SU 35      eUR                  SS
5      n[        U[        5      (       d  [	        SU 35      eUR                  SS5      n[        U[        5      (       d  [	        SU 35      eUR                  SS5      nUb#  [        U[        5      (       d  [	        SU 35      eUb"  U[*        R,                  ;   d  [	        SU 35      eUc  [*        R.                  nO	[*        U   nUR                  SS
5      n[        U[        5      (       d  [	        SU 35      eUR                  SS5      nUb#  [        U[        5      (       d  [	        SU 35      eUb  SU;   a  [	        S5      eSnUb  [0        R                  U5      nUR                  SS5      nUb#  [        U[        5      (       d  [	        SU 35      eUb  SU;   a  [	        S 5      eUR                  S!S5      nUb#  [        U[        5      (       d  [	        SU 35      eUb  [$        R(                  U;   a  [	        S"5      eUR                  S#S5      nUb#  [        U[        5      (       d  [	        SU 35      eUR                  S$S5      nUb  USLa  [	        S%U 35      eU(       a  [2        R                  U5      OSnUR                  S&/ 5      n[        U[        5      (       a  U/n[        U[        5      (       d  [	        S'U 35      eUS:X  a  S(U;   a  UR5                  S(5        [        5       nU HB  n[7        U5      S):X  a  [	        S*5      eUU;   a  UR#                  U5        M6  [	        S+U 35      e   S)S,KJn  UR                  S-S5      n U b#  [        U [<        5      (       d  [	        S.U 35      e0 n!S)n"U Gb  U(       a  [	        S/5      eS
n#U R?                  5        GHE  u  n$nU$S0:X  a  M  [        U$[        5      (       d  [	        S1U$ S2U  35      e[        U[        5      (       d  [	        S3U S2U  35      eU$R!                  S45       HÕ  n%[@        R                  U%RC                  5       5      n&U"S-  n"U(       a  U&U;   a  M:  U&[D        ;  a  [	        S5U& S6U S735      e[
        R                  " US8S99nUR                  S:S9n'[G        UR                  U=(       a    [I        U&5      U'S;-   S<9U!U&'   U&[@        RJ                  L d  M¼  UURM                  U5      :X  d  MÓ  Sn#M×     GMH     U"S:X  a  U#(       a  [	        S=5      eU(       d�  U!RO                  5       [@        RJ                  1:w  d^  U![@        RJ                     RQ                  5       (       d8  U"S:w  d2  [	        S>URM                  U5       S?U![@        RJ                      S@35      eOÍU(       dÆ  UcÃ  [        URL                  RL                  5      n(U(RS                  SA5      (       dP  U(RU                  SB5      (       d:  UR                  RV                  (       a.  UR                  RY                  5       (       d  [	        SCU( SD35      e[G        URM                  U5      S
[Z        SE9U![@        RJ                  '   U! V)s/ s HW  n)U)[@        R\                  :X  d>  U)[@        R^                  :X  d*  U)[@        RJ                  :X  d  U)[@        R`                  :X  d  MU  U)PMY     n*n)[7        U*5      S::  dB  [7        U*5      SF:X  a(  [@        R^                  U*;  a  [@        R`                  U*;   d  [	        SG5      eUR                  SHSI5      n+[        U+[        5      (       d  [	        SJU+ 35      eU+SI:X  a  / O4U+R!                  S5       V,s/ s H  n,[0        R                  U,5      PM     sn,n-UR                  SK0 5      n.0 n/[        U.[        5      (       a6  [b        R                  U.[d        Rf                  5      U/[d        Rf                  '   Oº[        U.[<        5      (       a—  U.R?                  5        H‚  u  n%n0U%S0:X  a  M  [        U%[        5      (       d  [	        SLU% 35      e[        U0[        5      (       d  [	        SMU0 35      e[d        R                  U%5      n1[b        R                  U0U15      U/U1'   M„     O[	        SNU. 35      eU/(       a^  U(       d  [	        SO5      eS)SK4J5s  J6n2  [n         H9  n&U&U!;   a  [	        SPU& 35      e[G        U2Rq                  UU&5      S[Z        S<9U!U&'   M;     U(       a  Sn3OƒU!RO                  5       [@        RJ                  1:g  =(       aZ    U!RO                  5       [@        R`                  1:g  =(       a1    U!RO                  5       [@        RJ                  [@        R`                  1:g  n3[@        RJ                  U!;   n4[@        R`                  U!;   n5[@        R\                  U!;   n6[@        R^                  U!;   n7U!R?                  5        V%Vs0 s H  u  n%nU%URL                  U0_M     n8n%nUR                  S0S5        U(       a  [	        SQU 35      eUb"  [r         H  n9U9U!;   d  M  [	        SRU9 SS35      e   [u        S[0 SU_S	U_SU_SU_SU_SU_S$U_SHU-_SKU/_SU_SU_S!U_S#U_SU_SU_STU_SU
_SUU3_SVU4_SWU5_SXU6_SYU7_S&U_SZU_6U84$ s  sn)f s  sn,f s  snn%f )\zX
Parse a NativeFunction from a dictionary as directly parsed
from native_functions.yaml
r?  znot a str: r3  )Únamespaced_entityÚ	max_levelÚaten)ÚdefaultrR  z#cpp_no_default_args is not a list: rA  Fz1use_const_ref_for_mutable_tensors is not a bool: z4see https://github.com/pytorch/pytorch/issues/145522rG  r*   zvariants is not a str: r  r+   zillegal variant rH  znot a bool: rI  rB  TrC  Nzillegal device_check: rM  rN  ú::zbnamespace is not supported in structured delegate, using the same namespace as the native functionrO  zbnamespace is not supported in structured inherits, using the same namespace as the native functionrE  z&functions in modules cannot be methodsrF  rP  z5precomputed requires structured=True, got structured=rX  ztags is not a list: Úpt2_compliant_tagr   zvalid_tags is emptyzillegal tag )ÚcppÚdispatchzdispatch is not a dict: zncannot specify both manual_kernel_registration and dispatch; with manual registration, dispatch has no effect!Ú__line__zillegal dispatch key 'z' in zillegal dispatch value 'Ú,zDispatch key z of kernel z! is not a supported dispatch key.é   )r[  Úatz::native)ÚkernelrM  Úcpp_namespacezSunnecessary dispatch table for this function; just delete the dispatch key entirelyzQunexpected name for singleton CompositeImplicitAutograd dispatch entry: expected z	 but got zR.  Rename your implementation to the expected name, then delete the dispatch tableÚnew_Ú_likez	expected zÂ to have a CompositeExplicitAutograd dispatch entry, but there was no dispatch table.  Factory functions should not have implicit dispatch as they should not be decomposed for __torch_dispatch__)rM  rg  é   aH  cannot specify more than one of CompositeExplicitAutograd, CompositeExplicitAutogradNonFunctional, or CompositeImplicitAutograd on a single kernel; each strictly subsumes the other.  If you wanted to provide an explicit autograd implementation, specify CompositeExplicitAutograd; otherwise specify CompositeImplicitAutograd onlyrK  r;   zautogen is not a str: rL  z#ufunc_inner_loop key is not a str: z%ufunc_inner_loop value is not a str: z"ufunc_inner_loop not str or dict: zufunc must be structuredz2ufunc should not have explicit dispatch entry for zleftover entries: z+if structured_delegate, then must not have z* in dispatch dictionary (it is delegated!)rJ  rS  rT  rU  rV  rW  r=  r   );ÚcopyÚpopÚ
isinstancer   rS   r	   Úfrom_namespaced_entityÚget_cpp_namespacer>  rX   Úentity_nameÚlistÚsetr@  Ú	argumentsÚoutr  r  r(   r*   r+   r2  rQ   r5  ÚOperatorNameÚ
PrecomputeÚappendÚlenÚtorchgen.apir`  ÚdictrR   rE   ÚstripÚdispatch_keysÚBackendMetadatarñ   r‚   rJ   ÚkeysÚsupports_symintÚ
startswithÚendswithÚtensor_optionsÚhas_tensor_argÚDEFAULT_KERNEL_NAMESPACEr„   r…   rƒ   ÚUfuncInnerLoopr%  r0  Útorchgen.api.ufuncÚapiÚufuncró   Úschema_kernel_namerð   r<  ):ÚeirJ  Ú
valid_tagsÚignore_keysÚeÚfuncsÚnamespace_helperr=  r?  Úcpp_no_default_args_listrR  rA  Ú
variants_srG  rW   rH  rI  rB  Údevice_check_srC  rM  Ústructured_delegate_srN  rO  rE  rF  Úprecomputed_dictrP  Útags_inprX  Útr`  Úraw_dispatchra  Únum_dispatch_keysÚ%redundant_composite_implicit_autogradÚksrV   Údispatch_keyÚkernel_namespacerJ   ÚdÚcomposites_in_dispatchÚautogen_strÚxrK  Úraw_ufunc_inner_looprL  ÚvoÚ	ufunc_keyrˆ  rS  rT  rU  rV  rW  Úbackend_metadataÚkeys:                                                             r   Ú	from_yamlÚNativeFunction.from_yamlo  sy  € ð �G‰G‹Iˆà—‘�f“ˆÜ˜%¤×%Ñ%Ü  ;¨u¨gÐ!6Ó7Ð7ä*×AÒAØ#¨qñ
Ðð %×6Ñ6¸vÐ6ÐFˆ	Ü×#Ñ#Ð$4×$@Ñ$@ÓAˆà#$§5¡5Ð)>ÀÓ#CÐ ÜÐ2´D×9Ñ9Ü Ø5Ð6NÐ5OÐPóð ô "Ð":Ó;Ðà,-¯E©EØ/°ó-
Ð)ô Ð;¼T×BÑBÜ ØCÐDeÐCfÐgóð ö -Ø�~‰~×!×!Ü$ØJóð ð —U‘U˜: zÓ2ˆ
Ü˜*¤c×*Ñ*Ü Ð#:¸:¸,Ð!GÓHÐHÜ!$£ˆØ×!Ñ! $Ö'ˆAØ�J‹Ø—‘œW×-Ñ-Ö.Ø�h“Ø—‘œWŸ^™^Ö,ä$Ð'7¸°sÐ%;Ó<Ð<ñ (ð &'§U¡UÐ+GÈÓ%OÐ"ÜÐ4´d×;Ñ;Ü  <Ð0JÐ/KÐ!LÓMÐMàŸU™UÐ#7¸Ó?ÐÜÐ,¬d×3Ñ3Ü  <Ð0BÐ/CÐ!DÓEÐEà—u‘u˜^¨TÓ2ˆÜ˜,¬×-Ñ-Ü  <°¨~Ð!>Ó?Ð?àŸ™˜~¨tÓ4ˆØÑ&¬*°^ÄS×*IÑ*IÜ  ;¨~Ð.>Ð!?Ó@Ð@àÑ" n¼×8SÑ8SÓ&Sä Ð#9¸.Ð9IÐ!JÓKÐKàÑ!Ü*×4Ñ4‰Lä*¨>Ñ:ˆLà—U‘U˜<¨Ó/ˆ
Ü˜*¤d×+Ñ+Ü  <°
¨|Ð!<Ó=Ð=à !§¡Ð&;¸TÓ BÐà!Ñ)¬ZÐ8MÌs×-SÑ-Sä  ;Ð/DÐ.EÐ!FÓGÐGØ Ñ,°Ð9NÓ1NÜ ðCóð ð 48ÐØ Ñ,Ü".×"4Ñ"4Ð5JÓ"KÐàŸe™eÐ$9¸4Ó@ÐØ#Ñ+¬zÐ:MÌs×/SÑ/SÜ  ;Ð/BÐ.CÐ!DÓEÐEØÑ*¨tÐ7JÓ/JÜ ðCóð ð
 Ÿ™˜o¨tÓ4ˆØÑ%¬°MÄ3×)GÑ)GÜ  ;¨}¨oÐ!>Ó?Ð?ØÑ$¬¯©¸8Ó)CÜ Ð!IÓJÐJàŸE™EÐ"5°tÓ<ÐØ!Ñ)¬ZÐ8IÌ3×-OÑ-OÜ  ;Ð/@Ð.AÐ!BÓCÐCàŸ5™5 °Ó5ÐØÑ'¨J¸dÒ,BÜ ØGÈ
À|ÐTóð ö =M”j×&Ñ&Ð'7Ô8ÐRVˆà—5‘5˜ Ó$ˆÜ�h¤×$Ñ$Ø �zˆHÜ˜(¤D×)Ñ)Ü Ð#7¸°zÐ!BÓCÐCð ˜ÓÐ#6¸*Ó#DØ�O‰OÐ/Ô0ä›ˆÛˆAÜ�:‹ !Ó#Ü$Ð%:Ó;Ð;à�J‹Ø—‘˜–ä$ |°A°3Ð%7Ó8Ð8ñ õ 	%à—u‘u˜Z¨Ó.ˆØÑ$¬
°<Ä×(FÑ(FÜ Ð#;¸A¸3Ð!?Ó@Ð@Ø79ˆØ!"ÐØÒ#Þ)Ü$ðCóð ð 5:Ð1Ø%×+Ñ+×-‘��AØ˜Ó#ÙÜ! "¤c×*Ñ*Ü(Ø0°°°E¸,¸ÐHóð ô " !¤S×)Ñ)Ü(Ø2°1°#°U¸<¸.ÐIóð ð Ÿ™ #ž�AÜ#.×#4Ñ#4°Q·W±W³YÓ#?�LØ%¨Ñ*Ð%æ" |°{Ó'BÙ Ø#¬=Ó8Ü,Ø+¨L¨>¸ÀQÀCð H?ð ?óð ô (7×'MÒ'MØ Qñ(Ð$ð (8×'IÑ'IÐRVÐ'IÐ'WÐ$ô .=Ø/×;Ñ;Ø#-÷ $EÜ6°|ÓDØ'7¸*Ñ'Dñ	.�H˜\Ñ*ð %¬×(MÑ(MÔMØ §¡¨$£Õ/à@DÒ=ô= 'ñ .ð\ ! AÓ%Ö*OÜ$ð#óð ö $Ø—=‘=“?¤{×'LÑ'LÐ&MÓMØœK×AÑAÑB×RÑR×TÑTØ$¨Ó)ä$ØgÐhk×hpÑhpÐquÓhvÐgwð xØ'¬×(MÑ(MÑNÐOð P;ð;óð øö
 Ð 3Ñ ;Ü�t—y‘y—~‘~Ó&ˆDà—‘ ×'Ñ'Ø—=‘= ×)Ñ)ð —N‘N×1×1Ø ŸN™N×9Ñ9×;Ñ;ô %Ø ˜vð &-ð -óð ô ?NØ—‘˜“¨5Ô@Xñ?ˆH”[×:Ñ:Ñ;ñ ó"
â�Ø”K×9Ñ9Ó9Ø”K×FÑFÓFØ”K×9Ñ9Ó9Ø”K×EÑEÑE÷ Ùð 	ð "
ô Ð&Ó'¨1Ó,äÐ*Ó+¨qÓ0ä×FÑFØ1ó2ô  ×EÑEØ-ó.ô
 !ðvóð ð —e‘e˜I rÓ*ˆÜ˜+¤s×+Ñ+Ü Ð#9¸+¸Ð!GÓHÐHð ˜bÓ ñ à1<×1BÑ1BÀ4Ô1HÓIÒ1H¨A”,×$Ñ$ QÖ'Ñ1HÑIð 	ð  !Ÿu™uÐ%7¸Ó<ÐØÐÜÐ*¬C×0Ñ0Ü1?×1EÑ1EØ$¤h×&6Ñ&6ó2ÐœX×-Ñ-Ò.ô Ð,¬d×3Ñ3Ø-×3Ñ3Ö5‘��2Ø˜
“?ÙÜ! !¤S×)Ñ)Ü(Ð+NÈqÈcÐ)RÓSÐSÜ! "¤c×*Ñ*Ü(Ð+PÐQSÐPTÐ)UÓVÐVÜ$ŸN™N¨1Ó-�	Ü.<×.BÑ.BÀ2ÀyÓ.QÐ  Ó+ò 6ô !Ø4Ð5IÐ4JÐKóð ö ÞÜ$Ð%?Ó@Ð@÷ /Ð.ç 3�Ø 8Ó+Ü(ØLÈ\ÈNÐ[óð ô *9Ø ×3Ñ3°D¸,ÓGØ#Ü":ñ*�˜Ó&ñ !4ö à‰Kð —‘“¤K×$IÑ$IÐ#JÑJ÷ Ø—M‘M“OÜ×EÑEÐFñG÷ð —M‘M“Oä×9Ñ9Ü×EÑEðñð	 ô ×1Ñ1°XÑ=ð 	/ô ×=Ñ=ÀÑIð 	=ô ×1Ñ1°XÑ=ð 	/ô ×>Ñ>À(ÑJð 	>ð ;C¿.¹.Ô:JÔKÒ:J±$°!°Q˜A §	¡	¨1˜~Ò-Ñ:JÐÑKð 	
�‰ˆj˜$ÔÞÜ Ð#5°a°SÐ!9Ó:Ð:ð Ñ*ß/�Ø˜(•?Ü(ØEÀcÀUð K-ð -óð ñ 0ô ò Ùðá2Sðñ "ðñ &ð	ñ
 %8ðñ %8ðñ (ðñ  ðñ "2ðñ ,Fðñ $6ðñ ,ðñ #4ðñ *ðñ *ðñ  ð!ñ" %8ð#ñ$ (ð%ñ& 8^ð'ñ( Fzð)ñ* 8^ð+ñ, G|ð-ñ. ð/ñ0 $ð1ð4 ð7
ð 	
ùòA"
ùòH JùóV Ls   âAs ã-s æs%ð"s*c                ót   • U R                   (       a  [        S5      eU R                  (       d  [        S5      eg )NzMThis function is structured, but there was no valid functional variant of it.z’This function delegates to another structured out function, but no valid function was found (the delegate may not exist, or it has the wrong type))rM  rS   rN  r   s    r   Úvalidate_unstructuredÚ$NativeFunction.validate_unstructured  s@   € ð �?�?Ü ð5óð ð ×'×'Ü ðióð ð (r   c                óì  • U R                   R                  R                  (       a*  U R                  [        R
                  1:w  a  [        S5      eU R                  (       aS  U R                   R                  5       [        R                  :w  a  [        S5      eU R                  (       d  [        S5      eU R                  (       aS  U R                   R                  5       [        R                  :X  a  [        S5      eU R                  (       d  [        S5      eU R                  (       a  U R                  (       a  [        S5      eU R                   R                  5        Vs1 s H  oR                  c  M  UR                  iM     nn[        R!                  U R"                  U5      n[%        U5      S:w  a  [        SU 35      eU R&                  b  U R                  (       d  [        S5      e[)        U R                   R                  5      R+                  S	5      (       a)  U R,                  [.        R0                  :w  a  [        S
5      eS[)        U R                   R                  5      ;   dÑ  S[)        U R                   R                  5      ;   d5  [3        S U R                   R                  R4                   5       5      (       aP  S[)        U R                   R                  5      ;  a-  [)        U R                   R                  R                  5      S:w  d)  U R                   R                  R7                  5       (       a3  SU R8                  ;  a"  [        SU R                   R                   35      eg g s  snf )NzëNative functions with out arguments MUST be declared with only function variant; e.g., variants: function; otherwise you will tickle a Python argument binding bug (which usually manifests itself as the result variable being undefined.)zYPut structured field on the out= variant of a function; did you mean structured_delegate?z:device_guard: False is not respected by structured kernelszQstructured_delegate field not allowed on out= functions; did you mean structured?z?Cannot have both structured and structured_delegate on functionr   zInvalid cpp_no_default_args: z4structured_inherits must also imply structured: TrueÚ_foreachzsforeach kernels fall back to slow path when tensor are on different devices, device_check not allowed to be enabledÚrandÚdropoutc              3  ó@   #   • U  H  nS UR                   ;   v •  M     g7f)r®  NrI   ©rÚ   Úargs     r   rÝ   Ú/NativeFunction.__post_init__.<locals>.<genexpr>R  s   é € ð Ú9U°#˜	 S§X¡XÖ-Ò9Uùs   ‚ÚbackwardÚ_cudnn_init_dropout_stateÚnondeterministic_seededz(nondeterministic_seeded tag missing for )r?  rs  rt  rG  r(   r*   rS   rM  ÚkindÚ
SchemaKindrB  rN  Úschema_order_argumentsr]  rJ   rr  Ú
differencerR  rx  rO  r   r€  rC  r2  r4  ÚanyÚflat_allÚhas_generator_argrX  )r   ÚaÚdefaulted_argumentsÚinvalid_argss       r   Ú__post_init__ÚNativeFunction.__post_init__  s´  € Ø�9‰9×Ñ×"×"Ø�}‰}¤×!1Ñ!1Ð 2Ó2Ü$ð_óð ð �?�?Ø�y‰y�~‰~Ó¤:§>¡>Ó1Ü$ðOóð ð ×$×$Ü$ØPóð ð ×#×#Ø�y‰y�~‰~Ó¤:§>¡>Ó1Ü$ðBóð ð ×$×$Ü$ØPóð ð
 �?�?˜t×7×7Ü ØQóð ð !ŸI™I×<Ñ<Ô>ó
Ú>�qÇ)Á)‹FˆA�FŒFÑ>ð 	ð 
ô —~‘~ d×&>Ñ&>Ð@SÓTˆÜˆ|Ó Ó!Ü Ð#@ÀÀÐ!OÓPÐPØ×#Ñ#Ñ/Ø—?—?Ü$ØJóð ô ˆt�y‰y�~‰~Ó×)Ñ)¨*×5Ñ5Ø× Ñ ¤O×$;Ñ$;Ó;Ü$ð=óð ð ”c˜$Ÿ)™)Ÿ.™.Ó)Ó)ð ¤ T§Y¡Y§^¡^Ó!4Ó4Üñ Ø9=¿¹×9LÑ9L×9UÒ9Uó÷ ñ ð
 ¤c¨$¯)©)¯.©.Ó&9Ó9Ü˜Ÿ	™	Ÿ™×+Ñ+Ó,Ð0KÓKà�y‰y×"Ñ"×4Ñ4×6Ñ6à(°·	±	Ó9Ü$Ø>¸t¿y¹y¿~¹~Ð>NÐOóð ð :ð 7ùòC
s   Å!M1Å5M1c                ó²   • U R                   =(       d    U R                  =(       d    U R                  =(       d    U R                   =(       a    U R                  $ rH   )rT  rV  rW  rU  r   s    r   Úhas_composite_kernelÚ#NativeFunction.has_composite_kernela  sO   € ð ×7Ñ7÷ JØ×:Ñ:÷Jà×IÑI÷
ð
 ×7Ñ7÷ JØ×IÑIð	
r   c                óº  • U R                   R                  n[        U5      S:„  =(       a    [        S U 5       5      nSU R                  ;   =(       aK    [        U R                   R                  5      S:g  =(       a"    [        U R                   R                  5      S:g  n[        S U R                   R                  5        5       5      nU=(       d    U=(       d    U$ )Nr   c              3  ó€   #   • U  H4  oR                   S L=(       a    UR                   R                  (       + v •  M6     g 7frH   ©Ú
annotationÚis_write©rÚ   rå   s     r   rÝ   Ú,NativeFunction.is_view_op.<locals>.<genexpr>o  s/   é € ð 5
ÚLPÀq�L‰L Ð$×B¨Q¯\©\×-BÑ-BÔ)BÔBÊDùs   ‚<>Úinplace_viewÚresize_Ú
resize_as_c              3  ó~   #   • U  H3  nUR                   S L=(       a    SUR                   R                  ;   v •  M5     g 7f)NÚ*)rÈ  Úalias_set_after)rÚ   Úinps     r   rÝ   rË  x  s7   é € ð 
â9�ð �N‰N $Ð&×P¨3°#·.±.×2PÑ2PÑ+PÔPÚ9ùs   ‚;=)r?  Úreturnsrx  rº  rX  r   rJ   r¸  )r   ÚretsÚis_non_mutating_viewÚis_inplace_viewÚis_wildcard_views        r   Ú
is_view_opÚNativeFunction.is_view_opl  s¹   € à�y‰y× Ñ ˆÜ" 4›y¨1™}÷  
´ñ 5
ÙLPó5
ó 2
Ðð
 ˜dŸi™iÑ'÷ 4Ü�D—I‘I—N‘NÓ# yÑ0÷4ä�D—I‘I—N‘NÓ# |Ñ3ð 	ô
 ñ 
à—y‘y×7Ñ7Ô9ó
ó 
Ðð $×J ×JÐ:JÐJr   c                óh  • U R                   (       aq  U R                  R                  R                  R                  (       aB  SU R                  ;  a"  [        SU R                  R                   35      e[        R                  $ U R                   (       a  [        R                  $ [        R                  $ )NrÌ  zinplace_view tag missing for )
rØ  r?  rJ   ÚinplacerX  rS   r7  r9  r8  r:  r   s    r   Úview_schema_kindÚNativeFunction.view_schema_kind~  sr   € à�?�?˜tŸy™yŸ~™~×2Ñ2×:×:Ø T§Y¡YÓ.Ü$Ð'DÀTÇYÁYÇ^Á^ÐDTÐ%UÓVÐVÜ!×2Ñ2Ð2Ø�?�?Ü!×*Ñ*Ð*ä!×.Ñ.Ð.r   c                óV   • U R                   R                  R                  R                  $ rH   )r?  rJ   Úbaser   s    r   Ú	root_nameÚNativeFunction.root_name‰  s   € à�y‰y�~‰~×"Ñ"×'Ñ'Ð'r   c                óD   • U R                   =(       d    U R                  S L$ rH   )rM  rN  r   s    r   Úpart_of_structured_groupÚ'NativeFunction.part_of_structured_group�  s   € à�‰×F $×":Ñ":À$Ð"FÐFr   r   rH   )
rŠ  zdict[str, object]rJ  r   r‹  rQ  rŒ  zset[DispatchKey] | Noner    zMtuple[NativeFunction, dict[DispatchKey, dict[OperatorName, BackendMetadata]]]©r    ÚNone©r    r@  )r    r7  r   )r!   r"   r#   r$   r%   rÒ   r¦  r©  rÀ  ÚpropertyrÃ  rØ  rÜ  rà  rã  r&   r   r   r   r<  r<  ù  s}  ‡ ð ƒNð Óð (,Ó+ð Óð "Ó!ð Óð "Ó!ð Óð
 !%Ó$ð Óð 
ƒMð  Óð 5Ó4ð Óð -Ó,ð $Ó#ð #Ó"ð "Ó!ð Óð -1Ó0Ø:>Ó>Ø,0Ó0Ø;?Ó?ð ƒNð ð
 04ð	O
ØðO
àðO
ð ðO
ð -ð	O
ð
 
WôO
ó ðO
ôbô*IðV ó
ó ð
ð óKó ðKð" ó/ó ð/ð ó(ó ð(ð óGó óGr   r<  c                  óZ   • \ rS rSr\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r	Sr
g)r·  i’  r   N)r!   r"   r#   r$   r   Ú
functionalrÛ  rt  ÚmutableÚscratchr&   r   r   r   r·  r·  ’  s%   † Ù“€JÙ‹f€GÙ
‹&€CÙ‹f€GÙ‹fƒGr   r·  c                  ó˜   • \ rS rSr% S\S'   S\S'   S\S'   S\S'   \SS j5       rSS	 jrSS
 jrSS jr	\SS j5       r
\SS j5       rSrg)ÚNativeFunctionsGroupi   r<  rê  úNativeFunction | NonerÛ  rë  rt  c                ó.   • U R                   R                  $ rH   )rt  rM  r   s    r   rM  ÚNativeFunctionsGroup.structured§  s   € ð �x‰x×"Ñ"Ð"r   c           
     óØ  • U R                   R                  R                  5       nU R                  5        H¦  nXR                  R                  5       :w  a)  [	        SU SUR                  R                  5        35      eU R
                  UR                  :w  d  Me  [	        SU R                  R                  R                   SUR                  R                   35      e   U R                   R                  R                  5       [        R                   :w  a1  [	        SU R                   R                  R                  5        S35      eU R                  R                  R                  5       [        R                  :w  a1  [	        SU R                  R                  R                  5        S35      eU R                   R                  U R                  R                  :w  a:  [	        S	U R                   R                   S
U R                  R                   S35      eU R                  bÏ  U R                  R                  R                  5       [        R                  :w  a1  [	        SU R                  R                  R                  5        S35      eU R                  R                  U R                   R                  :w  a:  [	        SU R                  R                   SU R                   R                   S35      eU R                  Gb  U R                  R                  R                  5       [        R                  :w  a1  [	        SU R                  R                  R                  5        S35      eU R                  R                  U R                   R                  :w  a:  [	        SU R                  R                   SU R                   R                   S35      eU R                   R                  R                  R                  R                  (       d  [	        S5      eU R
                  (       Ga„  U R                  R                  (       d  U R                  R                   (       a  [	        S5      eU R                   R"                  U R                  R                  R                  :w  ac  [	        U R                   R                  R                   SU R                   R"                   SU R                  R                  R                   35      eU R                  b›  U R                  R"                  U R                  R                  R                  :w  ac  [	        U R                  R                  R                   SU R                  R"                   SU R                  R                  R                   35      e[%        U R                  5        Vs/ s H4  nSUR&                  ;   d  M  [)        UR                  R                  5      PM6     sn5      nSR+                  S U 5       5      n[-        5       nU R                  5        H%  nUR/                  S UR0                   5       5        M'     SR+                  S [%        U5       5       5      n[3        U5      S:X  a@  [3        U5      S:”  a1  [5        SU SU S[)        WR                  R                  5       35      eXd:w  a  [5        SU S U S!U S"35      eg s  snf )#Nz_NativeFunctionsGroup constructed from two NativeFunctions that don't have matching signatures: ú != zMNativeFunctionsGroup constructed from structured and unstructured functions: ú and zfunctional.func.kind() is z , expected SchemaKind.functionalzout.func.kind() is z, expected SchemaKind.outzfunctional.namespace (z) != out.namespace (Ú)zinplace.func.kind() is z, expected SchemaKind.inplacezinplace.namespace (z) != functional.namespace (zmutable.func.kind() is z, expected SchemaKind.mutablezmutable.namespace (zSfunctional.func.name.name.functional_overload must be True when mutable is not Nonez.structured composite kernels are not supportedz delegates to z but its actual delegate is Ú	generatedr  c              3  ó8   #   • U  H  n[        U5      v •  M     g 7frH   ©r   ©rÚ   r   s     r   rÝ   Ú5NativeFunctionsGroup.__post_init__.<locals>.<genexpr>÷  s   é € Ð%D²m°¤c¨!§f f²mùó   ‚c              3  ó8   #   • U  H  n[        U5      v •  M     g 7frH   rø  )rÚ   Úops     r   rÝ   rú  ú  s   é € Ð)FºI°b¬#¨b¯'¨'ºIùrû  c              3  ó8   #   • U  H  n[        U5      v •  M     g 7frH   rø  rù  s     r   rÝ   rú  û  s   é € ð /
Ú:�qŒC��FˆFÒ:ùrû  r   z,The codegen expects to be able to generate 'zv'. In order to generate them however, we expect them to be called out explicitly in the yaml. Please add an 'autogen: z' line to the entry for z*'. To do so, it expects a line: 'autogen: z'. Instead, it found 'autogen: Ú')rê  r?  Ú	signatureÚ	functionsrS   rM  rã  rt  rJ   r¶  r·  r=  rÛ  rë  Úfunctional_overloadrT  rU  rN  ÚsortedrX  r   rä   rr  r  rK  rx  ÚRuntimeError)r   Útest_sigÚfÚgenerated_fnsÚgenerated_fns_strÚexpected_generated_fnsÚexpected_generated_fns_strs          r   rÀ  Ú"NativeFunctionsGroup.__post_init__¬  sÃ  € Ø#'§?¡?×#7Ñ#7×#AÑ#AÓ#CˆØ—‘Ö!ˆAØŸ6™6×+Ñ+Ó-Ó-Ü$ð<Ø<D¸:ÀTÈ!Ï&É&×JZÑJZÓJ\ÐI]ð_óð ð
 �‰ !×"<Ñ"<Õ<Ü$ð"Ø"&§(¡(§-¡-×"4Ñ"4Ð!5°U¸1¿6¹6¿;¹;¸-ðIóð ñ "ð �?‰?×Ñ×$Ñ$Ó&¬*×*?Ñ*?Ó?Ü Ø,¨T¯_©_×-AÑ-A×-FÑ-FÓ-HÐ,IÐIiÐjóð ð �8‰8�=‰=×ÑÓ¤:§>¡>Ó1Ü Ø% d§h¡h§m¡m×&8Ñ&8Ó&:Ð%;Ð;TÐUóð ð �?‰?×$Ñ$¨¯©×(:Ñ(:Ó:Ü Ø(¨¯©×)BÑ)BÐ(CÐCWÐX\×X`ÑX`×XjÑXjÐWkÐklÐmóð ð �<‰<Ñ#Ø�|‰|× Ñ ×%Ñ%Ó'¬:×+=Ñ+=Ó=Ü$Ø-¨d¯l©l×.?Ñ.?×.DÑ.DÓ.FÐ-GÐGdÐeóð ð �|‰|×%Ñ%¨¯©×)BÑ)BÓBÜ$Ø)¨$¯,©,×*@Ñ*@Ð)AÐA\Ð]a×]lÑ]l×]vÑ]vÐ\wÐwxÐyóð ð �<‰<Ò#Ø�|‰|× Ñ ×%Ñ%Ó'¬:×+=Ñ+=Ó=Ü$Ø-¨d¯l©l×.?Ñ.?×.DÑ.DÓ.FÐ-GÐGdÐeóð ð �|‰|×%Ñ%¨¯©×)BÑ)BÓBÜ$Ø)¨$¯,©,×*@Ñ*@Ð)AÐA\Ð]a×]lÑ]l×]vÑ]vÐ\wÐwxÐyóð ð —?‘?×'Ñ'×,Ñ,×1Ñ1×E×EÜ$Øióð ð �?�?ˆ?ð —‘×?×?Ø—8‘8×P×Pä$Ð%UÓVÐVà�‰×2Ñ2°d·h±h·m±m×6HÑ6HÓHÜ$Ø—‘×+Ñ+×0Ñ0Ð1°ÀÇÁ×@cÑ@cÐ?dð e2Ø26·(±(·-±-×2DÑ2DÐ1EðGóð ð �|‰|Ñ'Ø—<‘<×3Ñ3°t·x±x·}±}×7IÑ7IÓIÜ(ØŸ<™<×,Ñ,×1Ñ1Ð2°.ÀÇÁ×AaÑAaÐ@bð c6Ø6:·h±h·m±m×6HÑ6HÐ5IðKóð ô
 Ø'+§~¡~Ô'7ÓQÒ'7 !¸;È!Ï&É&Ñ;PÓŒS�—‘—‘ÖÑ'7ÑQó
ˆð !ŸI™IÑ%D±mÓ%DÓDÐÜ+.«5ÐØ—‘Ö!ˆAØ"×)Ñ)Ñ)F¸A¿IºIÓ)FÖFñ "à%)§Y¡Yñ /
Ü"Ð#9Ô:ó/
ó &
Ð"ô Ð%Ó&¨!Ó+´°MÓ0BÀQÓ0FÜØ>Ð?PÐ>Qð R,à,=Ð+>Ð>VÔWZÐ[\×[aÑ[a×[fÑ[fÓWgÐVhðjóð ð
 &Ó:ÜØ>Ð?PÐ>Qð R;Ø;LÐ:Mð N0Ø0JÐ/KÈ1ðNóð ð ;ùò Rs   Ö?['×#['c                óJ   • U R                   R                  R                  5       $ rH   )rt  r?  r   r   s    r   r   ÚNativeFunctionsGroup.signature  s   € Ø�x‰x�}‰}×&Ñ&Ó(Ð(r   c              #  ó²   #   • U R                   v •  U R                  v •  U R                  b  U R                  v •  U R                  b  U R                  v •  g g 7frH   )rê  rt  rÛ  rë  r   s    r   r  ÚNativeFunctionsGroup.functions  sE   é € Ø�o‰oÒØ�h‰hŠØ�<‰<Ñ#Ø—,‘,ÒØ�<‰<Ñ#Ø—,‘,Óð $ùs   ‚AAc                ó.   • U R                   R                  $ rH   )rê  rà  r   s    r   rà  ÚNativeFunctionsGroup.root_name  s   € à�‰×(Ñ(Ð(r   c                óÂ  • U (       d  [        S5      e[        U 5      S:X  a  g [        U 5      n U R                  [        R
                  S 5      nU R                  [        R                  S 5      nU R                  [        R                  S 5      nU R                  [        R                  S 5      nU (       a  [        SU  35      eUc  [        S5      eUc  g [        UUUUS9$ )Nz from_dict called with empty dictr3  zunexpected keys in dict: zfunctional variant is required)rê  rÛ  rë  rt  )
rS   rx  rz  rl  r·  rê  rÛ  rë  rt  rî  )r�  rê  rÛ  rë  rt  s        r   Ú	from_dictÚNativeFunctionsGroup.from_dict  sÉ   € æÜ Ð!CÓDÐDÜˆq‹6�Q‹;ØÜ�‹GˆØ—U‘Uœ:×0Ñ0°$Ó7ˆ
Ø—%‘%œ
×*Ñ*¨DÓ1ˆØ—%‘%œ
×*Ñ*¨DÓ1ˆØ�e‰e”J—N‘N DÓ)ˆÞÜ Ð#<¸Q¸CÐ!@ÓAÐAØÑÜ Ð!AÓBÐBð ‰;Øä#Ø!ØØØñ	
ð 	
r   r   Nrç  rå  ©r    r>  )r    úIterator[NativeFunction]r   )r�  z dict[SchemaKind, NativeFunction]r    zNativeFunctionsGroup | None)r!   r"   r#   r$   r%   rè  rM  rÀ  r   r  rà  rÒ   r  r&   r   r   r   rî  rî     se   ‡ àÓØ"Ó"Ø"Ó"Ø	Óàó#ó ð#ô]ô~)ôð ó)ó ð)ð ó
ó ó
r   rî  c                  ó>   • \ rS rSr% S\S'   S\S'   S\S'   S
S jrSrg	)r}  i6  r   rf  r@  rM  rg  c                ó    • SU R                   ;   $ )NÚ_symint)rf  r   s    r   r  ÚBackendMetadata.supports_symintI  s   € Ø˜DŸK™KÑ'Ð'r   r   Nrç  )r!   r"   r#   r$   r%   r  r&   r   r   r   r}  r}  6  s   ‡ ð ƒKð
 Óð Ó÷(r   r}  c                  óH   • \ rS rSr% S\S'   S\S'   S\S'   \SS j5       rS	rg
)r…  iM  r   rJ   r  Úsupported_dtypesr%  r£  c                ó  • U R                  SS5      u  p#US   S:w  a  [        SU 35      eUS   S:w  a  [        SU 35      e[        5       nUSS R                  S	5       H  nU[        R	                  U5      -  nM     [        X$US
9$ )NÚ r3  r   Ú(z0expected '(' at start of supported_dtypes, got: éÿÿÿÿrõ  z.expected ')' at end of supported_dtypes, got: r  )rJ   r  r£  )r  rS   r
   rø   r	  r…  )rU   r£  rJ   Úsupported_dtypes_strr  rV   s         r   rX   ÚUfuncInnerLoop.parseU  s±   € à%*§[¡[°°aÓ%8Ñ"ˆØ Ñ" cÓ)Ü ØBÐCWÐBXÐYóð ð   Ñ# sÓ*Ü Ø@ÐAUÐ@VÐWóð ô 4>³<ÐØ% a¨Ð+×1Ñ1°$Ö7ˆAØ¤
× 4Ñ 4°QÓ 7Ñ7Òñ 8äØÀIñ
ð 	
r   r   N)rU   r   r£  r%  r    r…  )r!   r"   r#   r$   r%   rÒ   rX   r&   r   r   r   r…  r…  M  s'   ‡ à
ƒIØ,Ó,ð Óàó
ó ó
r   r…  c                  ó˜   • \ rS rSr% S\S'   S\S'   S\S'   S\S'   S\S	'   \      SS
 j5       rSS jrSS jr    SS jr	SS jr
Srg)ÚBackendIndexio  rE   r›  r@  Úuse_out_as_primaryrB  Úexternalz#dict[OperatorName, BackendMetadata]Úindexc                ó¨   • UR                  5        H>  u  p#UR                  5        H%  u  pEX@U   ;   a  [        SU SU 35      eXPU   U'   M'     M@     g )Nzduplicate operator z for dispatch key )rR   rS   )Úparent_indexÚchild_indexrV   rW   Úop_nameÚmetadatas         r   Ú
grow_indexÚBackendIndex.grow_index~  sb   € ð
  ×%Ñ%Ö'‰DˆAØ%&§W¡W¦YÑ!�Ø¨1™oÓ-Ü(Ø-¨g¨YÐ6HÈÈÐLóð ð ,4˜Q‘ Ó(ó &/ò (r   c                óT   • U R                   (       a  UR                  $ UR                  $ rH   )r%  rt  rê  )r   Úgs     r   ÚprimaryÚBackendIndex.primary‹  s   € Ø×"×"Ø—5‘5ˆLà—<‘<Ðr   c                ó,   • U R                  U5      nUS L$ rH   )Ú
get_kernel)r   r0  Úms      r   Ú
has_kernelÚBackendIndex.has_kernel‘  s   € Ø�O‰O˜AÓˆØ˜ˆ}Ðr   c                ó&  • [        U[        5      (       a  UnO2[        U[        5      (       a  U R                  U5      nO[	        U5        WR
                  R                  U R                  ;  a  g U R                  UR
                  R                     $ rH   )rm  r<  rî  r1  r   r?  rJ   r'  )r   r0  r  s      r   r4  ÚBackendIndex.get_kernel•  sf   € ô �aœ×(Ñ(Ø‰AÜ˜Ô/×0Ñ0Ø—‘˜Q“‰Aä˜ŒOØ�6‰6�;‰;˜dŸj™jÓ(ØØ�z‰z˜!Ÿ&™&Ÿ+™+Ñ&Ð&r   c                óV   • U R                   (       a  [        U R                  5       S3$ g )NÚNativeFunctions)r&  r   r›  r   s    r   Únative_function_class_nameÚ'BackendIndex.native_function_class_name¢  s'   € Ø�=�=Ü˜$×+Ñ+Ó,Ð-¨_Ð=Ð=ð
 r   r   N)r)  ú6dict[DispatchKey, dict[OperatorName, BackendMetadata]]r*  r>  r    ræ  )r0  rî  r    r<  )r0  ú%NativeFunction | NativeFunctionsGroupr    r@  )r0  r?  r    zBackendMetadata | None)r    rD  )r!   r"   r#   r$   r%   rÒ   r-  r1  r6  r4  r<  r&   r   r   r   r$  r$  o  ss   ‡ àÓð Óð ÓàƒNà.Ó.àð
4ØLð
4àKð
4ð 
ó
4ó ð
4ô ôð'Ø6ð'à	ô'÷r   r$  c                  ó&  • \ rS rSr% S\S'   S\S'   S\S'   \SS j5       rSS	 jr\R                  " S
5      r
\SS j5       rSS jrSS jrSS jrSS jrS S jrS!S jrSSSS.       S"S jjrS#S jrS$S jr\SS j5       rSS jrS%S jrSrg)&r>  iá  ru  rJ   Ú	Argumentsrs  útuple[Return, ...]rÓ  c                ó`   ^• SS jm[        U4S jU R                  R                   5       5      $ )Nc                óJ   • U R                   c  gU R                   R                  $ ©NFrÇ  )r±  s    r   rÉ  Ú+FunctionSchema.is_mutable.<locals>.is_writeí  s   € Ø�~‰~Ñ%ØØ—>‘>×*Ñ*Ð*r   c              3  ó4   >#   • U  H  nT" U5      v •  M     g 7frH   r   )rÚ   r½  rÉ  s     €r   rÝ   Ú,FunctionSchema.is_mutable.<locals>.<genexpr>ô  s   øé € Ð@Ò(? 1‘8˜A—;�;Ò(?ùrß   )r±  ÚArgumentr    r@  )rº  rs  r»  )r   rÉ  s    @r   Ú
is_mutableÚFunctionSchema.is_mutableë  s%   ø€ ô	+ô Ô@¨¯©×(?Ò(?Ó@Ó@Ð@r   c                óª   • [         R                  " U R                  R                  U R                  R                  U R                  R
                  5      $ rH   )Ú	itertoolsÚchainrs  Úflat_positionalÚflat_kwarg_onlyrt  r   s    r   r¸  Ú%FunctionSchema.schema_order_argumentsö  s:   € Ü�ŠØ�N‰N×*Ñ*Ø�N‰N×*Ñ*Ø�N‰N×Ñó
ð 	
r   z3(?P<name>[^\(]+)\((?P<args>.*)\) -> (?P<returns>.*)c                ó\  • [         R                  R                  U 5      n[        U5      S:w  a  [	        SU  35      eUS   u  p#n[
        R                  U5      n[        R                  U5      n[        U5      n[        XVUS9n[        U5      U :w  a  [	        [        U5       SU  35      eU$ )Nr3  zInvalid function schema: r   ©rJ   rs  rÓ  ró  )
r>  Údecl_reÚfindallrx  rS   ru  rX   rA  Úparse_returnsr   )	r?  ÚdeclsÚopsÚargsÚreturn_declrJ   rs  rÓ  rå   s	            r   rX   ÚFunctionSchema.parseÿ  s¤   € ô ×&Ñ&×.Ñ.¨tÓ4ˆÜˆu‹:˜‹?Ü Ð#<¸T¸FÐ!CÓDÐDØ!& q¡Ñˆ�;Ü×!Ñ! #Ó&ˆÜ—O‘O DÓ)ˆ	Ü Ó,ˆÜ À7ÑKˆÜˆq‹6�T‹>Ü ¤C¨£F 8¨4°¨vÐ!6Ó7Ð7Øˆr   c                ó:   • [        S U R                   5       5      $ )Nc              3  ó~   #   • U  H3  nUR                   c  M  UR                   R                  (       d  M/  Uv •  M5     g 7frH   rÇ  rÊ  s     r   rÝ   Ú5FunctionSchema.returns_are_aliased.<locals>.<genexpr>  s2   é € ð 
â!�Ø�|‰|ó à,-¯L©L×,AÕ,A÷ ‰AÚ!ùs   ‚=—=´	=)rº  rÓ  r   s    r   Úreturns_are_aliasedÚ"FunctionSchema.returns_are_aliased  s    € äñ 
à—\’\ó
ó 
ð 	
r   c                óR
  ^^• [        U R                  R                  U R                  5       HE  u  nmUR                  TR                  :w  d  M"  [        SUR                   STR                   35      e   U R                  R                   H>  m[        U4S jU R                   5       5      (       d  M)  [        S[        U 5       35      e   [        U R                  R                  5      U R                  R                   Vs/ s H  oR                  S:X  d  M  UPM     sn-   nU R                   Vs/ s H1  nUR                  c  M  UR                  R                  (       d  M/  UPM3     nnU R                   Vs/ s H/  nUR                  b  UR                  R                  (       a  M-  UPM1     nn[        U5      S:X  d&  [        U5      S:X  d  [        S[        U 5       35      eU H(  m[        U4S jU 5       5      (       a  M  [        S	5      e   U R                  R                  (       aà  [        S
 U R                  R                   5       5      (       a%  [        U R                  5      S:w  a  [        S5      eO�[        U R                  R                   Vs/ s H'  nUR                  R                  S5      (       a  M%  UPM)     sn5      nU[        U R                  5      :w  a%  [        SU S[        U R                  5       S35      eU R                  R                  R                  (       Ga=  U R                  R                   nU(       a@  UR"                  R                  (       a%  UR"                  R                  R                  (       d  [        SU R                   S35      eUR"                  R$                  ['        [(        R*                  5      :X  ad  [        U R                  5      S:X  a1  U R                  S   R                  UR"                  R                  :X  d  [        SU R                   S35      eO2[        U R                  5      S:w  a  [        SU R                   S35      eU R                  R,                  b9  U R/                  5       [0        R2                  :w  a  [        S[        U 5       35      eU R5                  5       (       a:  U R/                  5       [0        R2                  :w  a  [        S[        U 5       35      eg g s  snf s  snf s  snf s  snf )Nz„Out arguments must have matching return Tensor; furthermore, the ith-argument needs to correspond to the ith return. arg.annotation=z, ret.annotation=c              3  óV   >#   • U  H  nTR                   UR                   :H  v •  M      g 7frH   ©rÈ  ©rÚ   rå   r½  s     €r   rÝ   Ú/FunctionSchema.__post_init__.<locals>.<genexpr>!  s   øé € ÐFº°A�1—<‘< 1§<¡<Ö/ºùó   ƒ&)z^If you have a schema with mutable positional args, we expect them to not be returned. schema: r   r   zYNativeFunctions must have either only mutable returns, or only immutable returns. Found: c              3  óV   >#   • U  H  nTR                   UR                   :H  v •  M      g 7frH   rc  )rÚ   r±  Úrets     €r   rÝ   re  @  s   øé € ÐPÂ<¸C�s—~‘~¨¯©Ö7Â<ùrf  z‡All mutable returns must be aliased either to a keyword argument, or to "self". Did you forget to mark an out argument as keyword-only?c              3  ól   #   • U  H*  oR                   [        [        R                  5      :g  v •  M,     g 7frH   )ÚtypeÚBaseTypeÚBaseTyÚTensor©rÚ   r½  s     r   rÝ   re  K  s"   é € ÐQÒ>P¸—6‘6œX¤f§m¡mÓ4Ö4Ò>Pùs   ‚24zƒout= ops that accept tensor lists as out arguments are expected to have no return type (since you can't do method chaining on them)Ú	_scratch_zSMust return as many arguments as there are out arguments, or no return at all. Got z non-scratch out args and z returnszInplace op z4 must have a self argument with a mutable annotationr3  z" with Tensor self must return selfz* with non-Tensor self must have no returnsz·Found an operator that is not functional or out variant, but has tensor options arguments.This is not allowed- tensor options arguments are only allowed for factory functions.schema: z³Found an operator that is not functional, but its overload contains the string 'functional'.This is a special keyword in the codegen, please use a different overload name.schema: )Úziprs  rt  rÓ  rÈ  rS   Úpost_self_positional_mutablerº  r   rq  rO  rJ   rÉ  rx  r€  rÛ  Úself_argÚargumentrj  rk  rl  rm  r‚  r¶  r·  rê  Úis_functional_fn)	r   r±  Úout_and_selfrh  Úmutable_returnsÚimmutable_returnsÚnon_scratch_out_argsÚself_ar½  s	      `    @r   rÀ  ÚFunctionSchema.__post_init__  sv  ù€ Ü˜DŸN™N×.Ñ.°·±Ö=‰HˆC�Ø�~‰~ §¡Õ/Ü$ð&à&)§n¡nÐ%5Ð5FÀsÇ~Á~ÐFVðXóð ñ >ð —‘×<Ô<ˆAÜÔF¸¿ºÓF×FÓFÜ$ØtÔuxÐy}Óu~Ðtð  Aóð ñ =ô ˜DŸN™N×.Ñ.Ó/ØŸ>™>×9Ò9ó3
Ú9�C¿X¹XÈÑ=O�CÑ9ñ3
ñ 
ˆð
 —|’|ó
â#�Ø�~‰~ó à.1¯n©n×.EÕ.E÷ Ù#ð 	ð 
ð —|’|ó
â#�Ø�~‰~Ñ%¨S¯^©^×-DÕ-D÷ Ù#ð 	ð 
ô �OÓ$¨Ó)¬SÐ1BÓ-CÀqÓ-HÜ ØkÔloÐptÓluÐkvÐwóð ó #ˆCÜÔPÁ<ÓP×PÓPÜ$ðNóð ñ #ð �>‰>××ô ÑQ¸d¿n¹n×>PÒ>PÓQ×QÑQÜ�t—|‘|Ó$¨Ó)Ü(ðkóð ð *ô (+ð $(§>¡>×#5Ò#5óâ#5˜CØ"Ÿx™x×2Ñ2°;×?÷ Ù#5ñó(Ð$ð (¬3¨t¯|©|Ó+<Ó<Ü(ðØ3Ð4Ð4NÌsÐSW×S_ÑS_ÓO`ÐNaÐaiðkóð ð
 �9‰9�>‰>×!×!Ð!Ø—^‘^×,Ñ,ˆFæØ—O‘O×.×.Ø—O‘O×.Ñ.×7×7ä$Ø! $§)¡) Ð,`Ðaóð ð �‰×#Ñ#¤x´·±Ó'>Ó>ô ˜Ÿ™Ó%¨Ó*ØŸ™ Q™×2Ñ2°f·o±o×6PÑ6PÓPä(Ø% d§i¡i [Ð0RÐSóð ð Qô �t—|‘|Ó$¨Ó)Ü(Ø% d§i¡i [Ð0ZÐ[óð ð �>‰>×(Ñ(Ñ4Ø�y‰y‹{œj×3Ñ3Ó3Ü$ðä" 4›y˜kð+óð ð
 × Ñ ×"Ñ"Ø�y‰y‹{œj×3Ñ3Ó3Ü$ðä" 4›y˜kð+óð ð 4ð #ùòw3
ùò
ùò

ùòHs6   ÄTÄTÄ4TÅ	TÅ&TÅ<,TÆ,TÊ$T$ËT$c                ó4   • SU R                   R                  ;   $ )Nrê  ©rJ   Úoverload_namer   s    r   rt  ÚFunctionSchema.is_functional_fnŒ  s   € Ø˜tŸy™y×6Ñ6Ñ6Ð6r   c                ó@   • [        U R                  R                  5      $ rH   )r@  rs  rt  r   s    r   Ú	is_out_fnÚFunctionSchema.is_out_fn�  s   € ô6 �D—N‘N×&Ñ&Ó'Ð'r   c                óÊ  • [        U R                  R                  5      n[        U R                  R                   Vs/ s H&  o"R                  R	                  S5      (       d  M$  UPM(     sn5      nU R                  R                  R
                  n[        S U R                  R                   5       5      nU(       a  U(       a  [        S5      eU(       a  [        R
                  $ U(       a"  U(       d  [        S5      e[        R                  $ U(       a"  U(       a  [        S5      e[        R                  $ U(       a  [        R                  $ [        R                  $ s  snf )zá
What kind of schema is this?  A functional schema is one
that returns a newly allocated output; an inplace schema
modifies the self argument inplace; an out schema writes
the result into an explicitly provided out argument.
ro  c              3  óx   #   • U  H0  nUR                   S L=(       a    UR                   R                  v •  M2     g 7frH   rÇ  rn  s     r   rÝ   Ú&FunctionSchema.kind.<locals>.<genexpr>¸  s2   é € ð 
â8�ð �L‰L Ð$×>¨¯©×)>Ñ)>Ô>Ú8ùs   ‚8:z(A schema cannot be both out= and inplacezFinvariant: all scratch operators are expected to be out= operators toozjWe should not categorize a scratch op as an out variant. Check if the order of if statements are expected!)r@  rs  rt  rJ   r€  rÛ  rº  Úpost_self_positionalrS   r·  rì  rë  rê  )r   Úis_outr±  Ú
is_scratchÚ
is_inplacerJ  s         r   r¶  ÚFunctionSchema.kind¬  s  € ô �d—n‘n×(Ñ(Ó)ˆÜØ ŸN™N×.Ò.ÓSÒ.�S·(±(×2EÑ2EÀk×2R�SÑ.ÑSó
ˆ
ð —Y‘Y—^‘^×+Ñ+ˆ
Üñ 
à—^‘^×8Ò8ó
ó 
ˆ
ö –jÜ Ð!KÓLÐLö Ü×%Ñ%Ð%ÞÞÜ$Ø\óð ô ×%Ñ%Ð%ÞÞÜ$ð Aóð ô —>‘>Ð!ÞÜ×%Ñ%Ð%ä×(Ñ(Ð(ùòC Ts   ½#E Á$E c                óâ  • / nU R                    H×  nU R                  R                   Vs/ s H0  nUR                  c  M  UR                  UR                  :X  d  M.  UPM2     nn[	        U5      S:X  a  UR                  S 5        Mv  [	        U5      S:X  a   UR                  US   R                  5        M¥  SR                  S U 5       5      n[        SUR                   SU S35      e   U$ s  snf )Nr   r3  r  c              3  ó8   #   • U  H  oR                   v •  M     g 7frH   rI   rn  s     r   rÝ   Ú6FunctionSchema.aliased_return_names.<locals>.<genexpr>é  s   é € Ð)Gº,°Q¯&®&º,ùrû  zFound a return (z)that aliases multiple inputs (rõ  )	rÓ  rs  r»  rÈ  rx  rw  rJ   rä   rS   )r   Úoutsrå   r½  Úaliased_argsÚaliased_namess         r   Úaliased_return_namesÚ#FunctionSchema.aliased_return_namesÜ  sà   € Ø!#ˆØ—”ˆAð Ÿ™×0Ò0óâ0�AØ—<‘<ó à01·±ÀÇÁÑ0L÷ Ù0ð ð ô
 �<Ó  AÓ%Ø—‘˜DÖ!Ü�\Ó" aÓ'Ø—‘˜L¨™O×0Ñ0Ö1à $§	¡	Ñ)G¹,Ó)GÓ G�Ü$Ø& q§v¡v hÐ.MÈmÈ_Ð\]Ð^óð ñ ð ˆùòs   ªC,¿C,ÁC,F)Ústrip_defaultÚstrip_view_copy_nameÚkeep_return_namesc          
     ó˜  ^ ^• SU4S jjnT R                   R                   R                  nU(       aQ  UR                  S5      (       a  UR                  SS5      nO(UR                  S5      (       a  UR                  SS5      n[	        UU 4S j[
        R                  " T R                  R                  b!  T R                  R                  R                  /O/ T R                  R                  T R                  R                  5       5       5      n[	        [        UT R                  5      5      nXv-   nT R                  R                  US9n	[        T R                   5      S	:X  a.  [         R#                  [        U	5      R                  S
S5      5      n	[%        ['        [)        UST R                   R                   R*                  S9SS9U	US9$ )a
  
        Certain schemas are 'related', in that they are simply
        inplace/out/functional versions of the same function.  This method
        factors these schemas into the "core" functional signature which
        is equal across all versions.

        Here is what normalization happens to the schema to convert
        it to a signature:
        - The overload name is stripped (name is retained, since
          it expresses semantic content about what the function does)
        - Inplace is set False
        - Out arguments are stripped
        - Mutable post_self_positional args are converted to returns
        - Mutability annotations are stripped  (this is sound
          because you cannot overload on mutability annotation)
        - Return names are stripped since they are not overloadable and
          some variants have return names but some not
        - TensorOptions are dropped
          because out= variants of factory functions don't include them
          (and we want to be able to pair up factory functions with their out variants)

        Finally, we want to be able to pair up related "view" and their
        corresponding "view_copy" operators. We do this by optionally
        stripping the trailing "_copy" from the base name.

        Example of a mutable op before and after:

        f.func (Mutable operator):
_fused_moving_avg_obs_fq_helper(Tensor self, Tensor observer_on, Tensor fake_quant_on, Tensor(a!) running_min, Tensor(b!) running_max, Tensor(c!) scale, Tensor(d!) zero_point, float averaging_const, int quant_min, int quant_max, int ch_axis, bool per_row_fake_quant=False, bool symmetric_quant=False) -> (Tensor output, Tensor mask)  # noqa: B950

        f.func (Corresponding functional operator):
_fused_moving_avg_obs_fq_helper.functional(Tensor self, Tensor observer_on, Tensor fake_quant_on, Tensor running_min, Tensor running_max, Tensor scale, Tensor zero_point, float averaging_const, int quant_min, int quant_max, int ch_axis, bool per_row_fake_quant=False, bool symmetric_quant=False) -> (Tensor output, Tensor mask, Tensor running_min_out, Tensor running_max_out, Tensor scale_out, Tensor zero_point_out)  # noqa: B950

        f.func.signature() output:
_fused_moving_avg_obs_fq_helper(Tensor self, Tensor observer_on, Tensor fake_quant_on, Tensor running_min, Tensor running_max, Tensor scale, Tensor zero_point, float averaging_const, int quant_min, int quant_max, int ch_axis, bool per_row_fake_quant=False, bool symmetric_quant=False) -> (Tensor, Tensor, Tensor, Tensor, Tensor, Tensor)  # noqa: B950
c                óT   >• [        T(       a  U R                  OS U R                  S S9$ )N©rJ   rj  rÈ  )ÚReturnrJ   rj  )rå   r”  s    €r   Ústrip_ret_annotationÚ6FunctionSchema.signature.<locals>.strip_ret_annotation  s%   ø€ ÜÞ0�Q—V’V°dØ—V‘VØñð r   Ú_copyr;   Ú_scatterÚscatterÚinversec              3  ó   >^#   • U  H‚  mTR                   c  M  TR                   R                  (       d  M/  [        U4S jTR                   5       5      (       a  MU  [	        T(       a  TR
                   S3OS TR                  S S9v •  M„     g 7f)Nc              3  óV   >#   • U  H  nTR                   UR                   :H  v •  M      g 7frH   rc  rd  s     €r   rÝ   Ú5FunctionSchema.signature.<locals>.<genexpr>.<genexpr>@  s   øé € ÐKºl¸˜Ÿ™¨¯©Ö4ºlùrf  Ú_outr—  )rÈ  rÉ  rº  rÓ  r˜  rJ   rj  )rÚ   r½  r”  r   s    @€€r   rÝ   Ú+FunctionSchema.signature.<locals>.<genexpr>*  st   ùé € ð ,
ò
�ð �|‰|ó!ð" —‘×%Õ%ó#ô$ ÔK¸d¿lºlÓK×Kó%ŒFÞ(9˜Ÿ™�x˜t‘_¸tØ—V‘VØöò

ùs   „B™B¶"BÁ2B©r’  zbernoulli.pzfloat pzfloat p=0.5F©rß  rÛ  Údunder_methodr|  rS  )rå   r˜  r    r˜  )rJ   rß  r�  ÚreplaceÚtuplerM  rN  rs  rr  rs  rt  r…  ÚmaprÓ  r   r   rA  rX   r>  ru  ÚBaseOperatorNamer¦  )
r   r’  r“  r”  r™  Ú	base_nameÚreturns_from_mutable_inputsÚoriginal_returnsrÓ  Úargs_sigs
   `  `      r   r   ÚFunctionSchema.signatureï  s{  ù€ ÷X	ð —I‘I—N‘N×'Ñ'ˆ	ÞØ×!Ñ! '×*Ñ*Ø%×-Ñ-¨g°rÓ:‘	Ø×#Ñ# J×/Ñ/Ø%×-Ñ-¨i¸ÓC�	ô ',õ ,
ô —_’_ð
 —~‘~×.Ñ.Ñ:ð —^‘^×,Ñ,×5Ñ5Ñ6àà—‘×"Ñ"Ø—‘×3Ñ3ô
ó,
ó '
Ð#ô0 !¤Ð%9¸4¿<¹<Ó!HÓIÐà"Ñ@ˆà—>‘>×+Ñ+¸-Ð+ÐHˆäˆt�y‰y‹>˜]Ó*Ü —‘¤s¨8£}×'<Ñ'<¸YÈÓ'VÓWˆHäÜÜ%Ø"Ø!Ø"&§)¡)§.¡.×">Ñ">ñð
 !ñð Øñ
ð 	
r   c                ó    • U R                  SS9$ )NT©r“  )r   r   s    r   Úview_signatureÚFunctionSchema.view_signatureX  s   € Ø�~‰~°4ˆ~Ð8Ð8r   c                ó@   • [        UU R                  U R                  S9$ )NrS  )r>  rs  rÓ  )r   rJ   s     r   Ú	with_nameÚFunctionSchema.with_name[  s    € ÜØØ—n‘nØ—L‘Lñ
ð 	
r   c                ó‚   • U R                  5       [        R                  [        R                  [        R                  4;   $ rH   )r¶  r·  rÛ  rt  rë  r   s    r   Úmodifies_argumentsÚ!FunctionSchema.modifies_argumentsb  s*   € à�y‰y‹{œz×1Ñ1´:·>±>Ä:×CUÑCUÐVÑVÐVr   c                ó6   • U R                   R                  5       $ rH   )rs  Úhas_symint_argr   s    r   Ú
has_symintÚFunctionSchema.has_symintf  s   € Ø�~‰~×,Ñ,Ó.Ð.r   c                ó  • [        U R                  5      n[        U R                  5      S:X  a  [        U R                  S   5      nO/SSR	                  [        [         U R                  5      5      -   S-   nU R                   SU SU 3$ )Nr3  r   r  r  rõ  z) -> )r   rs  rx  rÓ  rä   r©  rJ   )r   Úall_arguments_strrÓ  s      r   r   ÚFunctionSchema.__str__i  st   € Ü §¡Ó/ÐÜˆt�|‰|Ó Ó!Ü˜$Ÿ,™, q™/Ó*‰Gà˜DŸI™I¤c¬#¨t¯|©|Ó&<Ó=Ñ=ÀÑCˆGØ—)‘)�˜AÐ/Ð0°°g°YÐ?Ð?r   r   Nrç  )r    zIterator[Argument])r?  r   r    r>  rå  )r    r·  )r    zlist[str | None])r’  r@  r“  r@  r”  r@  r    r>  r  )rJ   ru  r    r>  r   )r!   r"   r#   r$   r%   rè  rJ  r¸  ÚreÚcompilerT  rÒ   rX   r_  rÀ  rt  r€  r¶  r�  r   r²  rµ  r¸  r¼  r   r&   r   r   r   r>  r>  á  sÞ   ‡ ð ÓàÓð  ÓàóAó ðAô
ð �jŠjÐOÓP€Gàóó ðô
ôtôl7ô(ô:*)ô`ð, $Ø%*Ø"'ñg
ð ðg
ð #ð	g
ð
  ðg
ð 
õg
ôR9ô
ð óWó ðWô/÷@r   r>  c                  óR   • \ rS rSr% S\S'   S\S'   S\S'   \SS j5       rSS jrS	rg
)Ú
Annotationiz  ztuple[str, ...]Ú	alias_setr@  rÉ  rÑ  c                ó   • [         R                  " SU 5      nUc  [        SU  35      eUR                  S5      UR                  S5      (       a  UR                  S5      OS-   n[	        UR                  S5      5      nUR                  S5      S:H  nU(       a  [        U5      S:”  a  [        S	U  S
35      eUR                  S5      (       a)  [	        UR                  S5      R                  S5      5      OSn[        U5      S:”  a  [        U5      S:”  a  [        SU  S
35      e[        X4US9n[        U5      U :w  a  [        U SU  35      eU$ )Nz2^([a-z])(\|[a-z])*(!?)( -> (\*|[a-z](\|[a-z])*))?$zunrecognized alias annotation r3  rj  r;   Ú|rd  Ú!z,alias set larger than 1 is not mutable, got z	 instead.é   r   zSbefore alias set and after alias set cannot be larger than 1 at the same time, got )rÅ  rÉ  rÑ  ró  )	rÁ  ÚmatchrS   Úgroupr¨  r  rx  rÄ  r   )Úannr5  Úbefore_aliasrÅ  rÉ  Ú	after_setrå   s          r   rX   ÚAnnotation.parse‚  s<  € ô  �HŠHÐJÈCÓPˆà‰9Ü Ð#AÀ#ÀÐ!GÓHÐHØ—w‘w˜q“z°1·7±7¸1·:±: Q§W¡W¨Q¤ZÀ2ÑFˆÜ˜,×,Ñ,¨SÓ1Ó2ˆ	Ø—7‘7˜1“: Ñ$ˆÞœ˜I›¨Ó*Ü Ø>¸s¸eÀ9ÐMóð ð 56·G±G¸A·J±J”E˜!Ÿ'™' !›*×*Ñ*¨3Ó/Ô0ÀBˆ	Üˆ|Ó˜qÓ ¤S¨£^°aÓ%7Ü ØeÐfiÐejÐjsÐtóð ô ØÀIñ
ˆô ˆq‹6�S‹=Ü  A 3 d¨3¨% Ó1Ð1Øˆr   c                óº   • SR                  U R                  5      nU R                  (       a  U S3nSR                  U R                  5      nU(       a  U SU 3nU$ )NrÇ  rÈ  ú -> )rä   rÅ  rÉ  rÑ  )r   rÅ  rÑ  s      r   r   ÚAnnotation.__str__©  sT   € Ø—H‘H˜TŸ^™^Ó,ˆ	Ø�=�=Ø$˜+ Q˜ˆIØŸ(™( 4×#7Ñ#7Ó8ˆÞØ$˜+ T¨/Ð):Ð;ˆIØÐr   r   N)rÌ  r   r    rÄ  r   )	r!   r"   r#   r$   r%   rÒ   rX   r   r&   r   r   r   rÄ  rÄ  z  s-   ‡ ð ÓØƒNØ$Ó$àó$ó ð$÷Lr   rÄ  c                  ó‚   • \ rS rSr\SS j5       r\SS j5       rSS jrSS jrSS jr	SS jr
SS jrSS	 jrSS
 jrSrg)ÚTypei¹  c                ón   • [         R                  U 5      n[        U5      U :w  a  [        U SU  35      eU$ )Nró  )rÔ  Ú_parser   rS   )r–  rå   s     r   rX   Ú
Type.parse»  s4   € ä�K‰K˜‹NˆÜˆq‹6�Q‹;Ü  A 3 d¨1¨# Ó/Ð/Øˆr   c                óH  • [         R                  " SU 5      nUb-  [        [        R	                  UR                  S5      5      5      $ [         R                  " SU 5      nUbZ  UR                  S5      b  [        UR                  S5      5      OS n[        [        R	                  UR                  S5      5      US9$ [         R                  " SU 5      nUb  [        UR                  S5      5      $  [        [        U    5      $ ! [         a  n[        SU  35      UeS nAff = f)Nz^(.+)\?$r3  z^(.+)\[([0-9]+)?\]$rj  )ÚelemÚsizez-^__torch__\.torch\.classes\.([a-zA-Z0-9_.]+)$zunrecognized type )rÁ  rÊ  ÚOptionalTyperÔ  rX   rË  r   ÚListTypeÚCustomClassTyperk  rl  ÚKeyErrorr  )r–  r5  rÚ  r�  s       r   rÖ  ÚType._parseÂ  sî   € ä�HŠH�[ !Ó$ˆØ‰=Ü¤§
¡
¨1¯7©7°1«:Ó 6Ó7Ð7Ü�HŠHÐ+¨QÓ/ˆØ‰=Ø&'§g¡g¨a£jÑ&<”3�q—w‘w˜q“z”?À$ˆDÜ¤§¡¨A¯G©G°A«JÓ!7¸dÑCÐCô �HŠHÐEÀqÓIˆØ‰=Ü" 1§7¡7¨1£:Ó.Ð.ð	@ÜœF 1™IÓ&Ð&øÜó 	@ÜÐ!3°A°3Ð7Ó8¸aÐ?ûð	@ús   Ã1D Ä
D!ÄDÄD!c                ó   • [         erH   ©ÚNotImplementedErrorr   s    r   r   ÚType.__str__Õ  ó   € Ü!Ð!r   c                ó   • [         erH   rá  ©r   Úbase_tys     r   Úis_base_ty_likeÚType.is_base_ty_likeÝ  rä  r   c                ó@   • U R                  [        R                  5      $ rH   )rè  rl  rm  r   s    r   Úis_tensor_likeÚType.is_tensor_likeà  ó   € Ø×#Ñ#¤F§M¡MÓ2Ð2r   c                ó@   • U R                  [        R                  5      $ rH   )rè  rl  Ú	Generatorr   s    r   Úis_generator_likeÚType.is_generator_likeã  s   € Ø×#Ñ#¤F×$4Ñ$4Ó5Ð5r   c                ó@   • U R                  [        R                  5      $ rH   )rè  rl  ÚSymIntr   s    r   Úis_symint_likeÚType.is_symint_likeæ  rí  r   c                ó   • [         erH   rá  r   s    r   Úis_nullableÚType.is_nullableé  rä  r   c                ó   • [         erH   rá  r   s    r   Úis_list_likeÚType.is_list_likeì  rä  r   r   N)r–  r   r    rÔ  r   ©rç  rl  r    r@  rç  ©r    zListType | None)r!   r"   r#   r$   rÒ   rX   rÖ  r   rè  rë  rð  rô  r÷  rú  r&   r   r   r   rÔ  rÔ  ¹  sM   † àóó ðð ó@ó ð@ô$"ô"ô3ô6ô3ô"÷"r   rÔ  c                  ó,  • \ rS rSr\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r	\" 5       r
\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       rSrg)rl  iñ  r   N)r!   r"   r#   r$   r   rï  rø   rm  r   ÚDimnameÚ	DimVectorÚfloatr   r@  ÚLayoutÚDeviceÚDeviceIndexÚScalarÚMemoryFormatÚQSchemeÚStorageÚStreamró  ÚSymBoolÚGraphModuler&   r   r   r   rl  rl  ñ  sŽ   † Ù“€IÙ“€JÙ‹V€FÙ
‹&€CÙ‹f€GÙ“€IÙ‹F€EÙ
‹&€CÙ‹6€DÙ‹V€FÙ‹V€FÙ“&€KÙ‹V€FÙ“6€LÙ‹f€GÙ‹f€GÙ‹V€FÙ‹V€FÙ‹f€GÙ“&ƒKr   rl  c                  óR   • \ rS rSr% S\S'   SS jrSS jrSS jrSS jrSS jr	S	r
g
)rk  i  rl  rJ   c                ó0   • U R                   R                    $ rH   rI   r   s    r   r   ÚBaseType.__str__  s   € Ø—)‘)—.‘.Ð!Ð"r   c                ó    • U R                   U:H  $ rH   rI   ræ  s     r   rè  ÚBaseType.is_base_ty_like  s   € Ø�y‰y˜GÑ#Ð#r   c                ó   • grE  r   r   s    r   r÷  ÚBaseType.is_nullable  ó   € Ør   c                ó   • g rH   r   r   s    r   rú  ÚBaseType.is_list_like  ó   € Ør   c                ó<   • U R                   [        R                  :H  $ rH   )rJ   rl  ró  r   s    r   rô  ÚBaseType.is_symint_like  s   € Ø�y‰yœFŸM™MÑ)Ð)r   r   Nr   rü  rç  rý  )r!   r"   r#   r$   r%   r   rè  r÷  rú  rô  r&   r   r   r   rk  rk    s    ‡ à
ƒLô#ô$ôô÷*r   rk  c                  óR   • \ rS rSr% S\S'   SS jrSS jrSS jrSS jrSS jr	S	r
g
)rÛ  i  rÔ  rÙ  c                ó    • U R                    S3$ )NÚ?)rÙ  r   s    r   r   ÚOptionalType.__str__!  s   € Ø—)‘)�˜AˆÐr   c                ó8   • U R                   R                  U5      $ rH   ©rÙ  rè  ræ  s     r   rè  ÚOptionalType.is_base_ty_like$  ó   € Ø�y‰y×(Ñ(¨Ó1Ð1r   c                ó6   • U R                   R                  5       $ rH   ©rÙ  rô  r   s    r   rô  ÚOptionalType.is_symint_like'  ó   € Ø�y‰y×'Ñ'Ó)Ð)r   c                ó   • g)NTr   r   s    r   r÷  ÚOptionalType.is_nullable*  r  r   c                ó6   • U R                   R                  5       $ rH   )rÙ  rú  r   s    r   rú  ÚOptionalType.is_list_like-  s   € Ø�y‰y×%Ñ%Ó'Ð'r   r   Nr   rü  rç  rý  ©r!   r"   r#   r$   r%   r   rè  rô  r÷  rú  r&   r   r   r   rÛ  rÛ    s    ‡ à
ƒJôô2ô*ô÷(r   rÛ  c                  óR   • \ rS rSr% S\S'   SS jrSS jrSS jrSS jrSS jr	S	r
g
)rÝ  i2  r   Ú
class_namec                ó    • SU R                    3$ )z;
Return the class name will prefix __torch__.torch.classes
z__torch__.torch.classes.)r+  r   s    r   r   ÚCustomClassType.__str__6  s   € ð *¨$¯/©/Ð):Ð;Ð;r   c                ó   • grE  r   ræ  s     r   rè  ÚCustomClassType.is_base_ty_like<  r  r   c                ó   • grE  r   r   s    r   rô  ÚCustomClassType.is_symint_like?  r  r   c                ó   • g)z(
Assume a custom class is not nullable.
Fr   r   s    r   r÷  ÚCustomClassType.is_nullableB  s   € ð r   c                ó   • g rH   r   r   s    r   rú  ÚCustomClassType.is_list_likeH  r  r   r   Nr   rü  rç  rý  r)  r   r   r   rÝ  rÝ  2  s    ‡ àƒOô<ôôô÷r   rÝ  c                  ó\   • \ rS rSr% S\S'   S\S'   SS jrSS jrSS jrSS	 jrSS
 jr	Sr
g)rÜ  iS  rÔ  rÙ  z
int | NonerÚ  c                óf   • U R                   (       a  U R                    OSnU R                   SU S3$ )Nr;   Ú[Ú])rÚ  rÙ  )r   rÚ  s     r   r   ÚListType.__str__X  s,   € Ø!%§§�$—)‘)‘°ˆØ—)‘)�˜A˜d˜V 1Ð%Ð%r   c                ó8   • U R                   R                  U5      $ rH   r  ræ  s     r   rè  ÚListType.is_base_ty_like\  r   r   c                ó6   • U R                   R                  5       $ rH   r"  r   s    r   rô  ÚListType.is_symint_like_  r$  r   c                ó6   • U R                   R                  5       $ rH   )rÙ  r÷  r   s    r   r÷  ÚListType.is_nullableb  s   € Ø�y‰y×$Ñ$Ó&Ð&r   c                ó   • U $ rH   r   r   s    r   rú  ÚListType.is_list_likee  s   € Øˆr   r   Nr   rü  rç  rý  r)  r   r   r   rÜ  rÜ  S  s&   ‡ à
ƒJØ
Óô&ô2ô*ô'÷r   rÜ  c                  ó„   • \ rS rSr% S\S'   S\S'   S\S'   S\S	'   \SS
 j5       r\SS j5       r\SS j5       r	SS jr
Srg)rI  ii  r   rJ   rÔ  rj  rD  r]  úAnnotation | NonerÈ  c                ó   • U R                   $ rH   rc  r   s    r   Ú
alias_infoÚArgument.alias_info‡  ó   € à�‰Ðr   c                ó¾  • SU ;  a  [        SU  S35      eSU ;   aS  U R                  S5      S:w  a  [        SU  S35      eU R                  S5      u  pUR                  SS5      u  p4U SU 3nOU R                  SS5      u  p5UnS n[        R
                  " SU5      nU(       ak  UR                  S5      S	;  a  [        S
UR                  S5       35      eSUR                  S5      -   n[        R                  UR                  S5      5      nOUnS n[        R                  U5      n	[        UU	UUS9n
[        U
5      U :w  a  [        [        U
5       SU  35      eU
$ )Nr  zillegal argument 'rÿ  Ú=r3  z&illegal argument with default value: 'úTensor\((.+)\)(.*)rj  ©r;   r  z[]ú.unrecognized alias analysis form with Tensor: rm  ©rJ   rj  r]  rÈ  ró  )rS   Úcountr  ÚrsplitrÁ  rÊ  rË  rÄ  rX   rÔ  rI  r   )r±  Útype_and_annot_and_namer]  Útype_and_annotrJ   Úname_and_defaultrÊ  Útype_srÈ  rj  rå   s              r   rX   ÚArgument.parse‹  sl  € ð �c‹>Ü Ð#5°c°U¸!Ð!<Ó=Ð=Ø�#‹:Ø�y‰y˜‹~ Ó"Ü$Ð'MÈcÈUÐRSÐ%TÓUÐUØ/2¯y©y¸«~Ñ,Ð#Ø#:×#AÑ#AÀ#ÀqÓ#IÑ ˆNØ"&  q¨¨	Ð2Ñà/2¯z©z¸#¸qÓ/AÑ,ˆNØ#ˆDØˆGä—’Ð.°Ó?ˆæà�{‰{˜1‹~ _Ó4Ü$ØDÀUÇ[Á[ÐQRÃ^ÐDTÐUóð ð  §¡¨A£Ñ.ˆFÜ#×)Ñ)¨%¯+©+°a«.Ó9‰Jà#ˆFØˆJÜ�z‰z˜&Ó!ˆÜØØØØ!ñ	
ˆô ˆq‹6�S‹=Ü ¤C¨£F 8¨4°¨uÐ!5Ó6Ð6Øˆr   c                óX   • U R                   S L=(       a    U R                   R                  $ rH   rÇ  r   s    r   rÉ  ÚArgument.is_write´  ó    € à�‰ dÐ*×G¨t¯©×/GÑ/GÐGr   c                ó.  • U R                    nU R                  (       a4  US;  a  [        SU 35      eUR                  SSU R                   S35      nU R                  c  U$ SnU R
                  (       a  SU R
                   3nU SU R                   U 3$ )	N©rm  zTensor?zTensor[]úannotation on non-Tensor type: rm  úTensor(rõ  r;   rJ  r  )rj  rÈ  rS   r§  rJ   r]  )r   rj  Ú
mb_defaults      r   r   ÚArgument.__str__¸  s’   € Ø—)‘)�ˆØ�?�?ØÐ<Ó<Ü$Ð'FÀtÀfÐ%MÓNÐNØ—<‘< ¨G°D·O±OÐ3DÀAÐ*FÓGˆDØ�9‰9ÑØˆKàˆJØ�|�|Ø  §¡ Ð/�
Ø�V˜1˜TŸY™Y˜K¨
 |Ð4Ð4r   r   N©r    rD  )r±  r   r    rI  rç  r   ©r!   r"   r#   r$   r%   rè  rF  rÒ   rX   rÉ  r   r&   r   r   r   rI  rI  i  s^   ‡ ð
 ƒIØ
ƒJØÓð* "Ó!àóó ðð ó&ó ð&ðP óHó ðH÷5r   rI  c                  óz   • \ rS rSr% S\S'   S\S'   S\S'   \SS j5       r\SS	 j5       r\SS
 j5       r	SS jr
Srg)r˜  iÇ  rD  rJ   rÔ  rj  rD  rÈ  c                ó   • U R                   $ rH   rc  r   s    r   rF  ÚReturn.alias_infoÍ  rH  r   c                óî  • SU ;   a  U R                  SS5      u  pOU nS n[        R                  " SU5      nU(       ak  UR                  S5      S;  a  [	        SUR                  S5       35      eSUR                  S5      -   n[
        R                  UR                  S5      5      nOUnS n[        R                  U5      n[        UUUS9n[        U5      U :w  a  [	        [        U5       S	U  35      eU$ )
Nr  r3  rK  rj  rL  rM  rm  r—  ró  )
rP  rÁ  rÊ  rË  rS   rÄ  rX   rÔ  r˜  r   )r±  rR  rJ   rÊ  rT  rÈ  rj  rå   s           r   rX   ÚReturn.parseÑ  sò   € ð �#‹:Ø#&§:¡:¨c°1Ó#5Ñ ˆN˜Dà ˆNØˆDÜ—’Ð.°Ó?ˆæà�{‰{˜1‹~ _Ó4Ü$ØDÀUÇ[Á[ÐQRÃ^ÐDTÐUóð ð  §¡¨A£Ñ.ˆFÜ#×)Ñ)¨%¯+©+°a«.Ó9‰Jà#ˆFØˆJÜ�z‰z˜&Ó!ˆÜØØØ!ñ
ˆô
 ˆq‹6�S‹=Ü ¤C¨£F 8¨4°¨uÐ!5Ó6Ð6Øˆr   c                óX   • U R                   S L=(       a    U R                   R                  $ rH   rÇ  r   s    r   rÉ  ÚReturn.is_writeð  rX  r   c                óæ   • U R                    nU R                  (       a4  US;  a  [        SU 35      eUR                  SSU R                   S35      nU R                  c  U$ U SU R                   3$ )NrZ  r[  rm  r\  rõ  r  )rj  rÈ  rS   r§  rJ   )r   rj  s     r   r   ÚReturn.__str__ô  sr   € Ø—)‘)�ˆØ�?�?ØÐ<Ó<Ü$Ð'FÀtÀfÐ%MÓNÐNØ—<‘< ¨G°D·O±OÐ3DÀAÐ*FÓGˆDØ�9‰9ÑØˆKà�V˜1˜TŸY™Y˜KÐ(Ð(r   r   Nr_  )r±  r   r    r˜  rç  r   r`  r   r   r   r˜  r˜  Ç  sT   ‡ à
ÓØ
ƒJØ!Ó!àóó ðð óó ðð< óHó ðH÷	)r   r˜  c                  ó    • \ rS rSr% S\S'   Srg)ÚSelfArgumenti	  rI  rs  r   N)r!   r"   r#   r$   r%   r&   r   r   r   rk  rk  	  s   ‡ àÖr   rk  c                  óH   • \ rS rSr% S\S'   S\S'   S\S'   S\S'   S
S jrSrg	)ÚTensorOptionsArgumentsi		  rI  ÚdtypeÚlayoutÚdeviceÚ
pin_memoryc                ó^   • U R                   U R                  U R                  U R                  /$ rH   ©rn  ro  rp  rq  r   s    r   ÚallÚTensorOptionsArguments.all	  s!   € Ø—
‘
˜DŸK™K¨¯©°d·o±oÐFÐFr   r   N©r    zSequence[Argument])r!   r"   r#   r$   r%   rt  r&   r   r   r   rm  rm  		  s   ‡ àƒOØÓØÓØÓ÷Gr   rm  c                  óž  • \ rS rSr% S\S'   S\S'   S\S'   S\S'   S\S	'   S\S
'   S\S'   \S$S j5       r\S$S j5       r\S$S j5       r\S$S j5       r	\S$S j5       r
\  S%S j5       r\S&S j5       r\S'S j5       r\S%S j5       rS(S jrS)S jrS)S jrS)S jrSS.S*S jjrS+S jrS,S jr\S-S j5       r\S.S j5       rS/S  jrS0S! jrS"rg#)1rA  i	  ztuple[Argument, ...]Úpre_self_positionalzSelfArgument | Nonerr  r…  Úpre_tensor_options_kwarg_onlyzTensorOptionsArguments | Noner‚  Úpost_tensor_options_kwarg_onlyrt  c                óv   • / nUR                  U R                  5        UR                  U R                  5        U$ rH   )râ   rO  rP  ©r   rh  s     r   Úflat_non_outÚArguments.flat_non_out+	  s0   € à ˆØ�
‰
�4×'Ñ'Ô(Ø�
‰
�4×'Ñ'Ô(Øˆ
r   c                óÚ   • / nUR                  U R                  5        U R                  b%  UR                  U R                  R                  5        UR                  U R
                  5        U$ rH   )râ   rx  rr  rw  rs  r…  r|  s     r   rO  ÚArguments.flat_positional2	  sP   € à ˆØ�
‰
�4×+Ñ+Ô,Ø�=‰=Ñ$Ø�J‰J�t—}‘}×-Ñ-Ô.Ø�
‰
�4×,Ñ,Ô-Øˆ
r   c                ój   • U R                    Vs/ s H  oR                  (       d  M  UPM     sn$ s  snf rH   )r…  rÉ  ©r   r½  s     r   rq  Ú&Arguments.post_self_positional_mutable;	  s&   € à×4Ò4ÓCÒ4�a¿
½
—Ñ4ÑCÐCùÒCs   �0§0c                óâ   • / nUR                  U R                  5        U R                  b)  UR                  U R                  R                  5       5        UR                  U R                  5        U$ rH   )râ   ry  r‚  rt  rz  r|  s     r   rP  ÚArguments.flat_kwarg_only@	  sW   € à ˆØ�
‰
�4×5Ñ5Ô6Ø×ÑÑ*Ø�J‰J�t×*Ñ*×.Ñ.Ó0Ô1Ø�
‰
�4×6Ñ6Ô7Øˆ
r   c                ó¬   • / nUR                  U R                  5        UR                  U R                  5        UR                  U R                  5        U$ rH   )râ   rO  rP  rt  r|  s     r   r»  ÚArguments.flat_allI	  s@   € à ˆØ�
‰
�4×'Ñ'Ô(Ø�
‰
�4×'Ñ'Ô(Ø�
‰
�4—8‘8ÔØˆ
r   c                óv   • / nUR                  U R                  5        UR                  U R                  5        U$ rH   )râ   Ú
positionalÚ
kwarg_onlyr|  s     r   Únon_outÚArguments.non_outQ	  s0   € ð GIˆØ�
‰
�4—?‘?Ô#Ø�
‰
�4—?‘?Ô#Øˆ
r   c                óÆ   • / nUR                  U R                  5        U R                  b  UR                  U R                  5        UR                  U R                  5        U$ rH   )râ   rx  rr  rw  r…  r|  s     r   r‰  ÚArguments.positionalZ	  sJ   € à-/ˆØ�
‰
�4×+Ñ+Ô,Ø�=‰=Ñ$Ø�J‰J�t—}‘}Ô%Ø�
‰
�4×,Ñ,Ô-Øˆ
r   c                óÆ   • / nUR                  U R                  5        U R                  b  UR                  U R                  5        UR                  U R                  5        U$ rH   )râ   ry  r‚  rw  rz  r|  s     r   rŠ  ÚArguments.kwarg_onlyc	  sN   € à79ˆØ�
‰
�4×5Ñ5Ô6Ø×ÑÑ*Ø�J‰J�t×*Ñ*Ô+Ø�
‰
�4×6Ñ6Ô7Øˆ
r   c                ó¬   • / nUR                  U R                  5        UR                  U R                  5        UR                  U R                  5        U$ rH   )râ   r‰  rŠ  rt  r|  s     r   rt  ÚArguments.alll	  s<   € àFHˆØ�
‰
�4—?‘?Ô#Ø�
‰
�4—?‘?Ô#Ø�
‰
�4—8‘8ÔØˆ
r   c                ó²   • U R                    Vs/ s H;  nUR                  c  M  UR                  R                  (       d  M/  UR                  PM=     sn$ s  snf rH   )r»  rÈ  rÉ  rJ   r‚  s     r   Úmutable_arg_namesÚArguments.mutable_arg_namest	  sL   € ð —]’]ó
â"�Ø�|‰|ó à,-¯L©L×,AÕ,Aó ˆA�FŒFÙ"ñ
ð 	
ùò 
s   �A¤AÁAc                ó:   • [        S U R                   5       5      $ )Nc              3  óT   #   • U  H  oR                   R                  5       v •  M      g 7frH   )rj  rë  rn  s     r   rÝ   Ú+Arguments.has_tensor_arg.<locals>.<genexpr>|	  ó    é € ÐFÒ4E¨q—6‘6×(Ñ(×*Ð*Ò4Eùó   ‚&(©rº  r}  r   s    r   rƒ  ÚArguments.has_tensor_arg{	  ó   € ÜÑF°D×4EÒ4EÓFÓFÐFr   c                ó:   • [        S U R                   5       5      $ )Nc              3  óT   #   • U  H  oR                   R                  5       v •  M      g 7frH   )rj  rô  rn  s     r   rÝ   Ú+Arguments.has_symint_arg.<locals>.<genexpr>	  r™  rš  r›  r   s    r   r»  ÚArguments.has_symint_arg~	  r�  r   c                ó:   • [        S U R                   5       5      $ )Nc              3  óT   #   • U  H  oR                   R                  5       v •  M      g 7frH   )rj  rð  rn  s     r   rÝ   Ú.Arguments.has_generator_arg.<locals>.<genexpr>‚	  s    é € ÐIÒ7H°!—6‘6×+Ñ+×-Ð-Ò7Hùrš  r›  r   s    r   r¼  ÚArguments.has_generator_arg�	  s   € ÜÑI°t×7HÒ7HÓIÓIÐIr   Fr¤  c               ó|  ^• SU4S jjn[        [        [        X R                  5      5      U R                  b%  [        U" U R                  R                  5      5      OS [        [        X R                  5      5      [        [        X R                  5      5      [        [        X R                  5      5      -   S SSS9$ )Nc                óp   >• [        U R                  U R                  T(       d  U R                  S S9$ S S S9$ )NrN  )rI  rJ   rj  r]  )r½  r’  s    €r   Ústrip_arg_annotationÚ1Arguments.signature.<locals>.strip_arg_annotation‡	  s=   ø€ ÜØ—V‘VØ—V‘VÞ)6˜Ÿ	™	Øñ	ð ð =AØñ	ð r   r   ©rx  rr  r…  ry  r‚  rz  rt  )r½  rI  r    rI  )
rA  r¨  r©  rx  rr  rk  rs  r…  ry  rz  )r   r’  r¨  s    ` r   r   ÚArguments.signature„	  s®   ø€ ÷	ô Ü %ÜÐ(×*BÑ*BÓCó!ð
 —=‘=Ñ,ô Ñ1°$·-±-×2HÑ2HÓIÔJàä!&ÜÐ(×*CÑ*CÓDó"ô
 +0ÜÐ(×*LÑ*LÓMó+ô ”CÐ,×.QÑ.QÓRÓSñ+Tð  Ø+-àñ/
ð 	
r   c           
     ó¼   • U R                   c  [        S5      e[        R                  " U [	        [        R                  " U R                   R
                  S S95      S9$ )Nz2remove_self_annotation called but self_arg is Nonerc  )rr  )rr  rS   Údataclassesr§  rk  rs  r   s    r   Úremove_self_annotationÚ Arguments.remove_self_annotation©	  sP   € Ø�=‰=Ñ Ü Ð!UÓVÐVÜ×"Ò"ØÜ!Ü×#Ò# D§M¡M×$:Ñ$:ÀtÑLóñ
ð 	
r   c                ó    • [        U R                  5      S:w  a  [        SU R                   35      e[        R                  " U [        U5      S9$ )Nr   z0with_out_args called but self.out is not empty: )rt  )rx  rt  rS   r­  r§  r¨  )r   r�  s     r   Úwith_out_argsÚArguments.with_out_args³	  sL   € Üˆt�x‰x‹=˜AÓÜ ØBÀ4Ç8Á8À*ÐMóð ô ×"Ò"ØÜ�d“ñ
ð 	
r   c                ó|  • / n/ n/ nUnU R                  S5       Hœ  nU(       d  M  US:X  a  XALa  [        S5      eUnM%  [        R                  U5      nUR                  b'  UR                  R
                  (       a  XAL a  O$XBL a  UnOXCL a  [        SUR                   S35      eUR                  U5        Mž     XU4$ )Nr  rÐ  z:invalid syntax: kwarg-only specifier * can only occur onceznon-mutable argument 'z%' cannot follow mutable out arguments)r  rS   rI  rX   rÈ  rÉ  rJ   rw  )rY  r‰  rŠ  rt  Úarguments_accr±  Úpargs          r   Ú	_preparseÚArguments._preparse½	  sÔ   € à%'ˆ
Ø%'ˆ
Ø ˆØ"ˆð —:‘:˜dÖ#ˆCÞÙØ�c‹zØ Ò2Ü(ØTóð ð !+�ÙÜ—>‘> #Ó&ˆDð �‰Ñ*¨t¯©×/G×/GØ Ò.ØØ"Ò0Ø$'�Møà Ò'Ü(Ø0°·±°Ð;`Ðaóð ð × Ñ  Ö&ñ7 $ð:  sÐ*Ð*r   c                ó¼  • [         R                  U 5      u  pnSn[        U5       H  u  pVUR                  S:X  d  M  Un  O   Ub  USU n[	        X   5      nXS-   S n	O/ nSnUn	/ n
Sn/ nU
nSS jnU" S[
        R                  S5      5      U" S[
        R                  S5      5      U" S	[
        R                  S
5      5      U" S[
        R                  S5      5      /nSnU[        U5      :  a°  U[        U5      [        U5      -
  ::  al  [        S [        XòXU[        U5      -    5       5       5      (       a>  XÚLa  [        S5      e[        X%   X%S-      X%S-      X%S-      S9nU[        U5      -  nUnM–  UR                  X%   5        US-  nU[        U5      :  a  M°  [        [        U5      U[        U	5      [        U
5      U[        U5      [        U5      S9$ )z
Input: 'int x, int y, int z'
Nr   r3  c                ó   ^ ^• U U4S j$ )Nc                ód   >• U R                   T:H  =(       a    U R                  T[        T5      4;   $ rH   )rJ   rj  rÛ  )r½  rJ   Útys    €€r   Ú<lambda>Ú/Arguments.parse.<locals>.pred.<locals>.<lambda>
  s(   ø€ ˜QŸV™V t™^×P°·±¸2¼|ÈBÓ?OÐ:PÑ0PÐPr   r   )rJ   r»  s   ``r   ÚpredÚArguments.parse.<locals>.pred

  s	   ù€ ÝPÐPr   rn  rø   ro  r  rp  r  rq  r@  r   c              3  ó6   #   • U  H  u  pU" U5      v •  M     g 7frH   r   )rÚ   Úpr½  s      r   rÝ   Ú"Arguments.parse.<locals>.<genexpr>
  s   é € ð â T™˜ñ �a—D�DÚ Tùs   ‚z-tensor options arguments can only appear oncerj  rd  rs  rª  )rJ   r   r»  rÔ  r    zCallable[[Argument], bool])rA  r¶  Ú	enumeraterJ   rk  rÔ  rX   rx  rt  rp  rS   rm  rw  r¨  )rY  r‰  rŠ  rt  Úself_ixÚir½  rx  rr  r…  ry  r‚  rz  Úkwarg_only_accr¾  Ú
predicatess                   r   rX   ÚArguments.parseå	  s  € ô '0×&9Ñ&9¸$Ó&?Ñ#ˆ
 ð ˆÜ˜jÖ)‰DˆAØ�v‰v˜ÕØ�Ùñ *ð ÑØ",¨X¨gÐ"6ÐÜ# JÑ$7Ó8ˆHØ#-¸©k¨mÐ#<Ñ à"$ÐØˆHØ#-Ð ð 9;Ð%Ø8<ˆØ9;Ð&Ø6ˆô	Qñ �œ$Ÿ*™* \Ó2Ó3Ù�œ4Ÿ:™: hÓ/Ó0Ù�œ4Ÿ:™: hÓ/Ó0Ù�œtŸz™z¨&Ó1Ó2ð	
ˆ
ð ˆØ”#�j“/Ó!à”C˜
“O¤c¨*£oÑ5Ó5äñ ä # J¸1Ä3ÀzÃ?Ñ?RÐ0SÔ Tó÷ ñ ð &ÒJÜ,ØKóð ô &<Ø(™mØ)¨a©%Ñ0Ø)¨a©%Ñ0Ø#-°!©eÑ#4ñ	&�Nð œ˜Z›Ñ(�AØ%C�NÙØ×!Ñ! *¡-Ô0Ø�‰FˆAð/ ”#�j“/Õ!ô2 Ü %Ð&9Ó :ØÜ!&Ð';Ó!<Ü*/Ð0MÓ*NØ)Ü+0Ð1OÓ+PÜ�c“
ñ
ð 	
r   c                ó„  • / nUR                  [        [        U R                  5      5        U R                  (       d  U R
                  (       a  UR                  S5        UR                  [        [        U R                  5      5        UR                  [        [        U R
                  5      5        SR                  U5      $ )NrÐ  r  )râ   r©  r   rO  rP  rt  rw  rä   )r   Úall_argumentss     r   r   ÚArguments.__str__8
  s‚   € Ø#%ˆØ×ÑœS¤ d×&:Ñ&:Ó;Ô<Ø×× 4§8§8Ø× Ñ  Ô%Ø×ÑœS¤ d×&:Ñ&:Ó;Ô<Ø×ÑœS¤ d§h¡hÓ/Ô0Ø�y‰y˜Ó'Ð'r   c                ó|  • U R                   c  U R                  (       a  [        S5      eU R                  c  U R                  (       a  [        S5      eU R                   Vs/ s H1  nUR
                  c  M  UR
                  R                  (       d  M/  UPM3     nn[        U5      S:w  a  [        SU 35      eg s  snf )Nz5pre_self_positional is non-empty but self_arg is NonezFpost_tensor_options_kwarg_only is non-empty but tensor_options is Noner   zQmutable pre_self_positional arguments are not currently supported in the schema: )rr  rx  rS   r‚  rz  rÈ  rÉ  rx  )r   r½  Úmutable_pre_self_positionalss      r   rÀ  ÚArguments.__post_init__A
  sÍ   € ð �=‰=Ñ Ø×'×'Ü$ØKóð ð ×ÑÑ&Ø×2×2Ü$Ø\óð ð ×-Ò-ó(
â-�Ø�|‰|ó à,-¯L©L×,AÕ,A÷ Ù-ð 	%ð (
ô
 Ð+Ó,°Ó1Ü Øcð  eAð  dBð  Cóð ð 2ùò(
s   Á!B9Á6B9ÂB9r   Nrv  )r    z:Sequence[Argument | SelfArgument | TensorOptionsArguments])r    z!Sequence[Argument | SelfArgument])r    z+Sequence[Argument | TensorOptionsArguments]©r    z	list[str]rç  )r’  r@  r    rA  )r    rA  )r�  úlist[Argument]r    rA  )rY  r   r    z5tuple[list[Argument], list[Argument], list[Argument]])rY  r   r    rA  r   rå  )r!   r"   r#   r$   r%   rè  r}  rO  rq  rP  r»  r‹  r‰  rŠ  rt  r”  rƒ  r»  r¼  r   r®  r±  rÒ   r¶  rX   r   rÀ  r&   r   r   r   rA  rA  	  sP  ‡ ð
 .Ó-Ø!Ó!Ø.Ó.à#7Ó7Ø1Ó1ð %9Ó8ð 
Óàóó ðð óó ðð óDó ðDð óó ðð óó ðð ðà	Cóó ðð óó ðð óó ðð óó ðô
ôGôGôJð 27÷ #
ôJ
ô
ð ó%+ó ð%+ðN óP
ó ðP
ôd(÷r   rA  )r  ÚsubÚmulÚdivÚmodÚpowÚlshiftÚrshiftÚandÚxorÚorc                  ón   • \ rS rSr% S\S'   S\S'   S\S'   SrS\S'   S	rS
\S'   \SS j5       rSS jr	Sr
g	)rª  it
  r   rß  r@  rÛ  r¦  Fr  NrD  r=  c                ó  ^
• U S:X  a  [        S5      eU R                  S5      (       a  [        S5      e[        R                  " SU 5      nU(       a  UR	                  S5      OSnU(       a  UR	                  S5      OU n[        R                  " SU5      nUbS  S	nUR	                  S5      m
[        U
4S
 j[         5       5      (       a  S	nT
SS  m
O1SnT
S   S:X  a  [        SU  35      eOSnUm
T
S   S:X  a  S	nT
S S m
OSnSnT
R                  U5      (       a.  S	nT
S [        U5      *  m
U(       d  U(       a  [        SU  35      eOSn[        T
UUUUS9n	[        U	5      U :w  a  [        [        U	5       SU  35      eU	$ )Nr;   zoperator name cannot be emptyr¢  zs_out suffix is reserved and not permitted for operator names; did you mean to specify an out overload name instead?z^(?:(.*)::)?(.*)$r3  rj  z^__([^_]+)__$Tc              3  ó4   >#   • U  H  nTS U 3:H  v •  M     g7f)rÅ  Nr   )rÚ   Únrß  s     €r   rÝ   Ú)BaseOperatorName.parse.<locals>.<genexpr>§
  s   øé € ÐGÒ,F q�4˜Q˜q˜c˜7–?Ò,Fùrß   Fr   rÅ  z,unexpected dunder method starting with 'i': r   Ú_Ú_functionalz:functional overload cannot be a dunder method or inplace: )rß  rÛ  r¦  r  r=  ró  )
rS   r�  rÁ  rÊ  rË  rº  ÚAUGMENTED_ASSIGNMENT_NAMESrx  rª  r   )rý  rÊ  r=  Úop_without_nsr5  r¦  rÛ  Úfunctional_suffixr  rå   rß  s             @r   rX   ÚBaseOperatorName.parse”
  s·  ø€ à�‹8Ü Ð!@ÓAÐAØ�;‰;�v×ÑÜ ðHóð ô —’Ð-¨rÓ2ˆÞ&+�E—K‘K ”N°ˆ	Þ*/˜Ÿ™ Aœ°RˆÜ�HŠHÐ% }Ó5ˆØ‰=Ø ˆMØ—7‘7˜1“:ˆDÜÔGÕ,FÓG×GÑGØ�Ø˜A˜B�x‘à�ð
 ˜‘7˜c“>Ü(ØFÀrÀdÐKóð ð "ð
 "ˆMØ ˆDØ�B‰x˜3‹Ø�Ø˜C˜R�y‘à�ð *ÐØ�=‰=Ð*×+Ñ+Ø"&ÐØÐ1œ3Ð0Ó1Ð1Ð2ˆDö ¦Ü$ØPÐQSÐPTÐUóð ð !(ð
 #(ÐäØØØ'Ø 3Øñ
ˆô ˆq‹6�R‹<Ü ¤C¨£F 8¨4°¨tÐ!4Ó5Ð5Øˆr   c                ó.  • U R                   (       a  U R                    S3OSnU R                  (       a)  U R                  (       a  SOSnU SU U R                   S3$ U R                  (       a  SOU R                  (       a  SOSnU U R                   U 3$ )Nr^  r;   rÅ  Ú__rà  rá  )r=  r¦  rÛ  rß  r  )r   Únamespace_prefixrÅ  s      r   r   ÚBaseOperatorName.__str__Ö
  sŽ   € Ø48·N·N˜dŸn™nÐ-¨RÑ0ÈÐØ××Ø—|—|‘¨ˆAØ&Ð' r¨!¨¨T¯Y©Y¨K°rÐ:Ð:ð —<—<ñ ð ×+×+ñ #àð ð 'Ð'¨¯	©	 {°1°#Ð6Ð6r   r   )rý  r   r    rª  r   )r!   r"   r#   r$   r%   r  r=  rÒ   rX   r   r&   r   r   r   rª  rª  t
  sC   ‡ à
ƒIØƒMØÓð( !&Ð˜Ó%ð !€IˆzÓ àó?ó ð?÷B7r   rª  c                  óf   • \ rS rSr% S\S'   S\S'   \SS j5       rSS jrSS jrSS	 jr	SS
 jr
Srg)ru  iè
  rª  rJ   r   r}  c                óÎ   • SU ;   a  U R                  SS5      u  pOU nSn[        [        R                  U5      US9n[	        U5      U :w  a  [        [	        U5       SU  35      eU$ )NÚ.r3  r;   r|  ró  )r  ru  rª  rX   r   rS   )r+  rJ   r}  rå   s       r   rX   ÚOperatorName.parseí
  sk   € à�'‹>Ø")§-¡-°°QÓ"7ÑˆD�-àˆDØˆMÜÔ.×4Ñ4°TÓ:È-ÑXˆÜˆq‹6�WÓÜ ¤C¨£F 8¨4°¨yÐ!9Ó:Ð:Øˆr   c                ót   • U R                   (       a  U R                   SU R                    3$ U R                   $ )Nrì  ©r}  rJ   r   s    r   r   ÚOperatorName.__str__ù
  ó3   € Ø××Ø—i‘i�[  $×"4Ñ"4Ð!5Ð6Ð6à—i‘i�[Ð!r   c                ót   • U R                   (       a  U R                   SU R                    3$ U R                   $ )Nrà  rï  r   s    r   Úunambiguous_nameÚOperatorName.unambiguous_name  rñ  r   c                óŒ   • [        [        U R                  R                  SU R                  R                  S9U R
                  S9$ ©NFr¥  r|  )ru  rª  rJ   rß  r¦  r}  r   s    r   Úremove_inplaceÚOperatorName.remove_inplace
  s=   € ÜÜ!Ø—Y‘Y—^‘^ØØ"Ÿi™i×5Ñ5ñð
 ×,Ñ,ñ
ð 	
r   c                óx   • [        [        U R                  R                  SU R                  R                  S9US9$ rö  )ru  rª  rJ   rß  r¦  )r   Úoverloads     r   Úwith_overloadÚOperatorName.with_overload  s7   € ÜÜ!Ø—Y‘Y—^‘^ØØ"Ÿi™i×5Ñ5ñð
 #ñ
ð 	
r   r   N)r+  r   r    ru  r   )r    ru  )rú  r   r    ru  )r!   r"   r#   r$   r%   rÒ   rX   r   ró  r÷  rû  r&   r   r   r   ru  ru  è
  s4   ‡ à
ÓØÓàó	ó ð	ô"ô"ô
÷
r   ru  c                óÔ   • U R                   R                  5       [        R                  L=(       a8    UR	                  U 5      (       + =(       a    UR	                  UR                  5      $ rH   )r?  r¶  r·  rê  r6  )r  r0  Úbs      r   Ú"gets_generated_out_inplace_wrapperrÿ    sI   € ð 	
�‰�‰‹œZ×2Ñ2Ð2÷ 	'Ø—‘˜Q“Ô÷	'à�L‰L˜Ÿ™Ó&ðr   c                  óx   • \ rS rSr% S\S'   S\S'   S\S'   SS jrSS	.SS
 jjr\SS j5       r\SS j5       r	Sr
g)ÚNativeFunctionsViewGroupi4  r<  Úviewrï  Ú	view_copyÚview_inplacec                ón  • U R                   R                  (       d,  [        SU R                   R                  R                   35      eU R
                  ch  [        U R                   5      (       aL  [        [        U R                   R                  R                  5       S[        U R                   5      < S35      eGOƒU R
                  R                  R                  R                  R                  R                  S5      (       d,  [        SU R
                  R                  R                   35      eU R                   R                  R                  5       U R
                  R                  R                  SS9:w  aX  U R                   R                  R                  5       nU R
                  R                  R                  SS9n[        SU S	U 35      eS
U R
                  R                  ;  aT  [        [        U R
                  R                  R                  5      [        U R                   R                  5      4 S35      eU R                  b£  U R                   R                  R                  5       U R                  R                  R                  5       :w  aY  U R                   R                  R                  5       nU R                  R                  R                  5       n[        SU S	U 35      eU R                   R                  (       a‡  U R                  bz  U R                  R                  (       d_  [        [        U R                   R                  R                  5       S[        U R                  R                  R                  5       S35      eU R                   R                  (       a‰  U R                  b{  U R                  R                  (       d_  [        [        U R                   R                  R                  5       S[        U R                  R                  R                  5       S35      eg g g )Nzview is not a view op: z‰ appears to be a new operator that aliases its inputs. The codegen expects you to add a corresponding operator to native_functions.yaml: z3. See Note [view_copy NativeFunctions] for details.)r›  rœ  z4view_copy name must end with '_copy' or '_scatter': Tr±  z+view and view_copy signatures don't match: ró  r  zÀ appears to be a view_copy operator. The codegen expects view_copy operators to be annotated with the 'view_copy' tag in native_functions.yaml. See Note [view_copy NativeFunction] for details.z.view and view_inplace signatures don't match: rô  z] must either both have CompositeImplicitAutograd kernels, or both not have composite kernels.zi must either both have CompositeImplicitAutogradNestedTensor kernels, or both not have composite kernels.)r  rØ  rS   r?  rJ   r  Úgets_generated_view_copyr   Úget_view_copy_namerß  r�  r   rX  r  rT  rU  )r   Úview_sigÚview_copy_sigÚview_inplace_sigs       r   rÀ  Ú&NativeFunctionsViewGroup.__post_init__>  sj  € Ø�y‰y×#×#Ü Ð#:¸4¿9¹9¿>¹>×;NÑ;NÐ:OÐ!PÓQÐQØ�>‰>Ñ!Ü'¨¯	©	×2Ñ2Ü$Ü˜4Ÿ9™9Ÿ>™>×.Ñ.Ó/Ð0ð 1ä*¨4¯9©9Ó5Ñ8ð 9IðIóð ñ 3ð —>‘>×&Ñ&×+Ñ+×0Ñ0×5Ñ5×>Ñ>Ð?T×UÑUÜ$ØJÈ4Ï>É>×K^ÑK^×KcÑKcÐJdÐeóð ð �y‰y�~‰~×'Ñ'Ó)¨T¯^©^×-@Ñ-@×-JÑ-JØ%)ð .Kð .ó ð  Ÿ9™9Ÿ>™>×3Ñ3Ó5�Ø $§¡× 3Ñ 3× =Ñ =ÐSWÐ =Ð X�Ü$ØAÀ(ÀÈ4ÐP]ÈÐ_óð ð  $§.¡.×"5Ñ"5Ó5Ü$Ü˜4Ÿ>™>×.Ñ.×3Ñ3Ó4´c¸$¿)¹)¿.¹.Ó6IÐIÐJð KHð Hóð ð
 ×ÑÑ(Ø�y‰y�~‰~×'Ñ'Ó)¨T×->Ñ->×-CÑ-C×-MÑ-MÓ-OÓOØŸ9™9Ÿ>™>×3Ñ3Ó5�Ø#'×#4Ñ#4×#9Ñ#9×#CÑ#CÓ#EÐ Ü$ØDÀXÀJÈdÐScÐRdÐeóð ð �9‰9×;×;Ø× Ñ Ñ,Ø×(Ñ(×O×OÜ(Ü˜tŸy™yŸ~™~×2Ñ2Ó3Ð4°E¼#¸d×>OÑ>O×>TÑ>T×>YÑ>YÓ:ZÐ9[ð \lð lóð ð �9‰9×I×IØ× Ñ Ñ,Ø×(Ñ(×]×]Ü(Ü˜tŸy™yŸ~™~×2Ñ2Ó3Ð4°E¼#¸d×>OÑ>O×>TÑ>T×>YÑ>YÓ:ZÐ9[ð \xð xóð ð ^ð -ð Jr   T)Úinclude_copyc             #  ó¦   #   • U R                   v •  U R                  b  U R                  v •  U R                  b  U(       a  U R                  v •  g g g 7frH   )r  r  r  )r   r  s     r   r  Ú"NativeFunctionsViewGroup.functionss  sD   é € Ø�i‰iŠØ×ÑÑ(Ø×#Ñ#Ò#Ø�>‰>Ñ%®,Ø—.‘.Ó ð +7Ð%ùs   ‚AAc                ó.   • U R                   R                  $ rH   )r  rà  r   s    r   rà  Ú"NativeFunctionsViewGroup.root_namez  s   € à�y‰y×"Ñ"Ð"r   c                ó.   • U R                   R                  $ rH   )r  rT  r   s    r   Ú	compositeÚ"NativeFunctionsViewGroup.composite~  s   € ð �y‰y×?Ñ?Ð?r   r   Nrå  )r  r@  r    r  r   rç  )r!   r"   r#   r$   r%   rÀ  r  rè  rà  r  r&   r   r   r   r  r  4  sP   ‡ à
Óð %Ó$à'Ó'ô3ðj 15÷ !ð ó#ó ð#ð ó@ó ó@r   r  c                óì   • U R                   (       d  gU R                  (       a  gSU R                  ;   a  gU R                  R                  R                  R
                  R                  S5      (       a  gg)NFrÌ  Ú_inverseT)rØ  rT  rX  r?  rJ   rß  r�  )r  s    r   r  r  …  sV   € à�<�<Øð 	×/×/Øà˜Ÿ™ÓØð 	‡v�v‡{�{×Ñ×Ñ×%Ñ% j×1Ñ1ØØr   c                óÂ  • S/n[        U R                  R                  5      U;  a2  [        U 5      (       d"  [	        U R                  R                   S35      eU R                  R                  R                  R
                   S3n[        [        USU R                  R                  R                  R                  S9U R                  R                  R                  S9nU$ )NÚnarrowz, does not have a generated view_copy variantr›  Fr¥  r|  )
r   r?  rJ   r  rS   rß  ru  rª  r¦  r}  )r  Ú-list_of_ops_with_explicit_view_copy_operatorsr«  Úview_copy_names       r   r  r  œ  s¸   € ð 6>°JÐ1Ü
ˆ1�6‰6�;‰;ÓÐLÓLÜ'¨×*Ñ*Ü Ø—6‘6—;‘;�-ÐKÐLóð ð —6‘6—;‘;×#Ñ#×(Ñ(Ð)¨Ð/€IÜ!ÜØ E¸¿¹¿¹×9IÑ9I×9WÑ9Wñ
ð —f‘f—k‘k×/Ñ/ñ	€Nð Ðr   c                ó€   • U S:X  a  gU S   S:X  a  U S   S:X  a  U SS n [        S U R                  S	5       5       5      $ )
z
Input: '()'
Output: []
z()r   r   r  r   rõ  r3  c              3  óL   #   • U  H  n[         R                  U5      v •  M     g 7frH   )r˜  rX   r°  s     r   rÝ   Ú parse_returns.<locals>.<genexpr>À  s   é € ÐFÒ.E s”—‘˜c×"Ð"Ò.Eùs   ‚"$r  )r¨  r  )rZ  s    r   rV  rV  ·  sN   € ð
 �dÓØØ�1�~˜Ó ¨R¡°CÓ!7Ø! ! BÐ'ˆÜÑF¨k×.?Ñ.?ÀÔ.EÓFÓFÐFr   c                  óR   • \ rS rSr% S\S'   S\S'   \SS j5       rSS jrSS jrS	r	g
)rv  iÆ  zdict[str, list[Argument]]r§  rÐ  r  c                ó  • [        U [        5      (       d  [        S[        U 5       35      e/ nSU S   ;  aL  U S   R	                  S5      nU Vs/ s H&  n[
        R                  UR                  5       5      PM(     nnU S S n 0 nU  H³  n[        U[        5      (       d  [        S[        U5       35      eSU;  a  [        SU 35      eUR	                  S5      u  pgSU;   a  [        SU S	35      eUR	                  S5      nU Vs/ s H&  n[
        R                  UR                  5       5      PM(     n	nX”U'   Mµ     [        XAS
9n
U
R                  5       U :w  a  [        SU
R                  5        SU  35      eU
$ s  snf s  snf )Nz precomputed must be a list, got rÑ  r   rc  z$precomputed item must be a str, got zSprecomputed parameters without replacement are allowed only in the last line, got: r  zillegal kernel param name 'z' in precomputed parameters)r§  r  zr.to_list() != src: ró  )rm  rq  rS   rj  r  rI  rX   r{  r   rv  Úto_list)ÚsrcÚadd_argsÚadd_listrJ   r§  Úraw_replace_itemr±  Úwith_list_rawÚ	with_listÚwith_list_argsrå   s              r   rX   ÚPrecompute.parseÎ  s•  € ä˜#œt×$Ñ$Ü Ð#CÄDÈÃIÀ;Ð!OÓPÐPð ˆØ˜˜R™Ó Ø˜2‘w—}‘} SÓ)ˆHÙAIÓJÂ¸œŸ™ t§z¡z£|Ö4ÁˆHÐJØ�c�r�(ˆCàˆÛ #ÐÜÐ.´×4Ñ4Ü$Ø:¼4Ð@PÓ;QÐ:RÐSóð ð Ð-Ó-Ü$ØiÐjzÐi{Ð|óð ð "2×!7Ñ!7¸Ó!?ÑˆCØ�c‹zÜ$Ø1°#°Ð6QÐRóð ð &×+Ñ+¨CÓ0ˆIÙGPÓQÂy¸tœhŸn™n¨T¯Z©Z«\Ö:ÁyˆNÐQØ)�C‹Lñ# !$ô& ˜wÑ5ˆØ�9‰9‹;˜#ÓÜ Ð#7¸¿	¹	»°}ÀDÈÈÐ!NÓOÐOØˆùò5 Kùò( Rs   Á-E=Ä-Fc                ó~  • U R                    HC  nUR                  R                  5       UR                  :X  d  M-  [        SUR                   35      e   U R                  R                  5        HL  nU HC  nUR                  R                  5       UR                  :X  d  M-  [        SUR                   35      e   MN     g )Nz5precomputed argument name must not be all uppercase: )r  rJ   ÚupperrS   r§  r  )r   r½  rY  s      r   rÀ  ÚPrecompute.__post_init__ù  sš   € ð —”ˆAØ�v‰v�|‰|‹~ §¡Õ'Ü$ØKÈAÏFÉFÈ8ÐTóð ñ ð
 —L‘L×'Ñ'Ö)ˆDÛ�Ø—6‘6—<‘<“> Q§V¡VÕ+Ü(ØOÐPQ×PVÑPVÈxÐXóð ó ò *r   c                ó¬   • / nU R                   R                  5        H3  u  p#SR                  S U 5       5      nUR                  U SU 35        M5     U$ )Nr  c              3  ó8   #   • U  H  n[        U5      v •  M     g 7frH   rø  )rÚ   Úparams     r   rÝ   Ú%Precompute.to_list.<locals>.<genexpr>  s   é € Ð$PÒ=O°E¤S¨§Z ZÒ=Oùrû  rÑ  )r§  rR   rä   rw  )r   Úreplace_listÚkernel_paramÚreplacement_paramsÚreplacementss        r   r  ÚPrecompute.to_list  sX   € ØˆØ04·±×0BÑ0BÖ0DÑ,ˆLØŸ9™9Ñ$PÑ=OÓ$PÓPˆLØ×Ñ < .°°\°NÐ CÖDñ 1Eð Ðr   r   N)r   Úobjectr    rv  rå  rÏ  )
r!   r"   r#   r$   r%   rÒ   rX   rÀ  r  r&   r   r   r   rv  rv  Æ  s-   ‡ ð 'Ó&à	Óàó(ó ð(ôT÷r   rv  r   )ré   rE   r    r@  )r  r<  r0  rî  rþ  r$  r    r@  )r  r<  r    r@  )r  r<  r    ru  )rZ  r   r    rB  )vÚ
__future__r   r­  rM  rÁ  r   Úenumr   r   Útypingr   Útyping_extensionsr   Útorchgen.utilsr	   r
   Úcollections.abcr   r   r   r   r(   r„  rã   rá   ÚAUTOGRAD_KEYSÚFRAGMENT_NAMESPACESrE   rÔ   ræ   rÜ   rÛ   Úhasattrrå   Úprintr  r1   r-   r,   r3   r0   rð   ró   r–   r¥   re   r�   r¬   r—   r¦   r›   rª   r‡   rˆ   r‚   rƒ   r„   r…   r´   rµ   r»   r¼   r7   r¡   r°   r’   r¿   rl   r|  rê   rì   rî   rñ   rô   Údispatch_device_maprø   r  r%   r  r  r  r  r  r  r  r  r  r%  r2  r7  r<  r·  rî  r}  r…  r$  r>  rÄ  rÔ  rl  rk  rÛ  rÝ  rÜ  rI  r˜  rk  rm  rA  râ  rª  ru  rÿ  r  r  r  rV  rv  )Ú	components   0r   Ú<module>rA     sÂ  ðÞ "ã Û Û 	Ý !ß Ý  Ý *ç 6ö ß<Ñ<ñ: �$Ñ÷*ð *ó ð*ôˆdô ð (Ð òÐ ò"Ð ð (Ð(Ù,>ó,Ú,>˜y€J�ÔÑ,>ñ,ñ €ð #Ð$:Ð;Ð ô
_>�$ô _>ôD˜Dô ôó €BÛ ˆÙ�{ B¨¡G×,Ó,Ù+Ó-ˆAÙ�!ŒHÙØ˜2˜$˜r˜dÐ"pÐqrÐpsÐtóð ó	 !ñ ð ‡O�OØ×ÑØ‡O�OØ‡O�OØ×ÑðÐ ð #×'Ñ'¨¯©Ð9Ð ð ‡O�OØ×ÑØ×ÑØ×ÑØ×ÑØ‡O�OØ‡O�OØ×ÑØ×ÑØ×ÑØ×ÑØ×ÑØ×ÑØ×ÑØ×ÑØ×)Ñ)Ø×5Ñ5Ø×)Ñ)Ø×6Ñ6Ø×ÑØ× Ñ Ø×ÑØ×Ñð ×ÑØ×ÑØ×ÑØ×ÑØ× Ñ Ø×ÑØ×ÑðA!€ôLôôô*ô%ð
 ,¨VÐ5HÈ%ÐPÐ ô-�ô -ð` 46€Ð0Ó 5á&à�‰Ø�‰Ø�‰Ø�‰Ø×Ñðó€ˆjÑ ñ '¨
×(8Ñ(8¸*×:KÑ:KÐ'LÓM€ˆjÑ Ù%Ø×Ñ˜j×6Ñ6Ð7ó€ˆiÑ ð % ZÑ0°=ÀÑ3LÑL€ˆeÑ Ø!.¨uÑ!5¸ÀiÑ8PÑ!P€ˆoÑ à�*Ñ ¨iÑ 8Ñ8ð Ð"Ñ #ô;ˆtô ;ô4�dô ô
�Tô ñ$ �$Ñ÷U
Gð U
Gó ðU
Gôp�ô ñ �$Ñ÷R
ð R
ó ðR
ñj �$Ñ÷(ð (ó ð(ñ, �$Ñ÷
ð 
ó ð
ñB �$Ñ÷9ð 9ó ð9ñb �$Ñ÷M@ð M@ó ðM@ñp �$Ñ÷5ð 5ó ð5ñ| �$Ñ÷3"ð 3"ó ð3"ônˆTô ñ. �$Ñô*ˆtó *ó ð*ñ( �$Ñô(�4ó (ó ð(ñ( �$Ñô�dó ó ðñ@ �$Ñôˆtó ó ðñ* �$Ñ÷Z5ð Z5ó ðZ5ñz �$Ñ÷5)ð 5)ó ð5)ñr �$Ñ÷ð ó ðñ �$Ñ÷Gð Gó ðGñ �$Ñ÷Dð Dó ðDòT
Ð ñ* �$Ñ÷n7ð n7ó ðn7ñf �$Ñ÷3
ð 3
ó ð3
ðlØðØ.ðØ3?ðà	ôñ* �$Ñ÷M@ð M@ó ðM@ô`ô.ô6	Gñ �$Ñ÷Gð Gó ñGùòY[,s   Á5U