ó
    CC˜j2½ ã                  ó  • S SK Jr  S SKrS SKrS SK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JrJrJrJrJrJrJr  S SKJrJrJr  S SKrS SKJr  S S	KJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'  S S
K(J)r)  S SK*J+r+  S SK,J-r-  S SK.J/r/  S SK0J1r1  S SK2J3r3  S SK4J5r5  \(       a*  S SK6J7r7J8r8  S SKJ9r9  S SK:J;r;  S SK<J=r=J>r>  S SK?J@r@JArA  S SKBJCrC  SMS jrDSNS jrE\FrG\" SS\R�                  5      rI\" S5      rJ\" S\R�                  S9rK\" S\R�                  SS 9rLSOS! jrMSPS" jrNSQS# jrOSRS$ jrP\R¢                  " 5       rRS%\RlS        \SSS& j5       rTS%S%S'.           STS( jjrUSUS) jrVSVS* jrWSUS+ jrXSUS, jrYSWS- jrZSXS. jr[      SYS/ jr\\" S0\]5      r^\" S1\]5      r_\" S2\]5      r`\`" S 5      qa " S3 S45      rb\" SS59 " S6 S75      5       rc\" SS59 " S8 S9\\K   5      5       rd\" SS59 " S: S;\dS<   5      5       re\" SS59 " S= S>\d\K   \\K   5      5       rf " S? S@\\\L   5      rg " SA SB\S%SC9rh " SD SE\\\L   5      ri\" SS59 " SF SG\\K   5      5       rjSZSH jrkS[SI jrl      S\SJ jrm " SK SL\\K   5      rnS SKoJprq  g)]é    )ÚannotationsN)Úabstractmethod)ÚAbstractContextManagerÚcontextmanager)Ú	dataclass)ÚAnyÚClassVarÚGenericÚNewTypeÚProtocolÚTYPE_CHECKINGÚ	TypeGuardÚTypeVar)ÚoverrideÚ	TypedDictÚUnpack)ÚCreationMeta)Ú_add_batch_dimÚ_unwrap_functional_tensorÚ_wrap_functional_tensorÚget_unwrappedÚis_batchedtensorÚis_functorch_wrapped_tensorÚis_gradtrackingtensorÚis_legacy_batchedtensorÚmaybe_get_bdimÚmaybe_get_levelÚpeek_interpreter_stack)ÚCustomClassBase)Úenable_python_dispatcher)Útrace_structured)Úno_dispatch)Úis_traceable_wrapper_subclass)Únot_none)ÚWeakIdKeyDictionary)ÚCallableÚ	Generator)ÚCInterpreter)ÚSource)Ú
FakeTensorÚFakeTensorMode)ÚShapeEnvÚSymbolicContext)ÚIntLikeTypec                óR   • SSK Jn  [        X5      (       a  U R                  5       $ U $ )Nr   )ÚFunctionalTensor)Ú#torch._subclasses.functional_tensorr0   Ú
isinstanceÚfrom_functional)Útr0   s     ÚªC:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\torch/_subclasses/meta_utils.pyÚ _unwrap_python_functional_tensorr6   >   s$   € åDä�!×&Ñ&Ø× Ñ Ó"Ð"Ø€Hó    c                ó®   • SSK JnJn  [        U 5      n U" U 5      (       a  U" U 5      nUc  [	        S5      eUn U R                  5       R                  5       $ )Nr   ©Úis_fake_tensorÚmaybe_get_real_tensorz5t.real_tensor must not be None when copy_data is True)Útorch._subclasses.fake_tensorr:   r;   r6   ÚAssertionErrorÚuntyped_storageÚclone)r4   r:   r;   Úreal_tensors       r5   Ú_clone_real_storage_from_tensorrA   G   sY   € ßSä(¨Ó+€AÙ�a×ÑÙ+¨AÓ.ˆØÑÜ ØGóð ð ˆØ×ÑÓ×$Ñ$Ó&Ð&r7   Ú_TensorLikeTúMetaTensorDesc[Any]Ú_TÚ_TensorT)ÚboundÚ_TensorT_covT)rF   Ú	covariantc                ó<   •  U R                   $ ! [         a     gf = f)NF)Úis_leafÚRuntimeError©r4   s    r5   Úsafe_is_leafrM   \   s#   € ðØ�y‰yÐøÜó áðús   ‚ Ž
šc                óÒ   • [         R                  R                  [         R                  R                  R                  5         U R
                  sS S S 5        $ ! , (       d  f       g = f©N)ÚtorchÚ_loggingÚhide_warningsÚ	_internalÚsafe_grad_filterÚgradrL   s    r5   Ú	safe_gradrV   d   s8   € Ü	�‰×	%Ñ	%¤e§n¡n×&>Ñ&>×&OÑ&OÕ	Pà�v‰v÷ 
Q×	P×	Pús   ÁAÁ
A&c                ó8   • [        U 5      nUc  [        S5      eU$ )Nz3Expected tensor to have a gradient but grad is None)rV   r=   )r4   rU   s     r5   Ú_expect_safe_gradrX   j   s!   € Ü�Q‹<€DØ�|ÜÐRÓSÐSØ€Kr7   c                ó.   • X:w  a  [        U  SU 35      eg )Nz != )r=   )ÚaÚbs     r5   Ú	assert_eqr\   q   s!   € ØƒvÜ ˜s $ q c˜]Ó+Ð+ð r7   Fc               #  ó„   #   • [        [        SS5      n S[        l         S v •  U [        l        g ! U [        l        f = f7f)NÚdisable_inference_modeFT)ÚgetattrÚtlsr^   )Úpriors    r5   Ú$disable_inference_mode_for_fake_proprb   }   s4   é € ä”CÐ1°5Ó9€EØ!%„CÔð+Ûà%*ŒÕ"ø UŒÕ"üs   ‚A  0 ¤A °=½A ©Úskip_symbolicÚ	skip_leafc               ó¤   ^ ^^^• [        U[        R                  5      (       a  [        5       R	                  U5      OUnSU UUU4S jjmT" X5      $ )Nc                ó†  >• T" U R                   UR                   5        T(       d  T" U R                  UR                  5        T" U R                  UR                  5        T(       d  T" U R                  UR                  5        T" U R                  UR                  5        [        [        SS5      (       d"  T" U R                  UR                  5       5        OT" U R                  S5        T" U R                  UR                  5       5        T" U R                  UR                  5       5        T" U R                  S L[        U5      S L5        U R                  b  T" U R                  [        U5      5        U R                  (       a�  T" U R                  UR                  5        T" U R                  UR                  5       5        T" U R                  UR                  5       5        T" U R                   UR!                  5       5        g [#        U 5      (       a`  T" U R                  UR                  5        T" U R                  UR                  5       5        T" U R                  UR                  5       5        g T(       dB  T" U R$                  UR%                  5       5        T" U R&                  UR'                  5       5        T" U R(                  UR+                  5       5        U R(                  (       aN  U R,                  c  [/        S5      eUR0                  c  [/        S5      eT" U R,                  UR0                  5        g g )Nr^   Fz*m1.base must not be None for a view tensorz+m2._base must not be None for a view tensor)ÚdtypeÚshapeÚrequires_gradrJ   Ú	is_sparser_   r`   Úis_inferenceÚis_conjÚis_negrU   rV   rX   ÚlayoutÚ	dense_dimÚ
sparse_dimÚis_coalescedÚis_sparse_compressedÚstrideÚstorage_offsetÚis_viewÚ_is_viewÚbaser=   Ú_base)Úm1Úm2r\   Úgore   rd   s     €€€€r5   r|   Úassert_metadata_eq.<locals>.go•   s(  ø€ Ù�"—(‘(˜BŸH™HÔ%ÞÙ�b—h‘h §¡Ô)Ù�"×"Ñ" B×$4Ñ$4Ô5ÞÙ�b—j‘j "§*¡*Ô-ñ 	�"—,‘, §¡Ô-Ü”sÐ4°e×<Ñ<Ù�b—o‘o r§¡Ó'8Õ9á�b—o‘o uÔ-Ù�"—*‘*˜bŸj™j›lÔ+Ù�"—)‘)˜RŸY™Y›[Ô)Ù�"—'‘' Ð%¤y°£}¸DÐ'@ÔAØ�7‰7ÑÙˆr�w‰wÔ)¨"Ó-Ô.ð �<�<Ù�b—i‘i §¡Ô+Ù�b—l‘l B§L¡L£NÔ3Ù�b—m‘m R§]¡]£_Ô5Ù�b—o‘o r§¡Ó'8Õ9Ü! "×%Ñ%Ù�b—i‘i §¡Ô+Ù�b—l‘l B§L¡L£NÔ3Ù�b—m‘m R§]¡]£_Õ5æ Ù˜"Ÿ)™) R§Y¡Y£[Ô1Ù˜"×+Ñ+¨R×->Ñ->Ó-@ÔAÙ�b—j‘j "§+¡+£-Ô0Ø�z�zØ—7‘7‘?Ü(Ð)UÓVÐVØ—8‘8Ñ#Ü(Ð)VÓWÐWÙ�2—7‘7˜BŸH™HÕ%ð r7   )rz   rC   r{   útorch.TensorÚreturnÚNone)r2   rP   ÚTensorÚMetaTensorDescriberÚdescribe_tensor)r\   rz   r{   rd   re   r|   s   `  ``@r5   Úassert_metadata_eqr„   ‡   sH   û€ ô �bœ%Ÿ,™,×'Ñ'ô 	Ó×-Ñ-¨bÔ1àð ÷(&ò (&ñZ ˆb‹:Ðr7   c                ó|   • [        U [        R                  5      =(       a    U R                  [        R                  L $ rO   )r2   rP   r�   ro   Ú
sparse_coorL   s    r5   Úis_sparse_coor‡   Æ   s'   € Ü�aœŸ™Ó&×G¨1¯8©8´u×7GÑ7GÐ+GÐGr7   c                ó„   • U [         R                  [         R                  [         R                  [         R                  1;   $ rO   )rP   Ú
sparse_csrÚ
sparse_cscÚ
sparse_bsrÚ
sparse_bsc)ro   s    r5   Úis_sparse_compressed_layoutr�   Ê   s8   € ØÜ×ÑÜ×ÑÜ×ÑÜ×Ñð	ñ ð r7   c                ón   • [        U [        R                  5      =(       a    [        U R                  5      $ rO   )r2   rP   r�   r�   ro   rL   s    r5   rs   rs   Ô   s"   € Ü�aœŸ™Ó&×PÔ+FÀqÇxÁxÓ+PÐPr7   c                ó<   • [        U 5      =(       d    [        U 5      $ rO   )r‡   rs   rL   s    r5   Úis_sparse_anyr�   Ù   s   € Ü˜Ó×6Ô3°AÓ6Ð6r7   c                óZ   • [        X5      (       d  [        SU  S[        U5       35      eU$ )Nz	expected z	 but got )r2   r=   Útype)ÚtyÚobjs     r5   Ú_checked_castr•   Ý   s.   € Ü�c×ÑÜ˜y¨¨¨I´d¸3³i°[ÐAÓBÐBØ€Jr7   c                ó   • U R                   $ rO   ©Úreal_storage)rx   s    r5   Ú_get_real_storager™   ã   s   € Ø×ÑÐr7   c                ó   • Xl         g rO   r—   )rx   r˜   s     r5   Ú_set_real_storager›   ç   s
   € ð %Õr7   ÚMetaStorageIdÚMetaTensorIdÚ_DescriberIdc                  ó‚   • \ rS rSrSrSS.SS jjrSS jrSS jrSSS	.       SS
 jjrSSS.       SS jjr	Sr
g)r‚   éö   a  
Given a Tensor/Storage, generate a MetaTensorDesc/MetaStorageDesc
for it, which is enough information to reconstruct a meta tensor/fake tensor
corresponding to a Tensor as faithfully as possible.

This is a stateful conversion object because we keep track of the IDs
of the tensors/storages passed to us, so we can consistently give
the same ID when we see the same tensor/storage.
F©Ú	copy_datac               ó  • [         U l        [        [         S-   5      q [        S5      U l        [        S5      U l        [        5       U l        [        5       U l	        Xl
        [        5       U l        [        5       U l        g )Né   r   )ÚDESCRIBER_NEXT_IDÚidrž   r�   Únext_tensor_idrœ   Únext_storage_idr%   Úlookup_tensorÚlookup_storager¢   ÚsetÚtraced_tensorsÚtraced_storages©Úselfr¢   s     r5   Ú__init__ÚMetaTensorDescriber.__init__  sb   € ä#ˆŒÜ(Ô):¸QÑ)>Ó?ÐÜ,8¸«OˆÔÜ.;¸AÓ.>ˆÔä0Ó2ˆÔä1Ó3ˆÔØ"ŒÜ(+«ˆÔÜ),«ˆÕr7   c                óª   • XR                   ;  a6  U R                  U R                   U'   [        U R                  S-   5      U l        U R                   U   $ ©Nr¤   )r©   r§   r�   ©r¯   r4   s     r5   Úget_tensor_idÚ!MetaTensorDescriber.get_tensor_id  sM   € Ø×&Ñ&Ó&Ø$(×$7Ñ$7ˆD×Ñ˜qÑ!Ü".¨t×/BÑ/BÀQÑ/FÓ"GˆDÔØ×!Ñ! !Ñ$Ð$r7   c                óª   • XR                   ;  a6  U R                  U R                   U'   [        U R                  S-   5      U l        U R                   U   $ r³   )rª   r¨   rœ   ©r¯   Úss     r5   Úget_storage_idÚ"MetaTensorDescriber.get_storage_id  sM   € Ø×'Ñ'Ó'Ø%)×%9Ñ%9ˆD×Ñ Ñ"Ü#0°×1EÑ1EÈÑ1IÓ#JˆDÔ Ø×"Ñ" 1Ñ%Ð%r7   N©ÚdataÚtracec               ó4  ^ ^• [        T R                  U5      UR                  5       Ub  UOT R                  (       a  UOS S9mU(       aN  TR                  T R
                  ;  a4  [        SUU 4S jS9  T R
                  R                  TR                  5        T$ )N)r¦   Úsizer½   Údescribe_storagec                 ó:   >• T R                  TR                  5      $ rO   ©Úas_jsonr¦   ©Úrr¯   s   €€r5   Ú<lambda>Ú6MetaTensorDescriber.describe_storage.<locals>.<lambda>,  ó   ø€  A§I¡I¨d¯g©gÔ$6r7   ©Úmetadata_fn)ÚMetaStorageDescrº   rÀ   r¢   r¦   r­   r!   Úadd)r¯   r¹   r½   r¾   rÆ   s   `   @r5   rÁ   Ú$MetaTensorDescriber.describe_storage  s}   ù€ ô Ø×"Ñ" 1Ó%Ø—‘“ð Ñ)‘°D·N·N©qÈñ
ˆö �Q—T‘T ×!5Ñ!5Ó5ÜØ"Ý6òð × Ñ ×$Ñ$ Q§T¡TÔ*Øˆr7   T©Úrecurser¾   c               ó  ^ ^%• T R                   (       a  [        U5      OS n[        U5      nUR                  5       nUR                  nUR
                  nUR                  n	[        U5      n
[        U5      nUR                  n[        U5      n[        U5      n[        U5      n[        R                  " U5      nS nSnU(       da  [        U5      (       dQ  U	(       a  U
(       aC  U(       d<  U(       d5  U(       d.  T R!                  UR#                  5       XCS9nUR%                  5       nS nU(       d.  [        U5      (       d  U	(       a  U
(       a  UR'                  5       nS nS nS nU(       d  U(       a  T R)                  [+        U5      US9nOåU(       aÞ  UR,                  R.                  S;  aÄ  UR                  5       (       a  [1        S5      eU(       d=  [        R2                  " U5        T R)                  [        R4                  " U5      US9nUnO`[        R6                  R9                  5       nT R)                  [;        UU5      US9n[        R6                  R<                  R?                  5       nS nU(       a2  [        R<                  R@                  RC                  5        n S S S 5        S nS nS nS nU
(       a¸  [E        US5      (       d  [G        S5      eURI                  5       u  nn0 n0 nU Ht  n[K        UU5      nU=[        RL                  S` =b  u     T R)                  UUS9UU'   M=    [N        S` =b  u   SS	K(J)n   U " U5      UU'   M]     [G        S
[/        U5       35      e   [/        U5      nSSK*J+n!  [X        R[                  U5      n"[K        [\        SS5      n#[_        S0 ST Ra                  U5      _SU_SU#(       a  SOURc                  5       _SU_SURd                  _SURg                  5       _SURh                  _SU_SU_SU_SU_SU_SU_SU_SURk                  5       _SURm                  5       _S[o        U[        Rp                  Rr                  5      _SU
_S U	_S!UU!;   a  U!U   Rt                  Rw                  5       OS _S"U_S#U_S$UR,                  _S%URy                  5       _S&U_S'U_S([{        [K        US)S5      5      _S*[K        US+0 5      _S,UR                  (       d  [}        U5      (       a  UR                  5       OS _S-UR                  (       d  [}        U5      (       a  UR�                  5       OS _S.UR                  (       a  URƒ                  5       OS _S/U(       aM  UR
                  [        R„                  [        R†                  1;   a  T R)                  UR‰                  5       SUS09OS _S1U(       aM  UR
                  [        R„                  [        R†                  1;   a  T R)                  UR‹                  5       SUS09OS _S2U(       aM  UR
                  [        RŒ                  [        RŽ                  1;   a  T R)                  UR‘                  5       SUS09OS _S3U(       aM  UR
                  [        RŒ                  [        RŽ                  1;   a  T R)                  UR“                  5       SUS09OS _S4U(       a/  [}        U5      (       a  T R)                  UR•                  5       SUS09OS _S5[—        U5      =n$b  T R)                  U$US9OS _S6UR                  5       (       a)  [        R6                  R˜                  R›                  U5      OS _S7U_S8U(       d  U(       a  [�        U5      OS _S9U(       a  [Ÿ        U5      OS _S:U(       a<  UR                  5       (       a'  UR                   b  T R)                  UR                   US9OS _S;[        R¢                  R¤                  R§                  U5      _S<U"_S=U_S>U(       a  UOS _S?U_S@U_SAU_SBU_SCU_SDU_6m%U(       aN  T%R¨                  T Rª                  ;  a4  [­        SEU%U 4SF jSG9  T Rª                  R¯                  T%R¨                  5        T%$ ! , (       d  f       GNá= f)HNr   r¼   ©r¾   ©ÚxlaÚlazyzVCannot safely fakify a view because this process drops the view information right now.Ú__tensor_flatten__z>Traceable wrapper subclass must have __tensor_flatten__ method© )Úmaybe_unwrap_fake_script_objectz(expected Tensor or CustomClassBase, got )Ú_tensor_symint_registryr^   Fr¦   Ústoragerl   rJ   rj   Úndimrh   rk   Ú	is_mkldnnÚis_functorch_wrappedr   r   r   rv   rm   rn   Úis_parameterr#   Ú	is_nestedÚ
nested_intÚis_functionalro   ÚdevicerÀ   rt   ru   Údynamo_dynamic_indicesÚ_dynamo_dynamic_indicesÚdynamo_hint_overridesÚ_dynamo_hint_overridesrq   rp   rr   Úcrow_indicesrÏ   Úcol_indicesÚccol_indicesÚrow_indicesÚvaluesrU   Úcreation_metaÚ	unwrappedÚlevelÚbdimrx   Ú	fake_modeÚ	view_funcÚattrsÚopaque_attrsÚctxr’   Úfunctorch_stackÚautograd_meta_fromÚcurrent_levelr½   rƒ   c                 ó:   >• T R                  TR                  5      $ rO   rÃ   rÅ   s   €€r5   rÇ   Ú5MetaTensorDescriber.describe_tensor.<locals>.<lambda>  rÉ   r7   rÊ   )Xr¢   r6   rM   rw   rk   ro   rß   r#   r   rÜ   r   r   r   rP   Ú_is_functional_tensorr�   rÁ   r>   ru   rt   rƒ   r   râ   r’   rK   Ú_syncÚ_from_functional_tensorÚ_CÚ$_functionalization_reapply_views_tlsr   Ú
_functorchr÷   ÚpyfunctorchÚ#temporarily_clear_interpreter_stackÚhasattrr=   rÖ   r_   r�   r   Ú"torch._library.fake_class_registryrØ   Ú$torch.nested._internal.nested_tensorrÙ   ÚViewFuncÚfrom_tensorr`   ÚMetaTensorDescrµ   rl   rj   Údimrh   rm   rn   r2   ÚnnÚ	ParameterÚnoderà   rÀ   Úlistrs   rq   rp   rr   r‰   r‹   rç   rè   rŠ   rŒ   ré   rê   rë   rV   Ú	_autogradÚ_get_creation_metar   r   ry   Ú_subclassesÚfake_tensorÚmaybe_get_fake_moder¦   r¬   r!   rÍ   )&r¯   r4   rÐ   r¾   r½   rJ   rv   rk   ro   rß   Úis_traceable_wrapper_subclass_vrÝ   rÜ   Úis_batchedtensor_vÚis_legacy_batchedtensor_vÚis_gradtrackingtensor_vrá   rÚ   ru   rt   rí   rö   r÷   Úreapply_viewsÚmaybe_functorch_stackrò   ró   rô   Útype_vÚ	raw_attrsÚattrÚinnerrØ   rÙ   rñ   Úis_inference_mode_disabledrU   rÆ   s&   `                                    @r5   rƒ   Ú#MetaTensorDescriber.describe_tensor1  s¥  ù€ ð 7;·n·nÔ/°Ô2È$ˆÜ˜q“/ˆØ—*‘*“,ˆØ—K‘Kˆ	Ø—‘ˆØ—K‘Kˆ	Ü*GÈÓ*JÐ'Ü:¸1Ó=ÐØ—K‘Kˆ	Ü-¨aÓ0ÐÜ$;¸AÓ$>Ð!Ü"7¸Ó":ÐÜ×3Ò3°AÓ6ˆàˆð ˆæÜ*¨6×2Ñ2ÞÖ"AÞö $Þ(ð ×+Ñ+¨A×,=Ñ,=Ó,?ÀdÐ+ÐXˆGØ×-Ñ-Ó/ˆNàˆæÜ*¨6×2Ñ2ÞÖ"Að
 —X‘X“ZˆFð
 ˆ	Ø!ÐØˆÞÖ!8Ø×,Ñ,¬]¸1Ó-=ÀUÐ,ÐK‰Iö ˜qŸx™xŸ}™}°OÓCØ�z‰z�|‰|Ü"Ølóð ö (Ü—’˜A”Ø ×0Ñ0Ü×1Ò1°!Ó4¸Eð 1ð �	ð &'Ñ"ä %§¡× MÑ MÓ O�à ×0Ñ0Ü-¨a°Ó?Àuð 1ð �	ô !&§¡× 3Ñ 3× AÑ AÓ C�à $ÐÞä× Ñ ×,Ñ,×PÑPÔRØ&Ø÷ Sð ˆØˆØˆØˆÞ*Ü˜1Ð2×3Ñ3Ü$ØTóð ð ×1Ñ1Ó3‰NˆI�sØˆEØˆLÛ!�Ü  4Ó(�ØØ'œŸ™ŸØ&*×&:Ñ&:¸5ÈÐ&:Ð&N˜˜d›ð (ä(Ö*õñ .MÈUÓ-S˜ TÓ*ð +ð Ü,ØFÄtÈEÃ{ÀmÐTóð ñ "ô ˜!“WˆFåPä×(Ñ(¨Ó+ˆ	ô &-¬SÐ2JÈEÓ%RÐ"Ü!/ò k"
Ø×!Ñ! !Ô$ðk"
áðk"
ö #=™À!Ç.Á.ÓBRøðk"
ñ ð	k"
ð
 Ÿ/š/ðk"
ð —‘”ðk"
ð —'’'ðk"
ñ  ðk"
ñ  ðk"
ñ  "6ð!k"
ñ" 0ð#k"
ñ$ %>ð%k"
ñ& #:ð'k"
ñ( ð)k"
ð* —I‘I”Kð+k"
ð, —8‘8”:ð-k"
ô. $ A¤u§x¡x×'9Ñ'9Ô:ð/k"
ñ0 +Jð1k"
ñ2  ð3k"
ð8 Ð/Ó/ð (¨Ñ*×/Ñ/×:Ñ:Ô<àøð;k"
ñ> (ð?k"
ñ@ ðAk"
ðB —8’8ðCk"
ðD —‘”ðEk"
ñF ðGk"
ñJ *ðKk"
ôL $(¬°Ð3LÈbÓ(QÔ#RðMk"
ôN #*¨!Ð-EÀrÔ"JðOk"
ðR #$§+§+Ô1EÀa×1HÑ1H�—‘”ÈdøðSk"
ðV ()§{§{Ô6JÈ1×6MÑ6M�a—k‘k”mÐSWøðWk"
ðX ./¯[¯[˜Ÿ™Ô)¸døðYk"
öd ˜qŸx™x¬E×,<Ñ,<¼e×>NÑ>NÐ+OÓOð ×$Ñ$ Q§^¡^Ó%5¸uÈEÐ$ÑRàøðgk"
ön ˜qŸx™x¬E×,<Ñ,<¼e×>NÑ>NÐ+OÓOð ×$Ñ$ Q§]¡]£_¸eÈ5Ð$ÑQàøðqk"
öx ˜qŸx™x¬E×,<Ñ,<¼e×>NÑ>NÐ+OÓOð ×$Ñ$ Q§^¡^Ó%5¸uÈEÐ$ÑRàøð{k"
öB ˜qŸx™x¬E×,<Ñ,<¼e×>NÑ>NÐ+OÓOð ×$Ñ$ Q§]¡]£_¸eÈ5Ð$ÑQàøðEk"
öL Ô3°A×6Ñ6ð ×$Ñ$ Q§X¡X£Z¸ÀeÐ$ÑLàøðOk"
ôV & a›LÐ(�DÑ5ð ×$Ñ$ T°Ð$Ñ7àøðYk"
ð^ =>¿J¹J¿L¹L”—‘×"Ñ"×5Ñ5°aÔ8Èdøð_k"
ñb  ðck"
öh &Ö)@ô   Ô"àøðkk"
ön '9” Ô"¸døðok"
öt ˜qŸz™zŸ|™|°·±Ñ0Cð ×$Ñ$ Q§W¡W°EÐ$Ñ:àøðwk"
ôz ×'Ñ'×3Ñ3×GÑGÈÔJð{k"
ñ|  ð}k"
ñ@ ðAk"
öB *6™¸4øðCk"
ñD ðEk"
ñF ðGk"
ñN 2ðOk"
ñP  2ðQk"
ñR (ðSk"
ñT ðUk"
ˆöX �Q—T‘T ×!4Ñ!4Ó4ÜØ!Ý6òð ×Ñ×#Ñ# A§D¡DÔ)Øˆ÷u SÖRús   Ê a<á<
b)r¢   r¦   rª   r©   r¨   r§   r­   r¬   ©r¢   Úboolr   r€   )r4   r~   r   r�   )r¹   útorch.UntypedStorager   rœ   )r¹   r   r½   útorch.Tensor | Noner¾   r  r   rÌ   )r4   r~   rÐ   r  r¾   r  r   rC   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r°   rµ   rº   rÁ   rƒ   Ú__static_attributes__r×   r7   r5   r‚   r‚   ö   s…   † ñð -2÷ /ô%ô&ð %)Øñàðð "ð	ð
 ðð 
õð. 37ÀeñmØðmØ+/ðmØ?Cðmà	÷mð mr7   r‚   )Úfrozenc                  ó>   • \ rS rSr% S\S'   S\S'   S\S'   SS jrS	rg
)rÌ   i!  rœ   r¦   ÚintrÀ   z*torch.UntypedStorage | torch.Tensor | Noner½   c                óö  ^• U R                   U[        U R                  [        5      (       a  U R                  O[	        U R                  5      S.n[        U R                  [
        R                  5      (       a€  U R                  R                  nUR                  R                  nU(       aM  [        UR                  5      m[        U4S jU 5       5      (       a  TR                  UR                  5      US'   U$ )N)r¦   Údescriber_idrÀ   c              3  ó@   >#   • U  H  oTR                   ;   v •  M     g 7frO   )Úvar_to_hint_override)Ú.0ÚsymbolÚ	shape_envs     €r5   Ú	<genexpr>Ú*MetaStorageDesc.as_json.<locals>.<genexpr>4  s   øé € ð ÚKWÀ˜i×<Ñ<Ö<Ê<ùó   ƒÚ	size_hint)r¦   r2   rÀ   r*  ÚreprrP   ÚSymIntr  ÚexprÚfree_symbolsr$   r1  ÚallÚoptimization_hint)r¯   r,  Úmetadatar  r9  r1  s        @r5   rÄ   ÚMetaStorageDesc.as_json)  s³   ø€ à—'‘'Ø(Ü!+¨D¯I©I´s×!;Ñ!;�D—I’IÄÀdÇiÁiÃñ'
ˆô
 �d—i‘i¤§¡×.Ñ.Ø—9‘9—>‘>ˆDØŸ9™9×1Ñ1ˆLÞÜ$ T§^¡^Ó4�	Üô ÙKWó÷ ñ ð -6×,GÑ,GÈÏ	É	Ó,R�H˜[Ñ)Øˆr7   r×   N©r,  rž   r   zdict[str, object])r"  r#  r$  r%  Ú__annotations__rÄ   r'  r×   r7   r5   rÌ   rÌ   !  s   ‡ àÓØ
ƒIð 5Ó4÷r7   rÌ   c                  óV   • \ rS rSr\  S         SS jj5       r\SS j5       rSrg)	r  i;  Nc                ó   • g rO   r×   ©r¯   r4   Únew_baseÚsymint_visitor_fnÚtensor_visitor_fns        r5   ÚapplyÚViewFunc.apply=  s   € ð r7   c                óf   • SSK Jn  U" U 5      (       a
  [        5       $ [        U R                  5      $ )Nr   )r:   )r<   r:   Ú_FakeTensorViewFuncÚ_CustomViewFuncÚ_view_func_unsafe)r4   r:   s     r5   r  ÚViewFunc.from_tensorF  s*   € å@á˜!×ÑÜ&Ó(Ð(ä" 1×#6Ñ#6Ó7Ð7r7   r×   ©NN)
r4   rE   rC  rE   rD  úCallable[[int], int] | NonerE  ú)Callable[[torch.Tensor], _TensorT] | Noner   rE   )r4   r~   r   zViewFunc[Any])	r"  r#  r$  r%  r   rF  Ústaticmethodr  r'  r×   r7   r5   r  r  ;  sa   † àð
 :>ØGKðàðð ðð 7ð	ð
 Eðð 
ôó ðð ó8ó ó8r7   r  c                  óB   • \ rS rSr\  S         SS jj5       rSrg)rI  iP  Nc                ón   • [         R                  R                  R                  R	                  UUUU5      $ rO   )rP   r  r  r*   rK  rB  s        r5   rF  Ú_FakeTensorViewFunc.applyR  s5   € ô × Ñ ×,Ñ,×7Ñ7×IÑIàØØØó
ð 	
r7   r×   rM  )
r4   r~   rC  r~   rD  rN  rE  z+Callable[[torch.Tensor], FakeTensor] | Noner   r*   )r"  r#  r$  r%  r   rF  r'  r×   r7   r5   rI  rI  P  sM   † àð
 :>ØIMð
àð
ð ð
ð 7ð	
ð
 Gð
ð 
ô
ó ó
r7   rI  r*   c                  óN   • \ rS rSr% S\S'   \  S         SS jj5       rSrg)	rJ  ic  zjCallable[[torch.Tensor, Callable[[int], int] | None, Callable[[torch.Tensor], _TensorT] | None], _TensorT]ÚfuncNc                ó&   • U R                  X#U5      $ rO   )rU  rB  s        r5   rF  Ú_CustomViewFunc.applyn  s   € ð �y‰y˜Ð6GÓHÐHr7   r×   rM  )
r4   r~   rC  r~   rD  rN  rE  rO  r   rE   )r"  r#  r$  r%  r?  r   rF  r'  r×   r7   r5   rJ  rJ  c  s`   ‡ ðó ð ð
 :>ØGKðIàðIð ðIð 7ð	Ið
 EðIð 
ôIó óIr7   rJ  c                  ó*   • \ rS rSr      SS jrSrg)Ú_MetaTensorCallbacki  c              ó   • g rO   r×   )r¯   Úargrâ   s      r5   Ú__call__Ú_MetaTensorCallback.__call__€  s   € àr7   r×   N)r[  úCallable[[], torch.Tensor]râ   útorch.device | strr   rG   ©r"  r#  r$  r%  r\  r'  r×   r7   r5   rY  rY    s   † ðØ-ðØ=Oðà	÷r7   rY  c                  ó    • \ rS rSr% S\S'   Srg)Ú_MetaTensorCallbackKwargsi…  r_  râ   r×   N)r"  r#  r$  r%  r?  r'  r×   r7   r5   rb  rb  …  s   ‡ ØÖr7   rb  )Útotalc                  ó*   • \ rS rSr      SS jrSrg)Ú_MetaTensorCallbackOptDevicei�  c               ó   • g rO   r×   )r¯   r[  Úkwargss      r5   r\  Ú%_MetaTensorCallbackOptDevice.__call__Ž  s   € ð
 r7   r×   N)r[  r^  rg  z!Unpack[_MetaTensorCallbackKwargs]r   rG   r`  r×   r7   r5   re  re  �  s#   † ðà'ðð 4ð	ð
 
÷r7   re  c                  ó  • \ rS rSr% S\S'   S\S'   S\S'   S\S	'   S
\S'   S\S'   S\S'   \R                  rS\S'   SrS\S'   Sr	S\S'   Sr
S\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SrS \S!'   SrS\S"'   SrS\S#'   SrS\S$'   SrS\S%'   SrS\S&'   SrS'\S('   S)rS\S*'   SrS+\S,'   SrS \S-'   SrS \S.'   SrS/\S0'   SrS1\S2'   Sr S1\S3'   Sr!S1\S4'   Sr"S1\S5'   Sr#S1\S6'   Sr$S1\S7'   Sr%S \S8'   Sr&S1\S9'   Sr'S:\S;'   Sr(S<\S='   Sr)S>\S?'   Sr*S1\S@'   1 SAkr+SB\SC'   Sr,SD\SE'   Sr-SF\SG'   Sr.SH\SI'   Sr/SJ\SK'   Sr0S \SL'   Sr1S \SM'   Sr2SN\SO'   Sr3SP\SQ'   Sr4SP\SR'   SVSS jr5\6SWST j5       r7SUr8g)Xr  i–  r�   r¦   r*  rÛ   útorch.dtyperh   ztorch.devicerâ   útuple[int, ...]rÀ   z	list[int]rã   zdict[int, int]rå   útorch.layoutro   Fr  rl   rJ   rj   rk   rÜ   rÝ   r   r   r   rv   rß   Nz
int | Nonerà   r#   rá   rm   rn   rÞ   útuple[int, ...] | Nonert   r   ru   zMetaStorageDesc | NonerÚ   rq   rp   zbool | Nonerr   zMetaTensorDesc[Any] | Nonerç   rè   ré   rê   rë   rí   rï   rx   z%dict[str, MetaTensorDesc[Any]] | Nonerò   z!dict[str, CustomClassBase] | Noneró   zCreationMeta | Nonerì   rU   >
   rô   r½   r’   rî   rð   rñ   rà   r÷   rõ   rö   zClassVar[set[str]]Ú_UNSERIALIZABLEzobject | Nonerô   ztype | Noner’   zFakeTensorMode | Nonerð   zViewFunc[Any] | Nonerñ   rî   r÷   zlist[CInterpreter] | Nonerõ   r!  rö   r½   c                ó’  ^• SU4S jjm[         R                  " U 5       Vs0 s H„  n[        XR                  5      UR                  L a  M'  UR                  S:X  a  [        XR                  5      (       d  MS  UR                  T" UR                  [        XR                  5      5      _M†     nnUR                  SU05        U$ s  snf )Nc                óÚ  >• U S;   a  g U [         R                  ;   a  [        U5      $ [        U[        R
                  [        R                  [        R                  45      (       a  [        U5      $ [        U[        R                  5      (       a  [        U5      $ [        U[        [        45      (       a  U Vs/ s H  nT" X5      PM     sn$ [        U[        [         45      (       a  UR                  $ [        U[        5      (       a  [        U5      $ U S:X  aD  [        U[        5      (       a/  UR!                  5        VVs0 s H  u  p2X2R                  _M     snn$ U$ s  snf s  snnf )N)r½   rö   rò   )r  rn  r6  r2   rP   râ   rh   ro   r7  Útupler  rÌ   r¦   r   ÚstrÚdictÚitems)ÚkÚvÚv1Úk1Újsons       €r5   ry  Ú$MetaTensorDesc.as_json.<locals>.json
  s  ø€ ð Ð2Ó2ØØ”N×2Ñ2Ó2Ü˜A“w�Ü˜!œeŸl™l¬E¯K©K¼¿¹ÐF×GÑGÜ˜A“w�Ü˜!œUŸ\™\×*Ñ*Ü˜A“w�Ü˜!œe¤T˜]×+Ñ+Ù./Ó0ªa¨™˜Qž©aÑ0Ð0Ü˜!œo¬~Ð>×?Ñ?Ø—t‘t�Ü˜!œ\×*Ñ*Ü˜1“v�Ø�G‹|¤
¨1¬d× 3Ñ 3Ø01·±´	Ô:²	¡f b˜ŸE™Eš	±	Ò:Ð:ØˆHùò 1ùó ;s   Â:E"ÅE'rã   r,  )ru  rr  rv  Úobjectr   r{  )ÚdataclassesÚfieldsr_   ÚnameÚdefaultÚupdate)r¯   r,  ÚfieldrÆ   ry  s       @r5   rÄ   ÚMetaTensorDesc.as_json	  s¨   ø€ ÷	ô. %×+Ò+¨DÔ1ó

â1�ä˜Ÿj™jÓ)¨U¯]©]Ð:ó Dð
 —J‘JÐ":Ó:Ü# D¯*©*×5ó DˆE�J‰J™˜UŸZ™Z¬°·z±zÓ)BÓCÒCÙ1ð 	
ð 

ð 	
�‰�. ,Ð/Ô0Øˆùò

s   ¢&CÁ(CÁ85Cc                ó   • U R                   $ rO   )rÀ   ©r¯   s    r5   ri   ÚMetaTensorDesc.shape-  s   € à�y‰yÐr7   r×   r>  )r   rk  )9r"  r#  r$  r%  r?  rP   Ústridedro   rl   rJ   rj   rk   rÜ   rÝ   r   r   r   rv   rß   rà   r#   rá   rm   rn   rÞ   rt   ru   rÚ   rq   rp   rr   rç   rè   ré   rê   rë   rí   rï   rx   rò   ró   rì   rU   rn  rô   r’   rð   rñ   rî   r÷   rõ   rö   r½   rÄ   Úpropertyri   r'  r×   r7   r5   r  r  –  sG  ‡ àÓØ
ƒIØÓØÓð ÓØ%Ó%Ø)Ó)à Ÿ=™=€FˆLÓ(Ø€L�$ÓØ€GˆTÓØ€M�4ÓØ€IˆtÓØ€IˆtÓØ!&Ð˜$Ó&Ø"Ð�dÓ"Ø$)Ð˜TÓ)Ø"'Ð˜4Ó'Ø€GˆTÓØ€IˆtÓð "€J�
Ó!Ø*/Ð! 4Ó/Ø€M�4ÓØ€GˆTÓØ€FˆDÓØ€L�$ÓØ%)€FÐ"Ó)Ø€N�CÓð
 '+€GÐ#Ó*Ø!€J�
Ó!Ø €IˆzÓ Ø $€L�+Ó$Ø/3€LÐ,Ó3Ø.2€KÐ+Ó2Ø/3€LÐ,Ó3Ø.2€KÐ+Ó2Ø)-€FÐ&Ó-Ø,0€IÐ)Ó0Ø€Dˆ*ÓØ'+€DÐ
$Ó+Ø37€EÐ0Ó7ð 	ð Ð3ó ð *.€MÐ&Ó-Ø'+€DÐ
$Ó+ò+€OÐ'ó ð €CˆÓØ€Dˆ+ÓØ'+€IÐ$Ó+Ø&*€IÐ#Ó*ð €Eˆ:ÓØ $€M�:Ó$Ø15€OÐ.Ó5Ø.2ÐÐ+Ó2ð
 !%€DÐ
Ó$ô"ðH óó ór7   r  c                ó`   • [        U5      [        R                  La  g U R                  U5        g rO   )r’   rP   r�   Úcopy_)ÚdstÚsrcs     r5   Ú
_safe_copyrŒ  >  s    € ÜˆCƒyœŸ™Ò$ØØ‡I�Iˆc…Nr7   c                ó\   • [        U 5      [        R                  La  g U R                  5       $ rO   )r’   rP   r�   r?   )r‹  s    r5   Ú_safe_clonerŽ  D  s!   € ÜˆCƒyœŸ™Ò$ØØ�9‰9‹;Ðr7   c                ó¸  ^• SSK JmJn        SU4S jjn[        U T5      (       d  gU" X5      (       d  gUR                  (       a  [        X5      (       d  g[        X5      (       aq  UR
                  c  gU R                  R                  5        HE  u  pEXAR
                  ;  a    g[        UT5      (       d  M)  U" XQR
                  U   5      (       a  ME    g   g)až  Check if a symbolic_context is compatible with a grad tensor.

Returns False when the view base structure in symbolic_context doesn't
match the grad, which means we need a fresh symbolic context.  This
happens in FSDP2 where param._local_tensor is a view of an N-D padded
base while grad._local_tensor is a view of a 1-D flat gradient buffer.

We check at both the outer level and the inner (subclass attr) level.
r   )ÚStatelessSymbolicContextÚSubclassSymbolicContextc                ó2  >• U R                   nUR                  (       a  Uc  gUR                  (       d  Ub  gUR                  (       aO  UbL  [        UT5      (       a;  UR                  b.  [	        UR
                  5      UR                  R                  :w  a  gg)NFT)Úview_base_contextrv   r2   rx   ÚlenÚdynamic_sizesrÛ   )rô   Úgrad_tÚvbcr�  s      €r5   Ú_view_base_compatibleÚ7_grad_context_compatible.<locals>._view_base_compatible\  ss   ø€ ð ×#Ñ#ˆØ�>�>˜c™kØØ�~�~ #¡/Øà�N�NØ‘Ü˜3Ð 8×9Ñ9Ø—‘Ñ'Ü�C×%Ñ%Ó&¨&¯+©+×*:Ñ*:Ó:àØr7   TF)rô   z"StatelessSymbolicContext[Any, Any]r–  úMetaTensorDesc[torch.Tensor]r   r  )Ú%torch.fx.experimental.symbolic_shapesr�  r‘  r2   r#   rò   Úinner_contextsrt  )Úsymbolic_contextÚ	grad_descr‘  r˜  r  Ú	inner_ctxr�  s         @r5   Ú_grad_context_compatibler   J  sÜ   ø€ ÷ð
Ø/ðà,ðð 
÷ô& Ð&Ð(@×AÑAØñ !Ð!1×=Ñ=Øà×.×.´zØ÷8ñ 8ð ô Ð"×<Ñ<Ø�?‰?Ñ"ØØ/×>Ñ>×DÑDÖF‰OˆDØŸ?™?Ó*ÙÜØÐ3÷ó á+¨I·±ÀtÑ7L×MÓMÙñ  Gð r7   c                  óH  • \ rS rSrSS.SS j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S jr\SS j5       r\ S     S S jj5       r\S!S j5       r                S"S jr            S#S jr SSSSSS.             S$S jjjrSrg)%ÚMetaConverteri‘  Fr¡   c               óÌ   • [         R                  " 5       U l        [         R                  " 5       U l        SU l        SU l        S U l        SU l        Xl        [        US9U l
        g )Nr   r¡   )ÚweakrefÚWeakValueDictionaryÚstorage_memoÚtensor_memoÚhitÚmissÚdel_hookÚarg_cntr¢   r‚   Ú	describerr®   s     r5   r°   ÚMetaConverter.__init__’  s_   € ô ×'Ò'Ó)ð 	Ôô ×'Ò'Ó)ð 	Ôð ˆŒØˆŒ	ØˆŒØˆŒð
 #ŒÜ,°yÑAˆ�r7   c                óL   • U R                   S:„  =(       a    U R                  S:H  $ )Nr   )r¨  r©  r„  s    r5   Ú
successfulÚMetaConverter.successful§  s   € Ø�x‰x˜!‰|×. §	¡	¨Q¡Ð.r7   c                óN   • U R                   R                  UR                  S 5      $ rO   )r§  Úgetr¦   r´   s     r5   Úget_tensor_memoÚMetaConverter.get_tensor_memoª  s   € Ø×Ñ×#Ñ# A§D¡D¨$Ó/Ð/r7   c                óŠ   • U R                   R                  UR                  S 5      nUc  [        SUR                   S35      eU$ )NzTensor memo for id z is None)r§  r²  r¦   r=   )r¯   r4   rÆ   s      r5   Ú_checked_get_tensor_memoÚ&MetaConverter._checked_get_tensor_memo­  sA   € Ø×Ñ× Ñ  §¡ tÓ,ˆØ‰9Ü Ð#6°q·t±t°f¸HÐ!EÓFÐFØˆr7   c                ó4   • X R                   UR                  '   g rO   )r§  r¦   )r¯   r4   rv  s      r5   Úset_tensor_memoÚMetaConverter.set_tensor_memo³  s   € Ø!"×Ñ˜Ÿ™Òr7   c                óN   • U R                   R                  UR                  S 5      $ rO   )r¦  r²  r¦   r¸   s     r5   Úget_storage_memoÚMetaConverter.get_storage_memo¶  s   € Ø× Ñ ×$Ñ$ Q§T¡T¨4Ó0Ð0r7   c                ó4   • X R                   UR                  '   g rO   )r¦  r¦   )r¯   r¹   rv  s      r5   Úset_storage_memoÚMetaConverter.set_storage_memo¹  s   € Ø"#×Ñ˜!Ÿ$™$Òr7   c                óL  ^• U R                  T5      =ncì  U" U4S j5      R                  5       nU R                  (       a­  [        R                  " 5          [        5          TR                  c  [        S5      e[        TR                  [        R                  5      (       a  [        TR                  5      nOTR                  R                  5       n[        XE5        S S S 5        S S S 5        U R                  TU5        U$ U$ ! , (       d  f       N,= f! , (       d  f       N5= f)Nc                 ó`   >• [         R                  " T R                  [         R                  SS9$ ©NÚmeta©rh   râ   )rP   ÚemptyrÀ   Úuint8)r¹   s   €r5   rÇ   Ú,MetaConverter.meta_storage.<locals>.<lambda>Å  s   ø€ œŸš A§F¡F´%·+±+ÀfÒMr7   z.s.data must not be None when copy_data is True)r¼  r>   r¢   rP   Úno_gradr"   r½   r=   r2   r�   rA   r?   r›   r¿  )r¯   r¹   ÚcallbackÚmemoÚr_sr˜   s    `    r5   Úmeta_storageÚMetaConverter.meta_storage¼  sÐ   ø€ ð ×)Ñ)¨!Ó,Ð,ˆDÑ5ÙÜMóç‰oÓð ð �~�~ô —]’]•_¤k¥mØ—v‘v‘~Ü,ØLóð ô " !§&¡&¬%¯,©,×7Ñ7Ü'FÀqÇvÁvÓ'N™à'(§v¡v§|¡|£~˜Ü% cÔ8÷ '4—_ð ×!Ñ! ! SÔ)ØˆJàˆK÷ '4¥mú—_•_ús%   ÁDÁ!A=DÃDÄ
D	ÄDÄ
D#c                ó8   • [         R                  " [        U5      $ rO   )ÚtypingÚcastrE   )Úclsr4   s     r5   Ú_checked_cast_tensor_tÚ$MetaConverter._checked_cast_tensor_tÙ  s   € ô �{Š{œ8 QÓ'Ð'r7   Nc                ó.   • U R                  U" 5       5      $ rO   )rÓ  )rÒ  r4   râ   s      r5   Ú_identity_callableÚ MetaConverter._identity_callableÞ  s   € ð ×)Ñ)©!«#Ó.Ð.r7   c                óœ   • [         R                  R                  R                  SS5      nU" U5      n[        R
                  " [        U5      $ )Nz9Internal error: Tried to backward() through example inputr¤   )rP   rý   Ú
_functionsÚDelayedErrorrÐ  rÑ  rE   )rÒ  r4   ÚerrfnÚerrs       r5   Ú_backward_errorÚMetaConverter._backward_erroræ  s>   € ä—‘×#Ñ#×0Ñ0ØGØó
ˆñ �A‹hˆÜ�{Š{œ8 SÓ)Ð)r7   c           
     óR  • SSK Jn  SSKJn	  UR                  c  U R                  UUUUU5      $ 0 n
UR                  R                  5        Hð  u  p¼S nUb‘  [        XY5      (       d  [        S[        U5       35      eXµR                  ;  a  [        SU< S35      eUR                  U   =n b8  [        [        R                  R                  R                  R                   U5      nU" X{5      n["        R$                  " XlR&                  S9nU R)                  UUR*                  UR,                  UUUU5      nUX«'   Mò     UR.                  (       a  U
R1                  UR.                  5        UR                  c  [        S5      eUR                  R3                  X¡R4                  X#5      $ )	Nr   ©Ú
AttrSource©r‘  z&Expected SubclassSymbolicContext, got ztensor attr z missing from inner_contexts©râ   ú$t.type must not be None for subclass)Útorch._dynamo.sourcerá  r›  r‘  rò   Úmeta_tensorrt  r2   r=   r’   rœ  r•   rP   ÚfxÚexperimentalÚsymbolic_shapesr-   Ú	functoolsÚpartialrâ   Ú_empty_create_subclassrÀ   rt   ró   r€  Ú__tensor_unflatten__rô   )r¯   r4   Ú
outer_sizeÚouter_strider1  r�  rÊ  Úsourcerá  r‘  Úinner_tensorsr  Úmeta_tensor_descÚcurrent_contextÚcurrent_context_Úcurrent_sourceÚinner_callbackÚnew_empty_tensors                     r5   rì  Ú$MetaConverter._empty_create_subclassï  s©  € õ 	4ÝQð �7‰7‰?Ø×#Ñ#ØØØØØ óð ð DFˆØ&'§g¡g§m¡m¦oÑ"ˆDØ"ˆOØÑ+Ü!Ð"2×LÑLÜ(Ø@ÄÐFVÓAWÐ@XÐYóð ð ×>Ñ>Ó>Ü(Ø& t¡hÐ.JÐKóð ð )9×(GÑ(GÈÑ(MÐMÐ$Øñô '4ÜŸ™×-Ñ-×=Ñ=×MÑMØ(ó'�Oñ
 (¨Ó5ˆNÜ&×.Ò.¨x×@WÑ@WÑXˆNØ#×:Ñ:Ø Ø ×%Ñ%Ø ×'Ñ'ØØØØó Ðð #3ˆMÓñ= '6ðB �>�>Ø× Ñ  §¡Ô0à�6‰6‰>Ü Ð!GÓHÐHØ�v‰v×*Ñ*ØŸ5™5 *ó
ð 	
r7   c                ó¦-  ^ ^^^^^.^/^0^1^2^3^4^5^6^7^8^9• SSK JnJn  [        R                  " UTR
                  S9m2Tc$  SSKJn  U" S[        T R                  5       35      mSn	[        R                  R                  5       R                  [        R                  R                  R                  5      (       a  [!        U	5      eT =R"                  S-  sl        [$        R&                  m5Tb  TR(                  m5T4       S@U4S jjjm9T4       SAUU94S	 jjjn
T4       SBU94S
 jjjnTT4           SCU2U U4S jjjm3          SDU04S jjm0T4       SEU0U2U3U5U UU9U4S jjjnT R+                  T5      GcY  Sm.[        R,                  " TR.                  5         TR0                  (       Ga³  TR2                  nU
" TTT5      m7TR4                  c  [!        S5      eTR6                  c  [!        S5      eT2" U7U4S j5      nT R8                  (       a{  TR:                  c  [!        S5      e[        R<                  " 5          [?        5          U" U5      (       d  [!        S5      e[A        TR:                  5      Ul!        S S S 5        S S S 5        [E        U5      (       d  [!        S5      eURG                  [I        TRJ                  5      5        TRL                  (       a  SUl&        TRL                  (       aj  U(       dc  T RO                  URQ                  5       5      n[        RR                  " 5          URG                  [I        TRJ                  5      5        S S S 5        GOžGOœ[U        TRV                  5      (       GaM  TR2                  nTRV                  [        RX                  [        RZ                  1;   aŽ  TR4                  c  [!        S5      eTR6                  c  [!        S5      eTR\                  c  [!        S5      eTR^                  TR4                  -
  TR6                  -
  nTR\                  R`                  US-   US-    m1OSm1TRV                  [        Rb                  [        RX                  1;   a/  TRd                  c  [!        S5      eTRd                  Rf                  m4O.TRh                  c  [!        S5      eTRh                  Rf                  m4T2" U1U4U4S j5      nT R8                  (       a{  TR:                  c  [!        S5      e[        R<                  " 5          [?        5          U" U5      (       d  [!        S5      e[A        TR:                  5      Ul!        S S S 5        S S S 5        [E        U5      (       d  [!        S5      eTRL                  (       a  SUl&        TRL                  (       a  U(       d  T Rk                  U5      nGO4TRl                  (       a+  TRn                  (       d  SSK8J9n  U" S[u        T5      S / S!9  GOøTRv                  (       Gaƒ  TR2                  nT9" TT5      u  m6m8nT2" U6U8U4S" j5      nT R8                  (       aí  [        R<                  " 5          [?        5          TRx                  c  [!        S#5      eTRz                  c  [!        S$5      eU" U5      (       d  [!        S5      e[        R|                  " TRx                  TRz                  TRf                  TR
                  S%9nUUl!        TR:                  c  [!        S5      e[        UTR:                  5        S S S 5        S S S 5        [E        U5      (       d  [!        S5      eTRL                  (       a  SUl&        TRL                  (       a  U(       d  T Rk                  U5      nGOcTR€                  (       aA  TR‚                  (       a  SSK8J9n  U" S&[u        T5      S / S!9  SFU.U/U2U UUU4S' jjm/T/" T5      nGOTR„                  (       aµ  TR
                  R†                  S(;  a›  TRˆ                  c  [!        S)5      eTR€                  (       a  [!        S*5      eT R‹                  TRˆ                  TT2TT5      nT RO                  [        RŒ                  " U5      5      n[        RŽ                  " TR�                  U5        G
OKTR‚                  (       Ga1  TR’                  c  [!        S+5      eS nT(       aJ  TbG  SS,KJJKn  [™        TU5      (       d  [!        S-[‡        T5       35      eTRš                  b  TRš                  nT(       a  TR�                  5       O[$        R&                  " 5          T R‹                  TR’                  TT2[        Rž                  R                   R£                  TS.5      U5      nS S S 5              SGS/ jn[        R                  R¥                  [        R                  R                  R¦                  5      n[        R                  R©                  [        R                  R                  R¦                  S05         WRf                  TRf                  :X  a  OºU" URf                  TRf                  5      (       a&  T RO                  [        Rª                  " U5      5      nOrU" TRf                  URf                  5      (       a&  T RO                  [        R¬                  " U5      5      nO*T RO                  UR¯                  TRf                  5      5      nTR2                  (       a9  [        R<                  " 5          U" UT5      nS S S 5        TRL                  Wl&        OûTR’                  RL                  TRL                  :X  a(  [        RR                  " 5          U" UT5      nS S S 5        O¯TRL                  (       d  [!        S15      e[        R<                  " 5          [±        5          T RO                  UR¯                  UR`                  5      5      nS S S 5        S S S 5        TRL                  Wl&        [        RR                  " 5          U" UT5      nS S S 5        TR²                  c  [!        S25      e[        R                  R´                  R·                  WTR²                  5        [        R                  R©                  [        R                  R                  R¦                  U5        TR
                  Ul\        GOTR2                  nTRº                  (       d"  TR¼                  (       d  TR€                  (       d  TR¾                  (       a  [À        sS S S 5        $ T9" TTT5      u  m6m8nTRn                  (       a	  T3" TT6T8S39nOôT2" U6U8U4S4 j5      nT R8                  (       aÕ  [        R<                  " 5          [?        5          TRx                  c  [!        S#5      eTRz                  c  [!        S$5      eU" U5      (       d  [!        S5      e[        R|                  " TRx                  TRz                  TRf                  TR
                  S%9nUUl!        [        UTR:                  5        S S S 5        S S S 5        [E        U5      (       d  [!        S5      eTRL                  (       a)  TRL                  Ul&        U(       d  T Rk                  U5      nTRn                  (       Gd&  TRÂ                  nUc  [!        S55      eSS6KJJbnJcn  S0nURx                  n[™        U[È        5      =(       a    US:H  n URl                  (       d[  URË                  5       n!U!Ry                  5       n"[™        U"[È        5      (       a&  [™        U[È        5      (       a  US:g  =(       a    U"U:  nURÌ                  T RÎ                  ;  Ga  URl                  (       dB  U" U" UR{                  5       T85      5      (       GaÏ  U" URÑ                  5       U:H  5      (       Ga°  URl                  (       d0  U(       a)  URË                  5       RÓ                  URx                  5        T RÕ                  UURË                  5       5        T R8                  (       Ga;  U" U5      (       d  [!        S5      eU" U5      n#U#c  [!        S75      eU (       a*  [×        URË                  5       U#RË                  5       5        GO.TRx                  c  [!        S#5      eTRz                  c  [!        S$5      eTR:                  c  [!        S5      e[        R<                  " 5          [?        5          [Ù        TR:                  5      n$[×        URË                  5       U$5        U#RÛ                  U$TRÐ                  TRx                  TRz                  5        S S S 5        S S S 5        GORGOPT RÝ                  UT2S89n%[$        R&                  " 5       n&SS9K Jon'Jpn(  U(" U5      n)U)b  U'" U)5      n&[        R<                  " 5          T5" 5          U&   URÛ                  U%UT6T85        S S S 5        T R8                  (       a²  [        R<                  " 5          [?        5          U" U5      (       d  [!        S5      eU" U5      n#U#c  [!        S75      eTRz                  c  [!        S$5      eU#RÛ                  [ã        U%5      TRÐ                  TRx                  TRz                  5        S S S 5        S S S 5        S S S 5        S S S 5        TRä                  bk  SS:KJQn*  U*" TS;5      n+Tn,Tb3  Tb0  [ç        TTRä                  5      (       d  T0" TRä                  U+TT25      n,T R‹                  TRä                  TT2U+U,5      Wlr        [        R                  Ré                  WTRê                  5        [        R                  Rí                  UTRî                  5        S S S 5        TR¼                  =(       a    TRð                  T.:H  n-[ó        [ô        TWSU-S<9  SS=KJJbn  TRÂ                  bC  U" TRÂ                  Rx                  S:H  5      (       a  URË                  5       RÓ                  S5        TRö                  (       a  SUl|        TRú                  b@  U" U5      (       d  [!        S>5      eURü                  Rÿ                  TRú                  S?9Ul€        T GR                  TU5        T GR                  T5      $ ! , (       d  f       GNn= f! , (       d  f       GNx= f! , (       d  f       GN= f! , (       d  f       GNÆ= f! , (       d  f       GNÐ= f! , (       d  f       GN= f! , (       d  f       GN#= f! , (       d  f       GNÆ= f! , (       d  f       G
N<= f! , (       d  f       G	NA= f! , (       d  f       G	N“= f! , (       d  f       G	N�= f! , (       d  f       G	Nw= f! [        R                  R©                  [        R                  R                  R¦                  U5        f = f! , (       d  f       GN¼= f! , (       d  f       GNÆ= f! , (       d  f       GN§= f! , (       d  f       GN]= f! , (       d  f       GNB= f! , (       d  f       GN™= f! , (       d  f       GN£= f! , (       d  f       GN­= f! , (       d  f       GN·= f! , (       d  f       GNõ= f)HNr   r9   rã  )ÚConstantSourceÚ__meta_utils_unknown_tensora   This indicates you set no_dispatch() before calling into this function.  This is an error: we may be creating fake tensors and will perform operations on them which need fake tensor mode to be active.  You will segfault if you are in a no_dispatch() block.r¤   c           
     ó,  >^• SSK Jm  U R                  c  [        S5      eTGbN  U R                  n[        U4S jU R                   5       5      =(       d8    [        U4S jU R                   5       5      =(       d    T" U R                  5      nUb2  UR                  TL a#  U R                  U R                  U R                  4$ Ub-  U(       d&  Uc#  U R                  U R                  U R                  4$ UcK  TR                  U R                  U R                  U R                  S/U R                  -  UUU R                  S9$ TR                  U R                  U R                  U R                  UUS9$ U R                  U R                  U R                  4$ )	Nr   ©Úis_symbolicút.stride must not be Nonec              3  ó4   >#   • U  H  nT" U5      v •  M     g 7frO   r×   ©r/  Úszrþ  s     €r5   r2  ÚVMetaConverter.meta_tensor.<locals>.sym_sizes_strides_storage_offset.<locals>.<genexpr>‚  s   øé € Ð9²&¨B™ BŸ˜²&ùó   ƒc              3  ó4   >#   • U  H  nT" U5      v •  M     g 7frO   r×   )r/  Úsdrþ  s     €r5   r2  r  ƒ  s   øé € Ð>²X¨r™; rŸ?˜?²Xùr  F)r�  Úhint_overrides)r�  )r›  rþ  rt   r=   rð   ÚanyrÀ   ru   r1  Ú-_create_symbolic_sizes_strides_storage_offsetrÛ   rå   Ú'transfer_symbols_from_foreign_shape_env)r4   r‹  r�  rð   Úhas_symbolicrþ  r1  s        @€r5   Ú sym_sizes_strides_storage_offsetÚCMetaConverter.meta_tensor.<locals>.sym_sizes_strides_storage_offsets  su  ù€ õ Jà�x‰xÑÜ$Ð%@ÓAÐAàÒ$ØŸK™K�	äÔ9°!·&²&Ó9Ó9÷ 5ÜÔ>°Q·X²XÓ>Ó>÷5á" 1×#3Ñ#3Ó4ð ð
 Ñ(¨Y×-@Ñ-@ÀIÒ-Mð ŸF™F A§H¡H¨a×.>Ñ.>Ð?Ð?àÑ)Þ(Ø(Ñ0àŸF™F A§H¡H¨a×.>Ñ.>Ð?Ð?ØÑ&ð %×RÑRØŸ™ØŸ™Ø×(Ñ(Ø˜ !§&¡&Ñ(ØØ)9Ø'(×'>Ñ'>ð Sð ð ð %×LÑLØŸ™ØŸ™Ø×(Ñ(ØØ)9ð Mð ð ð Ÿ™ §¡¨!×*:Ñ*:Ð;Ð;r7   c                ól  >^	• T
c  U R                   $ SSKJn  SSKJm	  U R
                  n[        U	4S jU R                    5       5      nUb  UR                  T
L a  U R                   $ Uc  Ub  U(       d  U R                   $ [        R                  " U U" U R                   5      SS9nT" UUU5      u  n  nU$ )Nr   )Úmake_contiguous_strides_forrý  c              3  ó4   >#   • U  H  nT" U5      v •  M     g 7frO   r×   r  s     €r5   r2  ÚFMetaConverter.meta_tensor.<locals>.sym_sparse_sizes.<locals>.<genexpr>·  s   øé € Ð@º°2™{¨2Ÿ˜ºùr  )rt   ru   )
rÀ   Útorch._prims_commonr  r›  rþ  rð   r  r1  r|  Úreplace)r4   r‹  r�  r  rð   r  Ú$sparse_tensor_with_synthetic_stridesÚsizesÚ_rþ  r1  r  s            @€€r5   Úsym_sparse_sizesÚ3MetaConverter.meta_tensor.<locals>.sym_sparse_sizesª  s¯   ù€ ð Ñ Ø—v‘v�åGÝIàŸ™ˆIÜÔ@¸¿ºÓ@Ó@ˆLØÑ$¨×)<Ñ)<À	Ò)IØ—v‘v�ØÑ'ØÑ%®,à—v‘v�ä3>×3FÒ3FØÙ2°1·6±6Ó:Ø ñ4Ð0ñ
 ;Ø4ØØ ó‰KˆE�1�að
 ˆLr7   c                ó`   >• T" XU5      u  nnn[         R                  " UUU R                  SS9$ rÃ  ©rP   Úempty_stridedrh   )Úinner_tÚ	inner_srcr�  Úinner_sizesÚinner_stridesÚ_inner_storage_offsetr  s         €r5   Úempty_createÚ/MetaConverter.meta_tensor.<locals>.empty_createË  sA   ø€ ñ 1°ÐEUÓVñ	ØØØ%ä×&Ò&ØØØ—m‘mØñ	ð r7   c           	     óF  >• SSK Jn  U R                  c  [        S5      eU R                  c  [        S5      eUb  UOU R
                  nUb  UOU R                  nUb'  [        X55      (       d  [        S[	        U5       35      eUc  [        S5      eTR                  U UUT	UTU5      nUR                  U:w  a(  [        SU R                   SU S	UR                   35      eUR                  5       U:w  a,  [        SU R                   S
U S	UR                  5        35      eU$ )Nr   râ  ú%t.attrs must not be None for subclassrä  z.Expected SubclassSymbolicContext or None, got zsource must not be NonezExpected return value from z.__tensor_unflatten__() to have shape equal to z, but got: z/__tensor_unflatten__() to have stride equal to )
r›  r‘  rò   r=   r’   rÀ   rt   r2   rì  ri   )
r4   rî  rï  r�  rð  r‘  ÚsubrÊ  r¯   r1  s
          €€€r5   Úempty_create_subclassÚ8MetaConverter.meta_tensor.<locals>.empty_create_subclassß  sM  ø€ õ Và�w‰w‰Ü$Ð%LÓMÐMØ�v‰v‰~Ü$Ð%KÓLÐLð (2Ñ'=™À1Ç6Á6ˆJà+7Ñ+C™<ÈÏÉˆLàÑ+´JØ ÷5ñ 5ô %ØDÄTÐJZÓE[ÐD\Ð]óð ð ‰~Ü$Ð%>Ó?Ð?Ø×-Ñ-ØààØØ ØØó
ˆCð �y‰y˜JÓ&Ü$Ø1°!·&±&°ð :&Ø&0 \°¸S¿Y¹Y¸KðIóð ð �z‰z‹|˜|Ó+Ü$Ø1°!·&±&°ð :'Ø'3 n°KÀÇ
Á
Ã¸~ðOóð ð
 ˆJr7   c                ó^  >• SSK Jn  SSKJnJnJn  S nU R                  (       a3  U R                  c  [        S5      eT" U R                  U" US5      X#5      nUR                  /U R                  -  n	U R                  (       a”  U R                  c  [        S5      e0 n
U R                  R                  5        HB  u  p¼[        U[        5      (       d  [        S[!        U5       35      eT" XÄ" X5      X#5      X«'   MD     U" U	S /U R                  -  U
UUS9nU$ U" U	S /U R                  -  US	9nU$ )
Nr   rà  )Ú
DimDynamicr�  r‘  ú't.base must not be None for view tensorry   r$  zExpected attr to be str, got )r•  Úconstraint_sizesrœ  Útensor_sourcer“  )r•  r+  r“  )rå  rá  r›  r)  r�  r‘  rv   rx   r=   ÚDYNAMICrÛ   r#   rò   rt  r2   rr  r’   )r4   rð  r1  rÊ  rá  r)  r�  r‘  r“  Út_dynamic_sizesrœ  r  r  Út_symbolic_contextÚall_dynamic_symbolic_contexts                 €r5   r0  Ú?MetaConverter.meta_tensor.<locals>.all_dynamic_symbolic_context&  sJ  ø€ õ 8÷ñ ð ð ð �y�yØ—6‘6‘>Ü(Ð)RÓSÐSÙ$@Ø—F‘F™J v¨wÓ7¸ó%Ð!ð
  *×1Ñ1Ð2°Q·V±VÑ;ˆOØ×.×.Ø—7‘7‘?Ü(Ð)PÓQÐQð ð ð $%§7¡7§=¡=¦?‘K�DÜ% d¬C×0Ñ0Ü,Ø;¼DÀ»J¸<ÐHóð ñ ,HØ˜z¨&Ó7¸ó,�NÓ(ñ $3ñ &=Ø"1Ø&* V¨a¯f©f¡_Ø#1Ø"(Ø&7ñ&Ð"ð &Ð%ñ &>Ø"1Ø&* V¨a¯f©f¡_Ø&7ñ&Ð"ð &Ð%r7   c           	     óP  >^^^^• [        5          T" UT5      u  p4nUR                  (       dK  [        U 5      (       d;  T" 5          TR                  U R                  X4U5      5      sS S S 5        sS S S 5        $ SSKJm  SSKJmJn  S
UUUU4S jjn0 mUR                  (       aˆ  UR                  c  [        S5      eUR                  c  [        S5      eT" XUS9nUR                  5       u  pšU	 H9  nX±R                  ;   d  M  [        X‹5      TUR                  U   R                  '   M;     TT4       SUUUU4S jjjnUR                  c  [        S	5      eUR                  R!                  UU UU5      n["        R$                  " U" UR'                  5       U5      5        ["        R$                  " U" UR)                  5       U5      5        ["        R$                  " U" UR+                  5       U5      5        UsS S S 5        $ ! , (       d  f       GN›= f! , (       d  f       g = f)Nr   )ÚEphemeralSource)r�  Úsym_eqc                óô   >^• SSK Jm  TS L=(       a2    [        TT5      =(       a    [        U4S jTR                   5       5      nU(       d  Tc  U $ T" S5      nTR                  XS S9nTR                  X0US9$ )Nr   )r)  c              3  ó@   >#   • U  H  nUTR                   L v •  M     g 7frO   )ÚSTATIC)r/  Úxr)  s     €r5   r2  Ú_MetaConverter.meta_tensor.<locals>.view_from_base.<locals>.symint_visitor_fn.<locals>.<genexpr>ž  s#   øé € ð  â%C ð  ×!2Ñ!2Õ2Ú%Cùr4  rD  )Úpositive)Úhintrð  )r›  r)  r2   r:  r•  Úcreate_symbolÚcreate_symintnode)	r¹   Úall_static_sizesÚ
sym_sourcer0  r)  r3  r�  r1  r�  s	       @€€€€r5   rD  ÚLMetaConverter.meta_tensor.<locals>.view_from_base.<locals>.symint_visitor_fn—  s”   ù€ åPð )°Ð4÷ Ü&Ð'7Ð9QÓR÷äô  à%5×%CÒ%Có ó ð %ö (¨9Ñ+<Ø ˜ñ "1Ð1DÓ!E�Jà&×4Ñ4°QÈTÐ4ÐR�FØ$×6Ñ6Ø¨zð 7ð ð r7   r$  rä  ©rî  rï  c                óì   >• U c  g T
R                   R                  U 5      nT	R                  U5      nUb  U$ T
R                   R                  U 5      nT" S5      nT
R	                  UUUUT" XVX5      5      $ )NrE  )r¬  rµ   r²  rƒ   ræ  )Ú	visited_tr1  rÊ  Ú
visited_idÚfake_visited_tÚvisited_descÚtemp_sourcer3  r0  Úreal_to_fake_mappingr¯   s          €€€€r5   rE  ÚLMetaConverter.meta_tensor.<locals>.view_from_base.<locals>.tensor_visitor_fnÒ  s�   ø€ ð !Ñ(à#ð "&§¡×!=Ñ!=¸iÓ!H�JØ%9×%=Ñ%=¸jÓ%I�NØ%Ñ1Ø-Ð-à#'§>¡>×#AÑ#AÀ)Ó#L�Lñ #2Ð2EÓ"F�KØ×+Ñ+Ø$Ø!Ø Ø#Ù4Ø(°yóóð r7   z,t.view_func must not be None for view replay)r¹   r*  r   r.   )rC  r~   r1  ú5torch.fx.experimental.symbolic_shapes.ShapeEnv | NonerÊ  ú&_MetaTensorCallbackOptDevice[_TensorT]r   r~   )r    r#   rÓ  Ú
as_stridedrå  r3  r›  r�  r4  rò   r=   r’   rÖ   r_   r¦   rñ   rF  rP   Ú_checkrÀ   rt   ru   )rx   r4   r1  r  Ústridesru   r4  rD  Úfake_trò   r  r  rE  r3  r�  rH  r0  rÊ  r&  Úmaybe_suppressr¯   rð  r  r�  s     `          @@@€€€€€€€€r5   Úview_from_baseÚ1MetaConverter.meta_tensor.<locals>.view_from_basez  sõ  ü€ ô *Õ+á3SØ�vó4Ñ0� ð ×7×7Ü9¸$×?Ñ?ñ
 (Õ)Ø#×:Ñ:Ø ŸO™O¨E¸NÓKó ÷ *Ð)÷ ,Ñ+õ" A÷÷
ò ð< (*Ð$Ø×2×2Ø—w‘w‘Ü,Ð-TÓUÐUð —v‘v‘~Ü,Ð-SÓTÐTñ (=Ø¸'ñ(�Fð  &×8Ñ8Ó:‘H�EÛ %˜Ø§7¡7�?ÜELØ &óFÐ0°·±¸±×1AÑ1AÓBñ !&ð 'ØGOð'Ø+ð'ð ð	'ð Eð'ð "÷'ó 'ðV —;‘;Ñ&Ü(Ð)WÓXÐXð Ÿ™×*Ñ*ØØà%Ø%ó�ô —’™V F§K¡K£M°5Ó9Ô:Ü—’™V F§M¡M£O°WÓ=Ô>Ü—’™V F×$9Ñ$9Ó$;¸^ÓLÔMØ÷_ ,Ñ+÷ *Ö)ú÷ ,Õ+ús1   �5HÁ!HÁ&	HÁ9BHÄC7HÈ
H	ÈHÈ
H%éþÿÿÿzt.sparse_dim must not be Nonezt.dense_dim must not be Nonec                 óˆ  >• [         R                  R                  R                  TR                  TR
                  T [         R                  " TR                  S4[         R                  SS9[         R                  " S/T TR                  S  Q7TR                  SS9TR                  [         R                  STR                  S9	$ )Nr   rÄ  rÅ  )rh   ro   râ   rr   )rP   ÚopsÚatenÚ(_sparse_coo_tensor_with_dims_and_tensorsrq   rp   rÆ  Úint64rh   r†   rr   )Úsparse_sizer4   s   €€r5   rÇ   Ú+MetaConverter.meta_tensor.<locals>.<lambda>"  s›   ø€ ¤§	¡	§¡× WÑ WØŸL™LØŸK™KØ'Ü!ŸKšKØ!"§¡¨qÐ 1Ü&+§k¡kØ'-ñô
 "ŸKšKØ!"Ð A [°·±°Ð%@Ñ AØ&'§g¡gØ'-ñð
 #$§'¡'Ü#(×#3Ñ#3Ø#)Ø)*¯©ð# !Xñ !r7   ú.t.data must not be None when copy_data is TruezExpected r to be a FakeTensorz)the callback you passed in doesn't detachTz5t.sparse_dim must not be None for sparse block layoutz4t.dense_dim must not be None for sparse block layoutz1t.values must not be None for sparse block layouté   r×   z9t.crow_indices must not be None for sparse csr/bsr layoutz9t.ccol_indices must not be None for sparse csc/bsc layoutc                 ó°   >• [         R                  R                  R                  STR                  TR
                  T TTR                  TR                  SS9$ )Nr   rÄ  )ro   rh   râ   )rP   rU  rV  Ú#_sparse_compressed_tensor_with_dimsrp   ri   ro   rh   )Ú	blocksizeÚindex_dtyper4   s   €€€r5   rÇ   rZ  w  sF   ø€ ¤§	¡	§¡× RÑ RØØŸK™KØŸG™GØ%Ø'Ø#$§8¡8Ø"#§'¡'Ø#)ð !Sñ 	!r7   )Úunimplementedz;attempted to apply meta conversion to strided nested tensorzThis is not supported.)Úgb_typeÚcontextÚexplanationÚhintsc                 óF   >• [         R                  " T TTR                  SS9$ rÃ  r  ©r  rN  r4   s   €€€r5   rÇ   rZ  ¬  s   ø€ ¤× 3Ò 3Ø! 7°!·'±'À&ò!r7   z.t.size must not be None when copy_data is Truez0t.stride must not be None when copy_data is TruerÅ  z;attempted to apply meta conversion to view functorch tensorc           	     óT  >^ ^^• T R                   (       aË  T R                  c  [        S5      eT R                  c  [        S5      eT R                  c  [        S5      eT
" T R                  5      nT R                  nT R                  n[
        R                  R                  R                  T R                  5         TR                  [        XU5      5      nS S S 5        U$ T R                  (       GaW  T R                  c  [        S5      eT R                  c  [        S5      e[
        R                  R                  nU" 5          T
" T R                  5      nS S S 5        T R                  nUT	:X  a  WnOu[
        R                  R                  R                  T R                  5         TR                  [
        R                  R                  R                  WU5      5      nS S S 5        T R                   nT R"                  (       a  [%        W5      (       a	  SUl        U$ T R"                  (       a  U(       d  TR'                  W5      nW$ T R(                  (       av  T R                  c  [        S5      eT R*                  c  [        S5      eTR-                  T R                  TTTT5      nTR                  [/        UT R*                  5      5      nU$ T R0                  c  [        S	5      eT R2                  mT R0                  mT" UUU 4S
 j5      nTR4                  (       a¯  [
        R6                  " 5          [9        5          [
        R:                  " T R2                  T R0                  T R<                  T R>                  S9Ul         T RB                  c  [        S5      e[E        UR@                  T RB                  5        S S S 5        S S S 5        U$ U$ ! , (       d  f       W$ = f! , (       d  f       GN“= f! , (       d  f       GN= f! , (       d  f       NP= f! , (       d  f       U$ = f)Nz.t.unwrapped must not be None for batchedtensorz*t.level must not be None for batchedtensorz)t.bdim must not be None for batchedtensorz3t.unwrapped must not be None for gradtrackingtensorz/t.level must not be None for gradtrackingtensorTú2t.unwrapped must not be None for functional tensorz6t.current_level must not be None for functional tensorrÿ  c                 óF   >• [         R                  " T TTR                  SS9$ rÃ  r  rg  s   €€€r5   rÇ   ÚDMetaConverter.meta_tensor.<locals>._to_fake_tensor.<locals>.<lambda>4  s    ø€ ¬×(;Ò(;Ø$)Ø$+Ø*+¯'©'Ø+1ò	)"r7   rÅ  r[  )#r   rí   r=   rî   rï   rP   rÿ   r   Ú%temporarily_restore_interpreter_stackrõ   rÓ  r   r   rý   Ú_DisableFuncTorchÚ_wrap_for_gradrJ   rj   rM   rÝ  rá   r÷   ræ  r   rt   rÀ   r¢   rÉ  r"   r  rh   râ   r@   r½   rŒ  )r4   ÚftÚlvlrï   rÆ   Údisable_functorchrJ   r  rN  ÚGRAD_TENSOR_SENTINEL_VALUEÚ_to_fake_tensorrÊ  r¯   r1  rð  r�  s   `      @@€€€€€€€r5   rs  Ú2MetaConverter.meta_tensor.<locals>._to_fake_tensorÛ  s‚  û€ ð ×-×-Ø Ÿ{™{Ñ2Ü&4Ø$Tó'"ð !"ð  !Ÿw™w™Ü&4Ø$Pó'"ð !"ð  !Ÿv™v™~Ü&4Ø$Oó'"ð !"ñ "1°·±Ó!=˜BØ"#§'¡'˜CØ#$§6¡6˜Dô
 "'×!1Ñ!1×!=Ñ!=×!cÑ!cØ !× 1Ñ 1õ"ð %)×$?Ñ$?Ü$2°2¸SÓ$Aó%" ÷"ðn  !˜ðc ×4×4Ð4Ø Ÿ{™{Ñ2Ü&4Ø$Yó'"ð !"ð  !Ÿw™w™Ü&4Ø$Uó'"ð !"ô 16·±×0JÑ0JÐ-Ù!2Õ!4Ù%4°Q·[±[Ó%A ÷ "5à"#§'¡'˜CØ"Ð&@Ó@Ø$&¡ä%*×%5Ñ%5×%AÑ%A×%gÑ%gØ$%×$5Ñ$5õ&"ð )-×(CÑ(CÜ(-¯©×(;Ñ(;×(JÑ(JÈ2ÈsÓ(Só)& A÷&"ð '(§i¡i˜GØ ŸŸ´<À·?±?Ø26 ¤ðp  !˜ðo "#§§¾Ø$(×$8Ñ$8¸Ó$; ðl  !˜ðk Ÿ_Ÿ_Ø Ÿ{™{Ñ2Ü&4Ø$Xó'"ð !"ð  !Ÿ™Ñ6Ü&4Ø$\ó'"ð !"ð "&×!1Ñ!1Ø !§¡Ø )Ø (ð
 !'Ø 0ó
"˜Bð !%× ;Ñ ;Ü 7¸¸A¿O¹OÓ Ló!˜AðB  !˜ð9  !Ÿx™xÑ/Ü&4Ð5PÓ&QÐ Qà$%§F¡F˜EØ&'§h¡h˜GÙ (ö!"ó!˜Að  $Ÿ~Ÿ~Ü%*§]¢]¥_´kµmÜ49×4GÒ4GØ()¯©Ø()¯©Ø./¯g©gØ/0¯x©xñ	5& A¤Mð ()§v¡v¡~Ü.<Ø,\ó/*ð )*ô %/¨q¯}©}¸a¿f¹fÔ$E÷ 7D§_ð  !˜˜q˜÷o"ô "ðn  !˜ú÷O "5Ö!4ú÷&"ö &"ú÷h 7Dµmú§_¤_ð  !˜úsI   Â;OÅO#Æ':O5Ì5PÍ A=PÎ=PÏ
O Ï#
O2Ï5
PÐ
P	ÐPÐ
P'rÓ   ri  z0Expected non-functorch wrapped functional tensorr*  )r�  z'Expected StatelessSymbolicContext, got ry   c                ón   • [         R                  " U 5      =(       a    [         R                  " U 5      U:H  $ rO   )ÚutilsÚis_complex_dtypeÚcorresponding_real_dtype)Úcomplex_dtypeÚ
real_dtypes     r5   Ú	is_c_of_rÚ,MetaConverter.meta_tensor.<locals>.is_c_of_rŒ  s2   € ô "×2Ò2°=ÓA÷ *Ü %× >Ò >¸}Ó MØ)ñ!*ðr7   Fz.t.requires_grad must be True for non-leaf viewz0t.creation_meta must not be None for view tensorrA  c                 óF   >• [         R                  " T TTR                  SS9$ rÃ  r  rg  s   €€€r5   rÇ   rZ    s    ø€ ¤E×$7Ò$7Ø %Ø 'Ø&'§g¡gØ'-ò	%r7   zt.storage must not be None)Úguard_or_falser4  z5r.real_tensor must not be None when copy_data is True)rÊ  )Úin_kernel_invocation_managerr  rà  rU   rc   )r~  z,Expected r to be a FakeTensor for nested int)Únt_tensor_id)r4   rC   r‹  útorch._guards.Sourcer�  ú<torch.fx.experimental.symbolic_shapes.SymbolicContext | Noner   zDtuple[tuple[IntLikeType, ...], tuple[IntLikeType, ...], IntLikeType])r4   rC   r‹  r�  r�  r‚  r   útuple[IntLikeType, ...])r  rC   r  r�  r�  r‚  r   r~   )r4   rC   rî  rƒ  rï  rƒ  r�  r‚  rð  ztorch._guards.Source | Noner   rE   )
r4   rC   rð  r�  r1  rJ  rÊ  ú_MetaTensorCallback[_TensorT]r   ú5torch.fx.experimental.symbolic_shapes.SymbolicContext)rx   rE   r4   rC   r1  rJ  r   rE   ©r4   rC   r   rE   )ry  rj  rz  rj  r   r  )ƒr<   r:   r;   rê  rë  râ   rå  rú  r”  r§  rP   rý   Ú_dispatch_tls_local_exclude_setÚhasÚDispatchKeyÚPythonr=   r«  Ú
contextlibÚnullcontextÚsuppress_guardsr³  Úinference_moderl   rk   rJ   rq   rp   r¢   r½   rÉ  r"   rŽ  r@   rM   Ú_coalesced_r  rr   rj   rÓ  r?   Úenable_gradr�   ro   r‹   rŒ   rë   rÛ   ri   r‰   rç   rh   ré   rÝ  rß   r#   Útorch._dynamo.excra  rr  rÜ   rÀ   rt   r  rŒ  rÝ   rv   rá   r’   rí   ræ  Ú_to_functional_tensorÚ_mirror_autograd_meta_torö   rx   r›  r�  r2   r“  Úignore_fresh_unbacked_symbolsÚ_dynamorð  rá  Ú&_dispatch_tls_is_dispatch_key_excludedÚADInplaceOrViewÚ'_dispatch_tls_set_dispatch_key_excludedÚview_as_realÚview_as_complexÚviewr    rì   r  Ú_set_creation_metaÚfake_devicer   r   r   ÚNotImplementedrÚ   r~  r4  r*  r>   r¦   r¦  ru   Úresize_r¿  r›   rA   Úset_rÍ  r  r  r™   rU   r   Ú	_set_conjrm   Ú_set_negrn   rî   r„   r\   rÞ   Ú	_is_paramrà   rð   Úcreate_symbolic_nested_intÚnested_int_memor¹  r¶  ):r¯   r4   r1  Ú	callback_rð  r�  r:   r;   rú  Úmsgr  r!  rQ  rJ   rÆ   Ú	batch_dimra  Ú_storage_offsetr@   rí   Úbase_symbolic_contextr�  rx   r{  Úold_excludeÚmidru   r¹   r~  r4  Ústorage_needs_resizeÚsource_storage_sizeÚsource_storage_is_zeroÚ	r_storageÚr_storage_sizeÚr_real_tensorr˜   rÌ  Úmaybe_fake_mgrr  r  Úmb_fake_moderá  Úgrad_sourceÚgrad_symbolic_contextre   rr  rs  r0  r_  rÊ  r&  r`  rP  r  rY  rN  r  s:   ``` ``                                        @@@@@@@@@@@@r5   ræ  ÚMetaConverter.meta_tensor8  sÄ  ÿÿø€ ÷ 	Xä;D×;LÒ;LØ˜aŸh™hñ<
ˆð ‰>Ý;ñ $Ø-¬c°$×2BÑ2BÓ.CÐ-DÐEóˆFð
Rð 	ô �8‰8×3Ñ3Ó5×9Ñ9¼%¿(¹(×:NÑ:N×:UÑ:U×VÑVÜ  Ó%Ð%Ø�Š˜Ñ�ô4 -7×,BÑ,BˆØÑ Ø&×6Ñ6ˆNð &ð	5	<Ø"ð5	<à%ð5	<ðð5	<ð
 R÷5	<ð 5	<ðv &ð		Ø"ð	à%ð	ðð	ð
 %÷	ñ 	ðJ &ð		Ø(ð	à+ð	ðð	ð
 ÷	ð 	ð2 &Ø28ðA	Ø"ðA	à/ðA	ð 2ðA	ðð	A	ð 0ðA	ð ÷A	ò A	ðN5	&Ø"ð5	&à(ð5	&ð Mð5	&ð 4ð	5	&ð
 C÷5	&ðp ð	U	ØðU	à"ðU	ððU	ð
 ÷U	÷ U	ðn ×Ñ Ó"Ò*Ø)+Ð&ä×%Ò% a§n¡nÕ5Ø—;—;�;ØŸi™i�Gá"2°1°fÐ>NÓ"O�KØ—|‘|Ñ+Ü,Ð-LÓMÐMØ—{‘{Ñ*Ü,Ð-KÓLÐLñ
 !õó�Að* —~—~àŸ6™6™>Ü"0Ø Pó#ð ô #Ÿ]š]�_¬k­mÙ#1°!×#4Ñ#4Ü&4Ð5TÓ&UÐ Uä,7¸¿¹Ó,?˜AœM÷	 /<Ÿ_ô
 (¨Ÿ?™?Ü,ØGóð ð —M‘M¤$ q§~¡~Ó"6Ô7Ø——Ø*.˜œØ——®wð
 !×7Ñ7¸¿¹»	ÓB˜Ü"×.Ò.Õ0ØŸM™M¬$¨q¯~©~Ó*>Ô?÷ 1Ñ0ùä0°·±×:Ò:ØŸi™i�Gà—x‘x¤E×$4Ñ$4´e×6FÑ6FÐ#GÓGØŸ<™<Ñ/Ü"0Ø Wó#ð ð Ÿ;™;Ñ.Ü"0Ø Vó#ð ð Ÿ8™8Ñ+Ü"0Ø Só#ð ð %&§F¡F¨Q¯\©\Ñ$9¸A¿K¹KÑ$G˜	Ø$%§H¡H§N¡N°9¸q±=À9ÈqÁ=Ð$Q™	à$&˜	Ø—x‘x¤E×$4Ñ$4´e×6FÑ6FÐ#GÓGØŸ>™>Ñ1Ü"0Ø [ó#ð ð '(§n¡n×&:Ñ&:™àŸ>™>Ñ1Ü"0Ø [ó#ð ð '(§n¡n×&:Ñ&:˜á ö	ó�Að —~—~àŸ6™6™>Ü"0Ø Pó#ð ô #Ÿ]š]�_¬k­mÙ#1°!×#4Ñ#4Ü&4Ð5TÓ&UÐ Uä,7¸¿¹Ó,?˜AœM÷	 /<Ÿ_ô
 (¨Ÿ?™?Ü,ØGóð ð ——Ø*.˜œØ——®wØ ×0Ñ0°Ó3˜ùØ—[—[¨×)H×)Hõ @ñ "Ø ]Ü # A£Ø$<Ø ô	ð —[—[�[ØŸi™i�Gñ
 9¸¸FÓCñ	ØØØ'ñ !öó�Að
 —~—~Ü"Ÿ]š]�_¬k­mØ Ÿv™v™~Ü&4Ø$Tó'"ð !"ð  !Ÿx™xÑ/Ü&4Ø$Vó'"ð !"ñ $2°!×#4Ñ#4Ü&4Ð5TÓ&UÐ UÜ*/×*=Ò*=Ø !§¡¨¯©¸¿¹ÈÏÉñ+˜Kð -8˜AœMØ Ÿv™v™~Ü&4Ø$Tó'"ð !"ô ' {°A·F±FÔ;÷) /<Ÿ_ô* (¨Ÿ?™?Ü,ØGóð ð ——Ø*.˜œØ——®wØ ×0Ñ0°Ó3˜ùØ×+×+Ø—y—yÝCá%Ø$aÜ$'¨£FØ(@Ø"$ò	÷o!õ o!ñb (¨Ó*’Aà—_—_¨¯©¯©¸oÓ)MØ—{‘{Ñ*Ü,ØPóð ð ×-×-Ü,ØNóð ð !%× 0Ñ 0ØŸ™Ø!Ø ØØ(ó!�Ið ×3Ñ3Ü×3Ò3°IÓ>ó�Aô ×2Ò2°1×3GÑ3GÈÖKà—Y—Y�Yð —v‘v‘~Ü,Ð-VÓWÐWà,0Ð)Þ Ð%5Ñ%Aõô  *Ð*:Ð<T×UÑUÜ"0Ø"IÌ$ÐO_ÓJ`ÐIaÐ bó#ð ð ,×=Ñ=ÑIØ4D×4VÑ4VÐ1ö %ð "×?Ñ?ÔAä'×3Ò3Ó5ñ6ð  $×/Ñ/ØŸF™FØ%Ø$Ü!ŸM™M×0Ñ0×;Ñ;¸FÀGÓLØ1ó ˜÷	6ðØ'2ðØ@Kðàôô #(§(¡(×"QÑ"QÜŸ™×,Ñ,×<Ñ<ó#�Kô —H‘H×DÑDÜŸ™×,Ñ,×<Ñ<¸eôðKØŸ:™:¨¯©Ó0Ø Ù& t§z¡z°1·7±7×;Ñ;Ø#'×#>Ñ#>¼u×?QÒ?QÐRVÓ?WÓ#X™DÙ& q§w¡w°·
±
×;Ñ;Ø#'×#>Ñ#>Ü %× 5Ò 5°dÓ ;ó$™Dð $(×#>Ñ#>¸t¿y¹yÈÏÉÓ?QÓ#R˜Dð& Ÿ9Ÿ9ô "'§¢¥Ù$2°4¸Ó$; ÷ "1ð /0¯o©o˜A�Oà Ÿv™v×3Ñ3°q·±ÓFä%*×%6Ò%6Õ%8Ù(6°t¸QÓ(? A÷ &9Ð%8ð ()§§Ü*8Ø(Xó+&ð %&ô &+§]¢]¥_Ô6NÕ6PØ*.×*EÑ*EØ(,¯	©	°$·*±*Ó(=ó+& C÷ 7Q§_ð 56·O±O Ô 1Ü%*×%6Ò%6Õ%8Ù(6°s¸AÓ(> A÷ &9ð
 Ÿ?™?Ñ2Ü"0Ø Ró#ð ô Ÿ™×*Ñ*×=Ñ=¸aÀÇÁÔQäŸ™×HÑHÜ!ŸH™H×0Ñ0×@Ñ@À+ôð %&§H¡H�A–Mð  Ÿi™i�Gð ×/×/°1×3J×3JØ×2×2Ø×2×2ä-÷I 6Ñ5ñT 9¸¸FÐDTÓUñ	ØØØ&ð
 ×6×6Ù1Ø¨%¸gñ™ñ %öó˜ð  Ÿ>Ÿ>Ü!&§¢¥´+µ-Ø#$§6¡6¡>Ü*8Ø(Xó+&ð %&ð $%§8¡8Ñ#3Ü*8Ø(Zó+&ð %&ñ (6°a×'8Ñ'8Ü*8Ø(Gó+&ð %&ô /4×.AÒ.AØ$%§F¡F¨A¯H©H¸A¿G¹GÈAÏHÉHñ/" ð 1< ¤Ü *¨;¸¿¹Ô ?÷% 3@§ô( (¨Ÿ?™?Ü,ØGóð ð ——Ø*+¯/©/˜œÞ&ð !%× 4Ñ 4°QÓ 7˜Að
 ×:×:Ð:ØŸI™I˜Ø™9Ü"0Ð1MÓ"NÐN÷ð
 05Ð,Ø./¯f©fÐ+ä&Ð':¼CÓ@÷ 9Ø 3°qÑ 8ð /ð  !Ÿ{Ÿ{Ø()×(9Ñ(9Ó(;˜IØ-6¯^©^Ó-=˜NÜ)¨.¼#×>Ñ>Ä:Ø 3´S÷Dñ Dð %8¸1Ñ$<÷ %MØ(6Ð9LÑ(Lð !5ð Ÿ4™4 t×'8Ñ'8Ô8ØŸKŸKá .©v°a·h±h³jÀ'Ó/J× KÒ KÙ$2°1×3CÑ3CÓ3EÈÑ3W×$XÒ$Xð $%§;§;ö $8Ø$%×$5Ñ$5Ó$7×$?Ñ$?ÀÇÁÔ$Gà ×1Ñ1°!°Q×5FÑ5FÓ5HÔIØ#Ÿ~Ÿ~˜~Ù'5°a×'8Ñ'8Ü*8Ø(Gó+&ð %&ñ 1FÀaÓ0H Ø#0Ñ#8Ü*8Ø(_ó+&ð %&ö $:Ü$5Ø()×(9Ñ(9Ó(;Ø(5×(EÑ(EÓ(Gö%&ð
 ()§v¡v¡~Ü.<Ø,\ó/*ð )*ð ()§x¡xÑ'7Ü.<Ø,^ó/*ð )*ð ()§v¡v¡~Ü.<Ø,\ó/*ð )*ô */¯ª­¼+½-Ü7VØ,-¯F©Fó8*¨ô ):Ø,-×,=Ñ,=Ó,?Àô)*ð )6×(:Ñ(:Ø,8Ø,-×,<Ñ,<Ø,-¯F©FØ,-¯H©Hô	)*÷ ;H¯©ñ9  .ðb #'×"3Ñ"3°AÀÐ"3Ð"I˜Cô, !+× 6Ò 6Ó 8ð +÷ñ
 ,?¸qÓ+A˜LØ+Ñ7Ù1MØ$0ó2" ô "'§¢¥±.Õ2BÚ%3Ø$%§F¡F¨3°ÀÀwÔ$O÷ &4à#'§>§>Ü).¯ª­¼+½-Ù/=¸a×/@Ñ/@Ü2@Ø0Oó3.ð -.ñ 9NÈaÓ8P¨Ø+8Ñ+@Ü2@Ø0gó3.ð -.ð ,-¯8©8Ñ+;Ü2@Ø0bó3.ð -.ð )6×(:Ñ(:Ü,=¸cÓ,BØ,-×,<Ñ,<Ø,-¯F©FØ,-¯H©Hô	)*÷ ;H¯÷	 3C§ð2 —6‘6Ñ%Ý?á",¨V°VÓ"<�KØ,<Ð)ð !Ñ,Ð1AÑ1MÜ7Ð8HÈ!Ï&É&×QÑQÙ4PØ !§¡¨°YÀó5Ð1ð
 "×-Ñ-ØŸ™Ø!Ø Ø#Ø-ó�A”Fô —‘×"Ñ" 1 a§i¡iÔ0ä—‘×!Ñ! ! Q§X¡XÔ.÷{ 6ð@ ×'Ñ'×Q¨A¯G©GÐ7QÑ,Qð ô œy¨!¨Q¸dÈiÒXõ Mà�y‰yÑ$©¸¿	¹	¿¹È!Ñ8K×)LÑ)Là×!Ñ!Ó#×+Ñ+¨AÔ.à�~�~à"�”ð �|‰|Ñ'á% a×(Ñ(Ü(Ð)WÓXÐXà$%§K¡K×$JÑ$JØ!"§¡ð %Kð %�Ô!ð
 × Ò   AÔ&à×,Ò,¨QÓ/Ð/÷m /<®múŸ_ž_ú÷. 1Ö0ú÷j /<®múŸ_ž_ú÷R /<®múŸ_ž_ú÷^6ö 6ú÷F "1¦ú÷ &9Ö%8ú÷ 7QÖ6Pú§_¦_ú÷
 &9Ö%8ûô Ÿ™×HÑHÜ!ŸH™H×0Ñ0×@Ñ@À+õú÷N 3@¶-ú§¦ú÷h ;H¾-ú¯®ú÷p &4¦^ú÷ ;H¾-ú¯®ú÷	 3CÖ2Bú§¦ú÷O 6Ö5úsê  Æ%B$A[É	AT É3AS.ÊAT ÊB+A[Ì:%ATÍGA[Ô'AT6Ô23AT$Õ%AT6Õ-DA[Ù.AUÙ9B=AUÜ6AUÜ>H'A[å%AAU,æ-BA[éC;AWì?
AU>í	AAWî
AVî&:AWï AV4ï++AV"ðAV4ð.AWñ
AWñAAWò*B*A[õAA[ö:AX1÷B%AXù*AX1ù2KA[ÁD6AYÁEA"AYÁF#AYÁF+A!A[ÁHAZ/ÁHAZÁHAY'	ÁH,.AZÁIAZ	ÁI%BAY9ÁK'AZ	ÁK/AZÁK7AZ/ÁK?CA[ÁS.
AS=ÁS8AT ÁT 
AT	ÁT
A[ÁT
AT!	ÁTA[ÁT$
AT3ÁT.AT6ÁT6
AU	ÁU A[ÁU
AUÁUAUÁU
AU)	ÁU$A[ÁU,
AU;	ÁU6A[ÁU>
AV	ÁVAWÁV
AV	ÁVAWÁV"
AV1ÁV,AV4ÁV4
AW	ÁV>AWÁW
AW	ÁWAWÁWAAXÁXA[ÁX
AX.ÁX)AX1ÁX1
AY 	ÁX;A[ÁY
AYÁYAYÁY
AY$	ÁYA[ÁY'
AY6ÁY1AZÁY9
AZÁZAZ	ÁZ
AZÁZAZÁZ
AZ,ÁZ'AZ/ÁZ/
AZ>	ÁZ9A[Á[
A[T)rÊ  rð  r�  r¾   c               óö  ^ ^^• Uc  T R                   nOUn[        U[        R                  5      (       a™  UR                  R
                  S:X  dN  UR                  (       d=  UR                  5       (       aC  UR                  b6  UR                  R                  (       a  T =R                  S-  sl
        [        $ T =R                  S-  sl        OA[        R                  R                  U5      (       a  T =R                  S-  sl
        [        $ U$ Tc  SnT R                  R!                  XS9mU(       a  Tc  [#        S5      e[%        SU UU4S jS9  [&        R(                  " 5        nUR+                  [        R,                  R.                  R1                  5       5        [3        5       n	U	b7  UR+                  [        R4                  R6                  R9                  5       5        T R;                  TUUTU5      n
S S S 5        [        U5      [        R<                  R>                  L a  S	W
l         [C        US
S5      (       a)  S	W
l"        [G        US5      (       a  URH                  U
l$        W
$ ! , (       d  f       Nx= f)NrÕ   r¤   FrÒ   z*source must not be None when trace is TrueÚdescribe_sourcec                 ó`   >• T R                   R                  TR                  TR                  S.$ )N)r,  r¦   rð  )r¬  r¦   r~  )r¯   rð  Út_descs   €€€r5   rÇ   Ú(MetaConverter.__call__.<locals>.<lambda>S	  s#   ø€ Ø$(§N¡N×$5Ñ$5Ø Ÿ)™)Ø$Ÿk™kò%r7   rÊ   TÚ
_is_bufferÚ
persistent)%rÖ  r2   rP   r�   râ   r’   Úis_quantizedrw   ry   rk   r©  rž  r¨  Ú	overridesÚis_tensor_liker¬  rƒ   r=   r!   r‹  Ú	ExitStackÚenter_contextÚ	_dispatchÚpythonÚsuspend_functionalizationr   rÿ   r   r  ræ  r	  r
  r£  r_   r½  r  r¾  )r¯   r4   r1  rÊ  rð  r�  r¾   r¦  Ú
exit_stackÚstrÆ   r»  s   `   `      @r5   r\  ÚMetaConverter.__call__	  sì  ú€ ð ÑØ×/Ñ/‰Ià ˆIô �aœŸ™×&Ñ&ð —‘—‘ Ó'ð ——ð —‘—‘ !§'¡'Ñ"5¸!¿'¹'×:K×:Kà—	’	˜Q‘•	ä%Ð%à—’˜A‘–Ü�_‰_×+Ñ+¨A×.Ñ.Ø�IŠI˜‰N�Iä!Ð!ð ˆHà‰>ØˆEð —‘×/Ñ/°Ð/Ð?ˆæØ‰~Ü$Ð%QÓRÐRÜØ!öòô ×!Ò!Ô# zØ×$Ñ$¤U§_¡_×%;Ñ%;×%UÑ%UÓ%WÔXÜ'Ó)ˆBØ‰~Ø×(Ñ(Ü×$Ñ$×0Ñ0×TÑTÓVôð × Ñ ØØØØØ óˆA÷ $ô  �‹7”e—h‘h×(Ñ(Ò(ð ˆAŒKô �1�l E×*Ñ*àˆAŒLÜ�q˜,×'Ñ'à Ÿ|™|�”ð ˆ÷= $Õ#ús   Å'BI*É*
I8)r«  r¢   rª  r¬  r¨  r©  r¦  r§  r  )r   r  )r4   rC   r   r!  r†  )r4   rC   rv  rE   r   r€   )r¹   rÌ   r   ztorch.UntypedStorage | None)r¹   rÌ   rv  r   r   r€   )r¹   rÌ   rÊ  z0Callable[[Callable[[], torch.Tensor]], _TensorT]r   r   )r4   r~   r   rE   rO   )r4   r^  râ   ztorch.device | str | Noner   rE   )r4   rE   r   rE   )r4   rC   rî  rm  rï  rm  r1  úShapeEnv | Noner�  r‚  rÊ  rK  rð  r�  r   rE   )r4   rC   r1  rÊ  r¦  r„  rð  úSource | Noner�  úSymbolicContext | Noner   rE   )r4   r~   r1  rÊ  rÊ  z$_MetaTensorCallback[_TensorT] | Nonerð  rË  r�  rÌ  r¾   r  r   rE   )r"  r#  r$  r%  r°   r¯  r³  r¶  r¹  r¼  r¿  rÍ  ÚclassmethodrÓ  rÖ  rÝ  rì  ræ  r\  r'  r×   r7   r5   r¢  r¢  ‘  s¿  † Ø,1÷ Bô*/ô0ôô#ô1ô$ðàðð Cðð 
ô	ð: ó(ó ð(ð ð -1ð/à%ð/ð *ð/ð 
ô	/ó ð/ð ó*ó ð*ðA
àðA
ð +ðA
ð -ð	A
ð
 #ðA
ð WðA
ð 9ðA
ð %ðA
ð 
ôA
ðRZ0àðZ0ð #ðZ0ð 1ð	Z0ð
 ðZ0ð 1ðZ0ð 
ôZ0ð~& &*ðgð
 :>Ø $Ø37ð ñgàðgð #ðgð
 7ðgð ðgð 1ðgð ðgð 
÷gñ gr7   r¢  )r4   r~   r   r~   )r4   r~   r   r   )r4   ú"MetaTensorDesc[Any] | torch.Tensorr   r  )r4   rB   r   z_TensorLikeT | None)r4   rB   r   rB   )rZ   rD   r[   rD   r   r€   )r   zGenerator[None, None, None])r\   z Callable[[object, object], None]rz   rÎ  r{   r~   rd   r  re   r  r   r€   )r4   r{  r   zTypeGuard[torch.Tensor])ro   rl  r   r  )r“   ztype[_T]r”   r{  r   rD   )rx   r   r   r   )rx   r   r˜   r   r   r€   )rŠ  r~   r‹  r!  r   r€   )r‹  r~   r   r!  )r�  r…  rž  rš  r   r  )rÚ
__future__r   r‹  r|  rê  Ú	threadingrÐ  r¤  Úabcr   r   r   r   r   r	   r
   r   r   r   r   r   Útyping_extensionsr   r   r   rP   Útorch._C._autogradr   Útorch._C._functorchr   r   r   r   r   r   r   r   r   r   r   Útorch._custom_class_baser   Útorch._dispatch.pythonr    Útorch._loggingr!   Útorch.utils._mode_utilsr"   Útorch.utils._python_dispatchr#   Útorch.utils._typing_utilsr$   Útorch.utils.weakr%   Úcollections.abcr&   r'   r(   Útorch._guardsr)   r<   r*   r+   r›  r,   r-   Útorch.typesr.   r6   rA   r  ÚDimListr�   rB   rD   rE   rG   rM   rV   rX   r\   Úlocalr`   r^   rb   r„   r‡   r�   rs   r�   r•   r™   r›   r*  rœ   r�   rž   r¥   r‚   rÌ   r  rI  rJ  rY  rb  re  r  rŒ  rŽ  r   r¢  r  Ú_prims_commonrv  r×   r7   r5   Ú<module>râ     s  ðÝ "ã Û Û Û Û Û Ý ß =Ý !÷	÷ 	ó 	÷ :Ñ 9ã Ý +÷÷ ÷ ñ õ 5Ý ;Ý +Ý /Ý FÝ .Ý 0ö ß3å0Ý$ßH÷
 PÝ'ôô'ð €Ù�~Ð'<¸e¿l¹lÓK€ÙˆTƒ]€Ù�: U§\¡\Ñ2€Ù�~¨U¯\©\ÀTÑJ€ôôôô,ð
 ‡o‚oÓ€ð #€Ô ð ó+ó ð+ð  Øñ;Ø/ð;à*ð;ð 	ð;ð
 ð;ð ð;ð 
õ;ô~HôôQô
7ôôð%Ø
ð%Ø.Bð%à	ô%ñ ˜¨Ó-€Ù�~ sÓ+€ñ �~ sÓ+€Ù  “OÐ ÷hñ hñV	 �$Ñ÷ð ó ðñ2 �$Ñô8ˆw�xÑ ó 8ó ð8ñ( �$Ñô
˜( <Ñ0ó 
ó ð
ñ$ �$ÑôI�h˜xÑ(¨'°(Ñ*;ó Ió ðIô6˜( G¨LÑ$9ô ô 	°ò ô 8¨W°\Ñ-Bô ñ �$ÑôX�W˜XÑ&ó Xó ðXôNôð=ØKð=à+ð=ð 
ô=ôNj�G˜HÑ%ô jöZ/ $r7   