+
    –°³j _ ã                  ó:  € ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHtHtHtHtHtHtHt ^ RIHtHtHt ^ RIHt ^ RIt^ RIHu H t! ^ RIH"t"H#t#H$t$H%t% ^ R	I&H't'H(t( ^ R
I)H*t* ^ RI+H,t, ^ RI-H.t. ^ RI/H0t0 ^ RI1H2t2 ^ RI3H4t4H5t5H6t6H7t7H8t8 ^ RI9H:t:H;t; ^ RI<H=t= ^ RI>H?t? ^ RI@HAtA ^ RIBHCtC ^ RIDHEtEHFtF ^ RIGHHtH ^ RIIHJtJHKtKHLtL ^ RIMHNtNHOtOHPtPHQtQHRtRHStS ^ RITHUtU ^ RIVHWtW ^RIXHYtYHZtZH[t[ ]'       d)   ^ RI\H]t]H^t^H_t_H`t`Hata ^ RIHbtb ^ RIcHdtd ^ RIeHftf ^ R IgHhthHiti ]PÔ                  ! ]k4      tl]PÚ                  PÝ                  ]kR!4      to ]PÚ                  PÝ                  ]kR"4      tp]ttu]P@                  Pì                  tw]! R%4      tx]Pò                  Pô                  Pö                  t{^t|^ s}]Pü                  Pÿ                  R&4      t€R' R( lt� ! R) R*]R+R,7      t‚]ƒ! ]‚EP                  4      t…]EP                  R- R. l4       t‡ ! R/ R04      tˆ] ! R1 R2]‰4      4       tŠ ! R3 R4]‰4      t‹] ! R5 R6]‰4      4       tŒ] ! R7 R8]‰4      4       t�] ! R9 R:]‰4      4       tŽ] ! R; R<]‰4      4       t�] ! R= R>]‰4      4       t� ! R? R@]	EP"                  4      t’]’! 4       t“RA RB lt”]EP*                  RC RD l4       t–]EP*                  RE RF l4       t—RG RH lt˜RI RJ lt™RK RL ltšRM RN lt›RO RP ltœRQ RR lt�RS RT ltž]EP                  RU RV l4       tŸ]EP                  RW RX l4       t RY RZ lt¡R[ R\ lt¢ ! R] R^4      t£]EP                  R_ R` l4       t¤]EP*                  Ra Rb l4       t¥Rc Rd lt¦ ! Re Rf4      t§ ! Rg Rh4      t¨ ! Ri Rj]%4      t©]]ERkRl3,          tª]! RmRn7       ! Ro Rp4      4       t«Rq Rr lt¬]! RmRn7       ! Rs Rt4      4       t­ ! Ru Rv4      t®]! RmRmRw7       ! Rx Ry4      4       t¯]! RmRmRw7       ! Rz R{4      4       t°]! RmRmRw7       ! R| R}4      4       t±]'       d
   ]°]±,          t²]! RmRmRw7       ! R~ R]³4      4       t´]! RmRmRw7       ! R€ R�4      4       tµ ! R‚ Rƒ]K4      t¶]·t¸R„ R… lt¹R† R‡ ltºRˆ R‰ lt»RŠ R‹ lt¼ ! RŒ R�]C4      t½RŽ R� lt¾R� R‘ lt¿R’ R“ ltÀ]Pô                  EP‚                  EP„                  EP†                  ]¾]Pô                  Pö                  EPˆ                  EP†                  R” ]Pô                  Pö                  EPŠ                  EP†                  R• ]Pô                  Pö                  EPŒ                  EP†                  R– /tÇ]”! ]Pô                  Pö                  EP�                  EP†                  ]Pô                  Pö                  EP’                  EP†                  ]Pô                  Pö                  EP”                  EP†                  ]Pô                  EP–                  EP˜                  EPš                  4      tÎ^ R—IÏHÐtÐHÑtÑHÒtÒHÓtÓHÔtÔHÕtÕHÖtÖH×t×HØtØ R˜ R™ ltÙ]EP´                  Rš R› l4       tÛRœ R� ltÜRž RŸ ltÝR#   ]q d4   trR#]s! ]r4      9   d    ]PÔ                  ! ]kR$,           4      tp RtrArEL]rhRtrArii ; i) é    )ÚannotationsN)Údefaultdict)Ú	dataclass)ÚAnyÚcastÚLiteralÚTYPE_CHECKINGÚ	TypeGuardÚTypeVarÚUnion)ÚSelfÚ	TypedDictÚUnpack)ÚReferenceType)ÚSymBoolÚSymFloatÚSymIntÚTensor)Úis_functorch_wrapped_tensorÚis_legacy_batchedtensor)ÚCustomClassBase)ÚFakeScriptObject)ÚMissingOpProfile)Údtrace_structured)Úsuggest_memory_format)Ú	assert_eqÚassert_metadata_eqÚis_sparse_anyÚis_sparse_compressedÚMetaConverter)Ú!_is_privateuse1_backend_availableÚrender_call)Úimmutable_dict)Únormalize_function)ÚStorageWeakRef)ÚTorchFunctionMode)ÚIntLikeTypeÚpy_sym_types)Úno_dispatch)Úis_traceable_wrapper_subclassÚTorchDispatchModeÚTraceableWrapperSubclass)ÚKeyPathÚkeystrÚPyTreeÚtree_mapÚ	tree_map_ÚTreeSpec)Úcount)ÚCapturedTraceback)Ú_CacheKeyStateÚ_PySymInputStubÚ_SymIntOutputStub)ÚCallableÚ	GeneratorÚIterableÚMappingÚSequence)ÚTracebackType)ÚSource)Ú
OpOverload)ÚShapeEnvÚSymbolicContextÚhierarchical_compileÚnot_implementedz 'not_implemented' not registeredz.not_implementedÚTÚ	MkldnnCPUc               ó    € V ^8„  d   QhRRRR/# )é   Údispatch_keysútorch.DispatchKeySet | NoneÚreturnÚbool© )Úformats   "Ú^/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_subclasses/fake_tensor.pyÚ__annotate__rO   \   s   € ÷ Qñ QÐ-Hð QÈTñ Qó    c                óD   € V R J;'       d    V P                  \        4      # ©N)ÚhasÚ_MKLDNN_DISPATCH_KEY)rH   s   &rN   Ú_dispatch_keys_has_mkldnnrU   \   s!   € Ø Ð$×PÐP¨×):Ñ):Ô;OÓ)PÐPrP   c                  ó¸   € ] tR t^`t$ R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R	&   R]R
&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   RtR# )Ú"_FakeTensorConstructorIgnoredStateÚobjectÚ_nonzero_memoÚ_nonzero_memo_vcÚ_nonzero_memo_epochÚ
_item_memoÚ_item_memo_vcÚ_item_memo_epochÚ_unique_memoÚ_unique_memo_vcÚ_unique_memo_epochÚ_unique_consecutive_memoÚ_unique_consecutive_memo_vcÚ_unique_consecutive_memo_epochÚ_nested_int_memoÚ_nested_int_memo_vcÚ_nested_int_memo_epochÚ_debug_tracerL   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__Ú__static_attributes__rL   rP   rN   rW   rW   `   sd   ‡ ð ÓØÓØÓØÓØÓØÓØÓØÓØÓØ$Ó$Ø!'Ó'Ø$*Ó*ØÓØÓØ"Ó"Ø×rP   rW   F)Útotalc               ó    € V ^8„  d   QhRRRR/# )rG   Údevice_typeÚstrrJ   rK   rL   )rM   s   "rN   rO   rO   |   s   € ÷ ñ ¨ð °ñ rP   c                óP   € V R RRRR\         P                  P                  4       39   # )ÚcudaÚhpuÚxpuÚmpsÚmtia)ÚtorchÚ_CÚ_get_privateuse1_backend_name)rr   s   &rN   Ú_is_indexed_device_typer}   {   s3   € àØØØØØÜ�‰×.Ñ.Ó0ðñ ð rP   c                  ó.   € ] tR t^‹tR R ltR R ltRtR# )ÚIncrementRecursionCountc               ó   € V ^8„  d   QhRR/# ©rG   rJ   ÚNonerL   )rM   s   "rN   rO   Ú$IncrementRecursionCount.__annotate__Œ   s   € ÷ ñ ˜$ñ rP   c                	ó    € \         ^,          s R# ©é   N©ÚRECURSION_COUNT©Úselfs   &rN   Ú__init__Ú IncrementRecursionCount.__init__Œ   ó   € ä˜1ÕŠrP   c               ó   € V ^8„  d   QhRR/# r�   rL   )rM   s   "rN   rO   rƒ   �   s   € ÷ ñ ˜ñ rP   c                	ó    € \         ^,          s R# r…   r‡   r‰   s   &rN   Ú__del__ÚIncrementRecursionCount.__del__�   r�   rP   rL   N)rj   rk   rl   rm   r‹   r�   ro   rL   rP   rN   r   r   ‹   s   † õ÷ñ rP   r   c                  ó"   € ] tR t^•t$ R]R&   RtR# )ÚUnsupportedFakeTensorExceptionrs   ÚreasonrL   Nri   rL   rP   rN   r“   r“   •   ó   ‡ à‡KrP   r“   c                  ó.   a € ] tR t^štR V 3R lltRtV ;t# )ÚFakeTensorDeviceMismatchErrorc               ó(   € V ^8„  d   QhRRRRRRRR/# )rG   Úfuncr?   Úcommon_deviceútorch.deviceÚdevicerJ   r‚   rL   )rM   s   "rN   rO   Ú*FakeTensorDeviceMismatchError.__annotate__›   s2   € ÷ 
ñ 
àð
ð $ð
ð ð	
ð
 
ñ
rP   c                	óX   <€ Wn         W n        W0n        \        SV `  R V RV R24       R# )zOExpected all tensors to be on the same device, but found at least two devices, z and Ú!N)r™   rš   rœ   Úsuperr‹   )rŠ   r™   rš   rœ   Ú	__class__s   &&&&€rN   r‹   Ú&FakeTensorDeviceMismatchError.__init__›   s:   ø€ ð Œ	Ø*ÔØŒÜ‰Ñð%Ø%2 O°5¸¸ÀðCö	
rP   )rš   rœ   r™   )rj   rk   rl   rm   r‹   ro   Ú__classcell__©r¡   s   @rN   r—   r—   š   s   ø† ÷
ö 
rP   r—   c                  ó"   € ] tR t^ªt$ R]R&   RtR# )ÚDynamicOutputShapeExceptionr?   r™   rL   Nri   rL   rP   rN   r¦   r¦   ª   ó   ‡ à
×rP   r¦   c                  ó"   € ] tR t^¯t$ R]R&   RtR# )ÚDataDependentOutputExceptionr?   r™   rL   Nri   rL   rP   rN   r©   r©   ¯   r§   rP   r©   c                  ó"   € ] tR t^´t$ R]R&   RtR# )ÚUnsupportedOperatorExceptionr?   r™   rL   Nri   rL   rP   rN   r«   r«   ´   r§   rP   r«   c                  ó"   € ] tR t^¹t$ R]R&   RtR# )Ú$UnsupportedMutationAliasingExceptionrs   r”   rL   Nri   rL   rP   rN   r­   r­   ¹   r•   rP   r­   c                  ó"   € ] tR t^¾t$ R]R&   RtR# )ÚMetadataMismatchErrorrs   r”   rL   Nri   rL   rP   rN   r¯   r¯   ¾   r•   rP   r¯   c                  ó8   € ] tR t^Ãt$ R]R&   R]R&   R R ltRtR# )	ÚFakeTensorTLSúbool | NoneÚallow_non_fake_inputs_overridezweakref.WeakSet[FakeTensor]Ú%non_strict_export_fake_tensor_trackerc               ó   € V ^8„  d   QhRR/# r�   rL   )rM   s   "rN   rO   ÚFakeTensorTLS.__annotate__É   s   € ÷ Gñ G˜$ñ GrP   c                	óH   € R V n         \        P                  ! 4       V n        R # rR   )r³   ÚweakrefÚWeakSetr´   r‰   s   &rN   r‹   ÚFakeTensorTLS.__init__É   s   € Ø.2ˆÔ+Ü5<·_²_Ó5FˆÖ2rP   )r³   r´   N)rj   rk   rl   rm   rn   r‹   ro   rL   rP   rN   r±   r±   Ã   s   ‡ ð %0Ó/Ø+FÓF÷Gñ GrP   r±   c               ó    € V ^8„  d   QhRRRR/# )rG   ÚitemsrD   rJ   zdict[T, Literal[True]]rL   )rM   s   "rN   rO   rO   Ñ   s   € ÷ &ñ &˜ð &Ð4ñ &rP   c                 ó.   € \         P                  V R 4      # ©T)ÚdictÚfromkeys)r¼   s   *rN   Úordered_setrÁ   Ñ   s   € Ü�=‰=˜ Ó%Ð%rP   c               ó   € V ^8„  d   QhRR/# )rG   rJ   z/Generator[TorchDispatchMode | None, None, None]rL   )rM   s   "rN   rO   rO   Ö   s   € ÷ -ñ -Ð Oñ -rP   c               #  ó6  "  € \         P                  P                  \         P                  P                  P                  4      p  V x € V e"   \         P                  P                  V 4       R # R #   T e!   \         P                  P                  T 4       i i ; i5irR   )rz   r{   Ú_unset_dispatch_modeÚ_TorchDispatchModeKeyÚFAKEÚ_set_dispatch_mode)Úolds    rN   Úunset_fake_temporarilyrÉ   Õ   sk   é € ä
�(‰(×
'Ñ
'¬¯©×(FÑ(F×(KÑ(KÓ
L€Cð-ØŠ	àŠ?Ü�H‰H×'Ñ'¨Ö,ñ øˆ3Š?Ü�H‰H×'Ñ'¨Õ,ð üs   ‚ABÁA0 Á	'BÁ0&BÂBc               ó    € V ^8„  d   QhRRRR/# ©rG   Ú	fake_modeÚFakeTensorModerJ   zGenerator[None, None, None]rL   )rM   s   "rN   rO   rO   à   s   € ÷ ,ñ ,¨ð ,Ð<Wñ ,rP   c              #  ó`   "  € V P                   p R V n         Rx € Wn         R#   Yn         i ; i5i©FN)Úcache_enabled)rÌ   Ú	old_values   & rN   Údisable_fake_tensor_cacherÒ   ß   s,   é € à×-Ñ-€Ið,Ø"'ˆ	ÔÛà"+Öø )Õüs   ‚.�# ›.£+«.c               ó$   € V ^8„  d   QhRRRRRR/# )rG   Úsubclassz!Tensor | TraceableWrapperSubclassÚoutz-list[Tensor | int | SymInt | CustomClassBase]rJ   rL   )rM   s   "rN   rO   rO   é   s(   € ÷ ñ Ø/ðð 
7ðð 3ñ	rP   c               óö   a€ V .pV'       dm   VP                  4       o\        S4      '       g   VP                  S4       K<  SP                  4       w  r4VP	                  V3R  l\        V4       4       4       Kt  V# )c              3  ó<   <"  € T F  p\        SV4      x € K  	  R # 5irR   )Úgetattr)Ú.0ÚkeyÚcurrs   & €rN   Ú	<genexpr>Ú$get_plain_tensors.<locals>.<genexpr>÷   s   øé € ÐGÑ2F¨3”G˜D #×&Ð&Ó2Fùs   ƒ)Úpopr*   ÚappendÚ__tensor_flatten__ÚextendÚreversed)rÔ   rÕ   ÚtodoÚ
inner_keysÚ_rÛ   s   &$   @rN   Úget_plain_tensorsræ   é   s`   ø€ ð ˆ:€Dß
Ø�x‰x‹zˆÜ,¨T×2Ò2Ø�J‰J�tÔÙà×/Ñ/Ó1‰ˆ
Ø�‰ÔG´(¸:Ô2FÓGÖGà€JrP   c               ó    € V ^8„  d   QhRRRR/# ©rG   ÚxrX   rJ   zTypeGuard[Tensor]rL   )rM   s   "rN   rO   rO   ü   s   € ÷ Añ A�fð AÐ!2ñ ArP   c                ó    € \        V \        4      '       d   R # \        V \        4      ;'       d     \        P                  P                  V 4      # r¾   )Ú
isinstanceÚ
FakeTensorr   rz   r{   Ú_is_fake_tensor©ré   s   &rN   Úis_fake_tensorrï   ü   s6   € ä�!”Z× Ò ÙÜ�aœÓ ×@Ð@¤U§X¡X×%=Ñ%=¸aÓ%@Ð@rP   c               ó    € V ^8„  d   QhRRRR/# rè   rL   )rM   s   "rN   rO   rO     s   € ÷  ñ  ˆvð  Ð+ñ  rP   c                ó   € ^ RI Hp \        V 4      '       d   R# \        V 4      '       dŸ   \	        V 4      P                  V 4      w  r#RpV Fn  p\        W4      ;;\        Rc ;e+   w   p \        V4      pVf   TpK1  WG8w  d   \        R4      hKD    ;\        Rc ;e   w    KW   p\        R\	        V4       24      h	  T;'       g    R# \        W4      '       d   \        V P                  4      # \        V \        4      '       do   \        P                  ! V 4      '       dS   \        P                  P!                  4       p	\        P                  P"                  P%                  W	4      p
\        V
4      # \        V \        4      '       dF   \'        V 4      '       d5   \        P                  P"                  P)                  V 4      p
\        V
4      # R# )r   ©ÚFunctionalTensorTNrL   z got mixed fake and real tensors!ú(expected Tensor or CustomClassBase, got F)Ú#torch._subclasses.functional_tensorró   rï   r*   Útyperà   rØ   r   Úis_fakeÚAssertionErrorr   rë   Úelemrz   Ú_is_functional_tensorr{   Ú$_functionalization_reapply_views_tlsÚ
_functorchÚ_unwrap_functional_tensorr   Úget_unwrapped)ré   ró   Úattrsrå   Úgot_fakeÚattrÚvÚfakeÚ
unexpectedÚreapply_viewsÚ	unwrappeds   &          rN   r÷   r÷     ss  € ÝDä�a×ÒÙÜ$ Q×'Ò'Ü˜“7×-Ñ-¨aÓ0‰ˆØ $ˆÛˆDÜ˜!Ó"Ù"”V—X�]Ý" 1›:�DØÒ'Ø#'šØ!Ô)Ü,Ð-OÓPÐPñ *ñ	 #ð '”_×&Úð 'àÜ(ØBÄ4È
ÓCSÐBTÐUóð ñ ð × Ð ˜5Ð Ü	�A×	(Ò	(Ü�q—v‘v‹ÐÜ	�A”v×	Ò	¤5×#>Ò#>¸q×#AÒ#AÜŸ™×EÑEÓGˆÜ—H‘H×'Ñ'×AÑAÀ!ÓSˆ	Ü�yÓ!Ð!Ü	�A”v×	Ò	Ô#>¸q×#AÒ#AÜ—H‘H×'Ñ'×5Ñ5°aÓ8ˆ	Ü�yÓ!Ð!ÙrP   c               ó    € V ^8„  d   QhRRRR/# )rG   ÚtrX   rJ   úFakeTensorMode | NonerL   )rM   s   "rN   rO   rO   &  s   € ÷  ñ  ˜6ð  Ð&;ñ  rP   c                ó”  € ^ RI Hp \        V \        4      '       d   V P                  # \        V 4      '       dŠ   V P                  4       w  r#RpV Fm  p\        W4      ;;\        Rc ;e*   w   p \        V4      pVf   TpK1  WGJd   \        R4      hKC    ;\        Rc ;e   w    KV   p\        R\        V4       24      h	  V# \        W4      '       d   \        V P                  4      # \        V \        4      '       do   \        P                  ! V 4      '       dS   \        P                   P#                  4       p	\        P                   P$                  P'                  W	4      p
\        V
4      # \        V \        4      '       dF   \)        V 4      '       d5   \        P                   P$                  P+                  V 4      p
\        V
4      # R# )r   rò   NrL   z&All fake tensor modes must be the samerô   )rõ   ró   rë   rì   rÌ   r*   rà   rØ   r   Úmaybe_get_fake_moderø   r   rö   rù   rz   rú   r{   rû   rü   rý   r   rþ   )r  ró   Úinner_tensor_namesrå   ÚmodeÚt_namer  Úmr  r  r  s   &          rN   r  r  &  so  € ÝDä�!”Z× Ò Ø�{‰{ÐÜ$ Q×'Ò'Ø !× 4Ñ 4Ó 6ÑÐØ&*ˆÛ(ˆFÜ˜!Ó$Ù"”V—X�]Ý+¨AÓ.�AØ’|Ø šØ›Ü,Ð-UÓVÐVñ 'ñ	 #ð '”_×&Úð 'àÜ(ØBÄ4È
ÓCSÐBTÐUóð ñ )ð ˆÜ	�A×	(Ò	(Ü" 1§6¡6Ó*Ð*Ü	�A”v×	Ò	¤5×#>Ò#>¸q×#AÒ#AÜŸ™×EÑEÓGˆÜ—H‘H×'Ñ'×AÑAÀ!ÓSˆ	Ü" 9Ó-Ð-Ü	�A”v×	Ò	Ô#>¸q×#AÒ#AÜ—H‘H×'Ñ'×5Ñ5°aÓ8ˆ	Ü" 9Ó-Ð-ÙrP   c               ó    € V ^8„  d   QhRRRR/# ©rG   ré   rX   rJ   úTensor | NonerL   )rM   s   "rN   rO   rO   I  s   € ÷ ñ ˜Vð ¨ñ rP   c                óJ   € \        V \        4      '       d   V P                  # R # rR   )rë   rì   Úreal_tensorrî   s   &rN   Úmaybe_get_real_tensorr  I  ó   € Ü�!”Z× Ò Ø�}‰}ÐÙrP   c               ó    € V ^8„  d   QhRRRR/# )rG   ré   rX   rJ   ztorch.device | NonerL   )rM   s   "rN   rO   rO   O  s   € ÷ ñ ˜Vð Ð(;ñ rP   c                óJ   € \        V \        4      '       d   V P                  # R # rR   )rë   rì   Úfake_devicerî   s   &rN   Úmaybe_get_fake_devicer  O  r  rP   c               ó    € V ^8„  d   QhRRRR/# r  rL   )rM   s   "rN   rO   rO   U  s   € ÷ ñ ˜vð ¨-ñ rP   c                óJ   € \        V \        4      '       d   V P                  # R # rR   )rë   rì   Úconstantrî   s   &rN   Úmaybe_get_fake_constantr  U  s   € Ü�!”Z× Ò Ø�z‰zÐÙrP   c               ó    € V ^8„  d   QhRRRR/# )rG   r™   r?   rJ   ztorch._C._SchemaInforL   )rM   s   "rN   rO   rO   \  s   € ÷ .ñ .˜*ð .Ð)=ñ .rP   c                óT   € \         P                  P                  V P                  4      # rR   )rz   r{   Ú_SchemaInfoÚ_schema©r™   s   &rN   Úget_schema_infor$  [  s   € ä�8‰8×Ñ §¡Ó-Ð-rP   c               ó    € V ^8„  d   QhRRRR/# ©rG   r™   r?   rJ   rK   rL   )rM   s   "rN   rO   rO   f  s   € ÷ 	Dñ 	D jð 	D°Tñ 	DrP   c                óÐ   € ^ RI Hp \        P                  P                  pW,          P
                  P                  R4      ;'       d    W,          P                  \        V4      9   # )r   ©Údecomposition_tableztorch._decomp)	Útorch._decompr)  rz   Ú_decompÚdecompositionsrk   Ú
startswithrj   Údir)r™   r)  r,  s   &  rN   Útorch_decomp_decompositionsr/  e  sX   € å1ä—]‘]×1Ñ1€Nð Õ$×/Ñ/×:Ñ:Øó÷ Dð Dà
Õ
#×
,Ñ
,´°NÓ0CÑ
CðDrP   c               ó$   € V ^8„  d   QhRRRRRR/# )rG   Útyztype[T]Útreer/   rJ   zlist[T]rL   )rM   s   "rN   rO   rO   r  s&   € ÷ @ñ @˜'ð @¨ð @°Gñ @rP   c                ó€   € \         P                  V4      pV Uu. uF  p\        W04      '       g   K  VNK  	  up# u upi rR   )ÚpytreeÚtree_leavesrë   )r1  r2  Ú	flat_valsrù   s   &&  rN   Útree_flatten_onlyr7  r  s3   € Ü×"Ñ" 4Ó(€IÙ&Ó?™Y�T¬*°T×*>�DˆD™YÑ?Ð?ùÒ?s   š;²;c               ó    € V ^8„  d   QhRRRR/# )rG   r  rX   rJ   rK   rL   )rM   s   "rN   rO   rO   w  s   € ÷ ñ ˜ð  4ñ rP   c                óP  € \        V 4      \        J ;'       d�    V P                  \        P                  8H  ;'       dj    V P
                  ;'       gQ    V P                  ;'       g=    \        V 4      ;'       g*    \        V 4      ;'       g    \        P                  ! V 4      '       * # rR   )
rö   r   Úlayoutrz   ÚstridedÚ	is_sparseÚ	is_nestedr   r   rú   )r  s   &rN   Ú_is_plain_tensorr>  w  s–   € äˆQ‹”6Ð÷ 	
ð 	
Ø�H‰HœŸ™Ñ%÷	
ð 	
ð �K‰K÷ .ð .Ø�{‰{÷.ð .ä*¨1Ó-÷.ð .ô ' qÓ)÷.ð .ô ×*Ò*¨1Ó-ô
ð
rP   c                  óÐ   € ] tR tRt$ ]R R l4       tR]R&   R]R&   R]R	&   R
RR	R/R R lltR R ltR R lt	R R lt
R R ltR R ltR"RRRRRR/R R llltR#R R  lltR!tR# )$ÚFakeTensorConverteri‰  c               ó   € V ^8„  d   QhRR/# )rG   rJ   zRweakref.WeakValueDictionary[torch._subclasses.meta_utils.MetaTensorId, FakeTensor]rL   )rM   s   "rN   rO   Ú FakeTensorConverter.__annotate__‹  s   € ÷ /ñ /ð
ñ/rP   c                	ó.   € V P                   P                  # rR   )Úmeta_converterÚtensor_memor‰   s   &rN   rE  ÚFakeTensorConverter.tensor_memoŠ  s   € ð ×"Ñ"×.Ñ.Ð.rP   zMetaConverter[FakeTensor]rD  z5dict[StorageWeakRef, list[ReferenceType[FakeTensor]]]Úconstant_storage_mappingrK   ÚexportÚ	copy_dataFc               ó$   € V ^8„  d   QhRRRRRR/# )rG   rI  rK   rH  rJ   r‚   rL   )rM   s   "rN   rO   rB  –  s!   € ÷ +ñ + Tð +¸4ð +ÈDñ +rP   c               	óB   € \        VR 7      V n        W n        / V n        R# ))rI  N)r    rD  rH  rG  )rŠ   rI  rH  s   &$$rN   r‹   ÚFakeTensorConverter.__init__–  s   € Ü+°iÔ@ˆÔØŒð )+ˆÖ%rP   c               ó    € V ^8„  d   QhRRRR/# )rG   Úfake_tensorrì   rJ   r‚   rL   )rM   s   "rN   rO   rB  �  s   € ÷ Pñ P¸
ð PÀtñ PrP   c                	óT  € \        V\        4      '       d   VP                  f   \        R4      h\	        VP                  P                  4       4      pW P                  9  d   . V P                  V&   V P                  V,          P                  \        P                  ! V4      4       R # )Nz0fake_tensor must be a FakeTensor with a constant)
rë   rì   r  rø   r%   Ú_typed_storagerG  rß   r¸   Úref)rŠ   rN  Úweak_sts   && rN   Úadd_constant_storage_mappingÚ0FakeTensorConverter.add_constant_storage_mapping�  s‰   € ô
 ØœZ÷ò ð ×#Ñ#Ò+ä Ð!SÓTÐTÜ  ×!5Ñ!5×!DÑ!DÓ!FÓGˆð
 ×7Ñ7Ô7Ø57ˆD×)Ñ)¨'Ñ2Ø×%Ñ% gÕ.×5Ñ5´g·k²kÀ+Ó6NÖOrP   c               ó    € V ^8„  d   QhRRRR/# )rG   Útensorr   rJ   r‚   rL   )rM   s   "rN   rO   rB  ±  s   € ÷ 3ñ 3°&ð 3¸Tñ 3rP   c                	ó4  € \        V\        4      '       d   \        R 4      h\        VP	                  4       4      pW P
                  9  d   R# V P
                  V,           F'  pV! 4       pVf   K  VP                  4        RVn        K)  	  V P
                  V R# )z(Expected a real tensor, not a FakeTensorN)rë   rì   rø   r%   rP  rG  Ú_fix_weakrefr  )rŠ   rV  rR  Úweak_tensor_refÚtens   &&   rN   Úinvalidate_constant_aliasesÚ/FakeTensorConverter.invalidate_constant_aliases±  s†   € Ü�fœj×)Ò)Ü Ð!KÓLÐLä  ×!6Ñ!6Ó!8Ó9ˆØ×7Ñ7Ô7Ùà#×<Ñ<¸W×EÐEˆOÙ!Ó#ˆCØŒà× Ñ Ô"Ø#�–ñ  Fð ×)Ñ)¨'Ò2rP   c               ó   € V ^8„  d   QhRR/# r�   rL   )rM   s   "rN   rO   rB  Â  s   € ÷ ;ñ ;¨ñ ;rP   c                ó’  € \        V P                  P                  4       4       FŸ  w  r. pRpV FA  pV! 4       pVe   VP                  f   K  VP	                  V4       Ve   K5  VP                  pKC  	  Vf   V P                  V Kc  VP
                  P                  R8X  d   W0P                  V&   KŽ  V P                  V4       K¡  	  R# )zFClear non-CPU constants while keeping cheap CPU constants for folding.NÚcpu)ÚlistrG  r¼   r  rß   rœ   rö   r[  )rŠ   rR  Úweak_tensor_refsÚlive_tensor_refsr  rY  rZ  s   &      rN   Úclear_non_cpu_constantsÚ+FakeTensorConverter.clear_non_cpu_constantsÂ  s³   € ä)-¨d×.KÑ.K×.QÑ.QÓ.SÖ)TÑ%ˆGØ@BÐØ&*ˆHÛ#3�Ù%Ó'�Ø’; #§,¡,Ò"6Ùà ×'Ñ'¨Ô8ØÔ#Ø"Ÿ|™|’Hñ $4ð ÒØ×1Ñ1°'Ò:Ø—‘×%Ñ%¨Ô.Ø9I×-Ñ-¨gÓ6à×0Ñ0°Ö:ó# *UrP   c               ó    € V ^8„  d   QhRRRR/# )rG   r  r   rJ   úFakeTensor | NonerL   )rM   s   "rN   rO   rB  ×  s   € ÷ )ñ )˜6ð )Ð&7ñ )rP   c                	ó¢   € V P                   P                  P                  P                  V4      pVf   R # V P                  P                  V4      # rR   )rD  Ú	describerÚlookup_tensorÚgetrE  )rŠ   r  Útids   && rN   Ú	_get_memoÚFakeTensorConverter._get_memo×  sC   € Ø×!Ñ!×+Ñ+×9Ñ9×=Ñ=¸aÓ@ˆØŠ;ÙØ×Ñ×#Ñ# CÓ(Ð(rP   c               ó$   € V ^8„  d   QhRRRRRR/# )rG   r  r   r  rì   rJ   r‚   rL   )rM   s   "rN   rO   rB  Ý  s!   € ÷ 1ñ 1 ð 1¨Jð 1¸4ñ 1rP   c                	ó€   € V P                   P                  P                  V4      pW P                   P                  V&   R # rR   )rD  rh  Úget_tensor_idrE  )rŠ   r  r  rk  s   &&& rN   Úset_tensor_memoÚ#FakeTensorConverter.set_tensor_memoÝ  s2   € Ø×!Ñ!×+Ñ+×9Ñ9¸!Ó<ˆØ/0×Ñ×'Ñ'¨Ó,rP   NÚsourceÚsymbolic_contextÚtraceTc               ó8   € V ^8„  d   QhRRRRRRRRR	R
RRRRRR/# )rG   rÌ   rÍ   r  r   Úmake_constantrK   Ú	shape_envúShapeEnv | Noners  úSource | Nonert  úSymbolicContext | Noneru  rJ   rì   rL   )rM   s   "rN   rO   rB  ç  sd   € ÷ ñ à!ðð ðð ð	ð
 #ðð ðð 1ðð ðð 
ñrP   c          	     	ó0
  aa€ V'       gž   V'       g–   V'       dŽ   \         P                  P                  P                  4       ;p'       d^   W(P                  9   dN   TP                  V,          p^ RIHp	 \        Wi4      '       g   \        R\        V4       24      hVP                  pV P                  V4      p
V
eK   VP                  '       d7   V
P                  '       g%   \         P                  P                  V4      V
n        V
# VP                   '       d   \#        R4      h\        V4      \         P$                  P&                  J d   V'       d   \        R4      hV'       d   TMRoR VV3R llpV P)                  VVVVVVR7      pV\*        J d   \#        R	4      hVP                  '       d%   \         P                  P                  V4      Vn        \        V\         P,                  P.                  P0                  4      '       d!   \         P2                  ! VP4                  4      MTpVP6                  '       dQ   VP8                  '       d?   VP:                  VP<                  8w  d$   VP8                  '       d   VP:                  Vn        ^ R
IH p RpV PB                  '       EgA   \E        V4      '       Ed/   VPG                  4       ^ 8X  Ed   VPH                  P                  R8X  Edý   VP<                  \         PJ                  \         PL                  \         PN                  \         PP                  \         PR                  39   Ed    Vf;   SPT                  Ef�   \         P                  P                  P                  4       Efb   Ve   \        W^4      '       EgL   Ve   VEeC   ^ RIH+pH,p ^ RIH-p \]        4       ;_uu_ 4        VP_                  4       pRRR4       \`        Pb                  ! V4      '       gî   \`        Pd                  ! V4      '       gÒ   Vf   Wün3        MÆVf   \        R4      h\        VV4      '       d   VPh                  pMV! V4      pVPk                  VVVPl                  VR7      pVP<                  \         PJ                  8X  d   VPo                  VVVR7      Vn3        M8VP<                  \         PR                  8X  d   VPq                  VVVR7      Vn3        V'       d   V Ps                  V4       V#   + '       g   i     EL5; i)r   )ÚStatefulSymbolicContextz&Expected StatefulSymbolicContext, got Nzquantized nyi in meta tensorsz,make_constant must be False for nn.Parameterc               ó$   € V ^8„  d   QhRRRRRR/# )rG   Úmake_meta_tzCallable[[], object]rœ   ztorch.device | strrJ   rì   rL   )rM   s   "rN   rO   Ú:FakeTensorConverter.from_real_tensor.<locals>.__annotate__  s$   € ÷ 	ñ 	Ø-ð	Ø7Ið	àñ	rP   c           	     óŽ   <€ \        4       ;_uu_ 4        \        SV ! 4       VSR 7      uuRRR4       #   + '       g   i     R# ; i)©r  N)r)   rì   )r  rœ   r  rÌ   s   &&€€rN   Úmk_fake_tensorÚ<FakeTensorConverter.from_real_tensor.<locals>.mk_fake_tensor  s0   ø€ ô —•Ü!Øá“Màð &ô	÷ ——“ús	   ”3³A	)rx  Úcallbackrs  rt  ru  zmeta converter nyi)ÚRandomValueSourcer_  )ÚCallMethodItemSourceÚFloatTensorSource)Ú
DimDynamiczshape_env unexpectedly missing)rs  Údynamic_dimrt  )Úhintrs  ):rz   Ú_guardsÚTracingContextÚtry_getÚtensor_to_contextÚ%torch.fx.experimental.symbolic_shapesr}  rë   rø   rö   Útensor_sourcerl  Ú	is_mkldnnr{   Ú_dispatch_keysrH   Úis_quantizedr“   ÚnnÚ	ParameterrD  ÚNotImplementedÚ_subclassesÚfunctional_tensorró   Ú_from_functional_tensorrù   Úrequires_gradÚis_leafÚ
grad_dtypeÚdtypeÚtorch._dynamo.sourcer†  rH  r>  Údimrœ   Úint64Úint32Úint16Úint8Úfloat64rx  r‡  rˆ  r‰  r)   ÚitemÚmathÚisnanÚisinfÚ	item_memoÚbaseÚcreate_unspecified_symbolÚDYNAMICÚcreate_symintnodeÚcreate_symfloatnoderS  )rŠ   rÌ   r  rw  rx  rs  rt  ru  Útracing_contextr}  Ú
maybe_memorƒ  rÕ   Úinner_tr†  Úvaluer‡  rˆ  r‰  Úitem_sourceÚsymbolr  s   &f&&&$$$             @rN   Úfrom_real_tensorÚ$FakeTensorConverter.from_real_tensorç  sÐ  ù€ ÷  ¯·9Ü"'§-¡-×">Ñ">×"FÑ"FÓ"HÐHˆÖHØ×9Ñ9Ô9Ø'6×'HÑ'HÈÕ'KÐ$õô &Ð&6×PÒPÜ,ØDÄTÐJZÓE[ÐD\Ð]óð ð .×;Ñ;�Fà—^‘^ AÓ&ˆ
ØÒ!Ø�{�{ˆ{ :×#7×#7Ð#7Ü+0¯8©8×+BÑ+BÀ1Ó+E�
Ô(ØÐà�>�>ˆ>Ü0Ð1PÓQÐQÜ�‹7”e—h‘h×(Ñ(Ó(ßÜ$Ð%SÓTÐTç%‘1¨4ˆ÷
	ñ 	ð, ×!Ñ!ØØØ#ØØ-Øð "ó 
ˆð ”.Ó Ü0Ð1EÓFÐFØ�;�;ˆ;Ü %§¡× 7Ñ 7¸Ó :ˆCÔô ˜!œU×.Ñ.×@Ñ@×QÑQ×RÒRô ×)Ò)¨!¯&©&Ô1àð 	ð ×!×!Ð!Ø——�Ø×"Ñ" g§m¡mÔ3Ø——�à$×/Ñ/ˆCŒNå:àˆà——‘Ü  ×#Ó#Ø—‘“˜1•Ø—‘—‘ Õ&ð —‘Ü—‘œUŸ[™[¬%¯+©+´u·z±zÄ5Ç=Á=ÐQõRð Ò"à×'Ñ'Ó/ÜŸ™×4Ñ4×<Ñ<Ó>ÓFð( ’¤z°&×'LÓ'Lð ’ 9Ó#8çTÝHä—•ØŸ™›�÷ ä—:’:˜e×$Ò$¬T¯ZªZ¸×->Ò->Ø’>ð %*•Mà Ò(Ü,Ð-MÓNÐNä! &Ð*;×<Ò<Ø&,§k¡k™á&:¸6Ó&B˜Ø&×@Ñ@ØØ*Ø$.×$6Ñ$6Ø)9ð	 Aó �Fð —w‘w¤%§+¡+Ô-Ø(1×(CÑ(CØ"Ø!&Ø#.ð )Dó )˜�ð
 Ÿ™¤E§M¡MÔ1Ø(1×(EÑ(EØ"Ø!&Ø#.ð )Fó )˜œ÷
 Ø×-Ñ-¨cÔ2àˆ
÷M —�ús   ÏTÔT	c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )rG   rÌ   rÍ   r  r   rœ   r›   Úpytypeztype[torch.Tensor] | NonerH   rI   rJ   rì   rL   )rM   s   "rN   rO   rB  ©  sF   € ÷ ñ à!ðð ðð ð	ð
 *ðð 3ðð 
ñrP   c                	óî   € VP                   P                  R 8w  d$   \        RVP                   P                   R24      hV P                  V4      pVe   V# \	        WW4VR7      pV P                  W'4       V# )Úmetaz$tensor's device must be `meta`, got z instead)r¹  rH   )rœ   rö   rø   rl  rì   rq  )rŠ   rÌ   r  rœ   r¹  rH   r±  rÕ   s   &&&&&&  rN   Úfrom_meta_and_deviceÚ(FakeTensorConverter.from_meta_and_device©  sw   € ð �8‰8�=‰=˜FÔ"Ü Ø6°q·x±x·}±}°oÀXÐNóð ð
 —^‘^ AÓ&ˆ
ØÒ!ØÐÜØ˜&¸}ô
ˆð 	×Ñ˜QÔ$Øˆ
rP   )rG  rH  rD  rÏ   )NN)rj   rk   rl   rm   ÚpropertyrE  rn   r‹   rS  r[  rc  rl  rq  r¶  r¼  ro   rL   rP   rN   r@  r@  ‰  sŒ   ‡ Øô/ó ð/ð .Ó-ØSÓSØƒLð+¨Eð +À%÷ +õPõ(3õ";õ*)õ1ñð !%ðð 48ðð ÷ð ÷Dó rP   r@  c               ó    € V ^8„  d   QhRRRR/# ©rG   rœ   r›   rJ   r‚   rL   )rM   s   "rN   rO   rO   Â  s   € ÷ 
ñ 
˜\ð 
¨dñ 
rP   c                óþ   € \         P                  P                  R 4      V P                  8X  dO   \         P                  P
                  f   \         P                  ! ^V R7      M\         P                  ! ^V R7       R# R# )TN©rœ   )rz   ÚacceleratorÚcurrent_acceleratorrö   ÚversionÚhipÚemptyÚzerosrÂ  s   &rN   Úinit_gpu_contextrÉ  Á  sX   € ô ×Ñ×,Ñ,¨TÓ2°f·k±kÔAô �}‰}× Ñ Ò(ô �KŠK˜ &Õ)ä—’˜Q vÔ.úñ	 BrP   c               ó    € V ^8„  d   QhRRRR/# rË   rL   )rM   s   "rN   rO   rO   Í  s    € ÷ @ñ @Øð@à ñ@rP   c           	   #  ó  "  € V P                   p\        P                  P                  4       pW!8w  d   \	        V R V 24      h\        P                  P                  4       ;_uu_ 4        RV n         \        P                  P                  4       ;_uu_ 4        \        P                  P                  R4        Rx € Wn          RRR4       RRR4       R#   Yn         i ; i  + '       g   i     L%; i  + '       g   i     R# ; i5i)ú, TN)Úin_kernel_invocationrz   r{   Ú_meta_in_tls_dispatch_includerø   Ú_DisableTorchDispatchÚ_PreserveDispatchKeyGuardÚ!_set_meta_in_tls_dispatch_include)rÌ   Úprev_in_kernelÚmeta_in_tlss   &  rN   Úin_kernel_invocation_managerrÔ  Ì  s¾   é € ð
 ×3Ñ3€NÜ—(‘(×8Ñ8Ó:€KØÔ$Ü ˜}¨B¨~Ð.>Ð?Ó@Ð@ä	�‰×	'Ñ	'×	)Õ	)Ø)-ˆ	Ô&ô �X‰X×/Ñ/×1Õ1Ü�H‰H×6Ñ6°tÔ<ð@Ûà1?Õ.÷ 2÷	 
*Ñ	)øð 2@Õ.ú÷ 2×1ú÷	 
*×	)Ð	)üsN   ‚A'DÁ).C3Â C 	Â8CÂ<C 	ÃC3Ã
DÃCÃC 	Ã C0Ã+C3Ã3D	Ã>	Dc               ó    € V ^8„  d   QhRRRR/# r&  rL   )rM   s   "rN   rO   rO   ä  s   € ÷ ñ ¨*ð ¸ñ rP   c                ó´   € \         P                  P                  V P                  4       P	                  R 4      R,          P	                  R4      ^ ,          4      # )z::Ú.éÿÿÿÿ)rz   r{   Ú _should_allow_numbers_as_tensorsÚnameÚsplitr#  s   &rN   Úshould_allow_numbers_as_tensorsrÜ  ä  sB   € Ü�8‰8×4Ñ4Ø�	‰	‹×Ñ˜$Ó Õ#×)Ñ)¨#Ó.¨qÕ1óð rP   c                  óT   € ] tR tRt]P
                  P                  RR4      R8H  tRtR# )ÚFakeTensorConfigiê  ÚTORCH_FAKE_TENSOR_DEBUGÚ0Ú1rL   N)	rj   rk   rl   rm   ÚosÚenvironrj  Údebugro   rL   rP   rN   rÞ  rÞ  ê  s   † Ø�J‰J�N‰NÐ4°cÓ:¸cÑA„ErP   rÞ  c                  óŒ   € ] tR tRt$ R]R&   R]R&   RR/R R	 lltR
 R ltR R ltR R ltR R lt	RR R llt
R R ltRtR# )ÚSymNumberMemoDescriptoriù  rs   Ú_namerK   Ú_is_nested_intÚis_nested_intFc               ó    € V ^8„  d   QhRRRR/# )rG   ré  rK   rJ   r‚   rL   )rM   s   "rN   rO   Ú$SymNumberMemoDescriptor.__annotate__  s   € ÷ ,ñ ,¨ð ,¸$ñ ,rP   c               	ó   € Wn         R # rR   )rè  )rŠ   ré  s   &$rN   r‹   Ú SymNumberMemoDescriptor.__init__  s   € Ø+ÖrP   c               ó$   € V ^8„  d   QhRRRRRR/# )rG   Úownerrs   rÚ  rJ   r‚   rL   )rM   s   "rN   rO   rë    s!   € ÷ ñ  #ð ¨Sð °Tñ rP   c                	ó   € W n         R # rR   ©rç  )rŠ   rï  rÚ  s   &&&rN   Ú__set_name__Ú$SymNumberMemoDescriptor.__set_name__  s   € ØŽ
rP   c               ó    € V ^8„  d   QhRRRR/# ©rG   Úobjrì   rJ   rs   rL   )rM   s   "rN   rO   rë  	  s   € ÷  ñ  ˜ð  ¨ñ  rP   c                	ó    € R V P                    2# )rå   rñ  ©rŠ   rö  s   &&rN   Ú_memoÚSymNumberMemoDescriptor._memo	  s   € Ø�4—:‘:�,ÐÐrP   c               ó    € V ^8„  d   QhRRRR/# rõ  rL   )rM   s   "rN   rO   rë    s   € ÷ #ñ #˜Jð #¨3ñ #rP   c                	ó"   € R V P                    R2# )rå   Ú_vcrñ  rø  s   &&rN   Ú_memo_vcÚ SymNumberMemoDescriptor._memo_vc  s   € Ø�4—:‘:�,˜cÐ"Ð"rP   c               ó    € V ^8„  d   QhRRRR/# rõ  rL   )rM   s   "rN   rO   rë    s   € ÷ &ñ &˜zð &¨cñ &rP   c                	ó"   € R V P                    R2# )rå   Ú_epochrñ  rø  s   &&rN   Ú_memo_epochÚ#SymNumberMemoDescriptor._memo_epoch  s   € Ø�4—:‘:�,˜fÐ%Ð%rP   Nc               ó$   € V ^8„  d   QhRRRRRR/# )rG   rö  rì   Úobjtypeztype[FakeTensor] | NonerJ   z$torch.SymInt | torch.SymFloat | NonerL   )rM   s   "rN   rO   rë    s$   € ÷ ñ ØðØ(?ðà	-ñrP   c                	ó^  € \        WP                  V4      4      ;pf   R # V P                  '       g^   VP                  4       '       gH   \        WP	                  V4      R 4      VP
                  8w  d   \        WP                  V4      R 4       R # \        V\        P                  4      '       d   VP                  P                  e   V# V P                  '       gR   \        WP                  V4      R 4      VP                  P                  8w  d   \        WP                  V4      R 4       R # V# rR   )rØ   rù  rè  Úis_inferencerþ  Ú_versionÚsetattrrë   rz   r   Únoder‹  r  rÌ   Úepoch)rŠ   rö  r  Úrs   &&& rN   Ú__get__ÚSymNumberMemoDescriptor.__get__  sÝ   € ô ˜Ÿj™j¨›oÓ.Ð.ˆAÒ7Ùð
 ×"×"Ð"¨3×+;Ñ+;×+=Ò+=Ü�sŸM™M¨#Ó.°Ó5¸¿¹ÔEÜ˜ŸZ™Z¨›_¨dÔ3Ùô �aœŸ™×(Ò(¨Q¯V©V¯[©[Ò-DØˆHð ×#×#Ð#Ü˜×-Ñ-¨cÓ2°DÓ9¸S¿]¹]×=PÑ=PÔPä�CŸ™ C›¨$Ô/ÙàˆrP   c               ó$   € V ^8„  d   QhRRRRRR/# )rG   rö  rì   r³  zBtorch.SymInt | torch.SymFloat | torch.SymBool | int | float | NonerJ   r‚   rL   )rM   s   "rN   rO   rë  2  s.   € ÷ Eñ EàðEð RðEð 
ñ	ErP   c                	óâ  € VfT   \        WP                  V4      R 4       \        WP                  V4      R 4       \        WP                  V4      R 4       R # \        WP                  V4      V4       V P                  '       g<   VP                  4       '       g&   \        WP                  V4      VP                  4       \        WP                  V4      VP                  P                  4       R # rR   )	r
  rù  rþ  r  rè  r  r	  rÌ   r  )rŠ   rö  r³  s   &&&rN   Ú__set__ÚSymNumberMemoDescriptor.__set__2  s¥   € ð
 Š=Ü�CŸ™ C›¨$Ô/Ü�CŸ™ sÓ+¨TÔ2Ü�C×)Ñ)¨#Ó.°Ö5ä�CŸ™ C›¨%Ô0Ø×&×&Ð&¨s×/?Ñ/?×/AÒ/AÜ˜Ÿ]™]¨3Ó/°·±Ô>Ü�C×)Ñ)¨#Ó.°·±×0CÑ0CÖDrP   )rè  rç  rR   )rj   rk   rl   rm   rn   r‹   rò  rù  rþ  r  r  r  ro   rL   rP   rN   ræ  ræ  ù  s@   ‡ ØƒJð Óð,°÷ ,õõ õ#õ&÷÷8Eñ ErP   ræ  c                  ó¢  a € ] tR tRt$ RtR]R&   R]R&   R]R&   R]R	&   ]! 4       tR
]R&   ]! 4       t]! 4       t	R
]R&   ]! 4       t
R
]R&   ]! RR7      tR]R&   R]R&   ]P                  P                  P                  t]R R l4       t]R R l4       tR:RR/R R lllt]R R l4       t]P,                  R R l4       t]R  R! l4       t]P,                  R" R# l4       t]R$ R% l4       t]R;RRR&RRRR'RR(R)/R* R+ lll4       tR, V 3R- llt]R. R/ l4       t]]R<]! 4       3R0 R1 ll4       4       t ]R2 R3 l4       t!R4^/R5 R6 llt"R7 R8 lt#R9t$V ;t%# )=rì   iB  aT  
Meta tensors give you the ability to run PyTorch code without having to
actually do computation through tensors allocated on a `meta` device.
Because the device is `meta`, meta tensors do not model device propagation.
FakeTensor extends MetaTensors to also carry an additional `fake_device`
which tracks devices that would have been used.
r›   Ú_fake_devicerÍ   rÌ   r  r  r  z$SymNumberMemoDescriptor | int | NoneÚnonzero_memoÚunique_memoÚunique_consecutive_memoT)ré  útype[Tensor] | Noner¹  rI   rH   c               ó   € V ^8„  d   QhRR/# ©rG   rJ   rK   rL   )rM   s   "rN   rO   ÚFakeTensor.__annotate__k  s   € ÷ =ñ =˜4ñ =rP   c                	ó,   € \        V P                  4      # rR   )rU   rH   r‰   s   &rN   r’  ÚFakeTensor.is_mkldnni  s   € ô )¨×);Ñ);Ó<Ð<rP   c               ó   € V ^8„  d   QhRR/# )rG   rJ   útorch.layoutrL   )rM   s   "rN   rO   r  p  s   € ÷ 7ñ 7˜ñ 7rP   c                	ó˜   € V P                   '       d   \        P                  # \        P                  P                  V \        V 4      4      # rR   )r’  rz   Ú_mkldnnr   r:  r  rö   r‰   s   &rN   r:  ÚFakeTensor.layoutn  s2   € ð �>�>ˆ>Ü—=‘=Ð Ü�}‰}×$Ñ$ T¬4°«:Ó6Ð6rP   NÚmasked_gradc               ó$   € V ^8„  d   QhRRRRRR/# )rG   rž  ztorch.dtype | Noner$  r²   rJ   r   rL   )rM   s   "rN   rO   r  u  s-   € ÷ 
Kñ 
Kà!ð
Kð !ð	
Kð
 
ñ
KrP   c               	óÀ   € V P                   '       d6   \        P                  P                  P                  P                  WVR 7      # \        P                  ! WVR 7      # )©rž  r$  )r’  rz   ÚopsÚatenÚ	_to_denseÚdefaultr   Úto_dense)rŠ   rž  r$  s   &&$rN   r,  ÚFakeTensor.to_denseu  sK   € ð �>�>ˆ>Ü—9‘9—>‘>×+Ñ+×3Ñ3Ø¨{ð 4ó ð ô �Š˜t¸kÔJÐJrP   c               ó   € V ^8„  d   QhRR/# ©rG   rJ   r›   rL   )rM   s   "rN   rO   r  ƒ  s   € ÷ $ñ $˜ñ $rP   c                	ó~   € V P                   P                  '       d   \        P                  ! R 4      # V P                  # ©r»  )rÌ   rÍ  rz   rœ   r  r‰   s   &rN   rœ   ÚFakeTensor.device�  s/   € ð �>‰>×.×.Ð.Ü—<’< Ó'Ð'à×#Ñ#Ð#rP   c               ó    € V ^8„  d   QhRRRR/# )rG   rå   r›   rJ   r‚   rL   )rM   s   "rN   rO   r  Š  s   € ÷ "ñ "˜ð "¨ñ "rP   c                	ó   € \         hrR   )ÚNotImplementedError)rŠ   rå   s   &&rN   rœ   r2  ‰  s   € ä!Ð!rP   c               ó   € V ^8„  d   QhRR/# r/  rL   )rM   s   "rN   rO   r  Ž  s   € ÷ !ñ !˜\ñ !rP   c                	ó   € V P                   # rR   )r  r‰   s   &rN   r  ÚFakeTensor.fake_device�  s   € à× Ñ Ð rP   c               ó    € V ^8„  d   QhRRRR/# rÀ  rL   )rM   s   "rN   rO   r  ’  s   € ÷ @ñ @ ,ð @°4ñ @rP   c                	ó2   € V P                  V4      V n        R # rR   )Ú_normalize_fake_devicer  )rŠ   rœ   s   &&rN   r  r8  ‘  s   € à ×7Ñ7¸Ó?ˆÖrP   c               ó    € V ^8„  d   QhRRRR/# )rG   rœ   r›   rJ   rL   )rM   s   "rN   rO   r  ¥  s   € ÷ ñ  |ð ¸ñ rP   c                óî  € V P                   R9   d   \        V 4       \        V P                   4      '       d¾   V P                  f°   V P                   R8w  d|   \	        \
        V P                   4      P                  4       '       dN   \
        P                  ! V P                    R\	        \
        V P                   4      P                  4        24      p V # \
        P                  ! V P                    R24      p V # )zFNormalize device by initializing GPU context and setting device index.rx   Ú:z:0)ru   rw   )	rö   rÉ  r}   ÚindexrØ   rz   Úis_initializedrœ   Úcurrent_devicerÂ  s   &rN   r;  Ú!FakeTensor._normalize_fake_device¤  s±   € ð �;‰;˜/Ô)Ü˜VÔ$ä" 6§;¡;×/Ò/°F·L±LÒ4HØ�{‰{˜eÔ#¬´°v·{±{Ó(C×(RÑ(R×(TÒ(TÜŸšØ—{‘{�m 1¤W¬U°F·K±KÓ%@×%OÑ%OÓ%QÐ$RÐSó�ð
 ˆô Ÿš¨¯©¨°RÐ&8Ó9�ØˆrP   r  r›  Ú	_is_paramFc               óP   € V ^8„  d   QhRRRRRRRRRRR	R
RRRRRRRRRRRRRRRR/# )rG   Úfake_mode_or_elemzFakeTensorMode | Tensor | Nonerù   r  rœ   ztorch.device | str | Noner  r  r¹  r  rH   rI   rÌ   r	  r  r  r›  r²   rC  rK   Ústatez*Unpack[_FakeTensorConstructorIgnoredState]rJ   r   rL   )rM   s   "rN   rO   r  ´  s¦   € ÷ }ñ }à9ð}ð ð}ð *ð	}ð
  ð}ð #ð}ð $ð}ð 3ð}ð )ð}ð /ð}ð 0ð}ð #ð}ð ð}ð <ð}ð  
ñ!}rP   c               	ól  € \        \        \        \        3,          V4      p\         F  pVP                  VR 4       K  	  V'       d$   \        \        V4      4      p\        RV: 24      h\        V\        4      '       d   Ve   W�Jd   \        R4      hTpMQVe?   \        V\        4      '       g   \        R\        V4       24      hVe   \        R4      hTpVf   \        R4      hVf   \        R4      hRV3RV	3R	V
33 UUu. uF7  w  ppVf   K  V\        P                  \        P                   ! V4      4      3NK9  	  pppV'       dA   V^ ,          w  ppVR
,           F$  w  ppVV8w  g   K  \#        RV RV RV RV 24      h	  TpM\        R4      h\        P$                  ! T TVf   VP&                  MTRVR7      pVP(                  '       g!   \        P*                  P-                  V4       M\        P*                  P/                  V4       VP                   P                  R8w  d#   \1        RVP                   P                   24      hVP2                  '       g   VP                  R8X  d   \1        R4      hVVn        VVn        VVn        VVn        VVn        \        V\        4      '       d   \1        R4      hVVn        R Vn         R Vn!        R Vn"        R Vn#        R Vn$        V'       d   VVn%        \L        PN                  '       d   \P        PR                  ! 4       Vn*        V# u uppi )Nz8FakeTensor.__new__() got an unexpected keyword argument z5FakeTensor.__new__() got conflicting fake_mode valueszTFakeTensor.__new__() expected a FakeTensorMode or Tensor as the first argument, got zYFakeTensor.__new__() expected either (fake_mode, elem, ...) or (elem, fake_mode=..., ...)z;FakeTensor.__new__() missing required argument: 'fake_mode'z6FakeTensor.__new__() missing required argument: 'elem'rœ   r  r  :r†   NNz4FakeTensor.__new__() got conflicting device values: Ú=rÌ  zKFakeTensor.__new__() missing required argument: 'device' (or 'fake_device')T)Údispatch_deviceÚdevice_for_backend_keysr»  z%elem.device.type must be 'meta', got z7device.type must not be 'meta' when allow_meta is Falsez$real_tensor must not be a FakeTensor)+r   r¿   rs   rX   Ú,_FAKE_TENSOR_CONSTRUCTOR_IGNORED_STATE_ATTRSrÞ   ÚnextÚiterÚ	TypeErrorrë   rÍ   r   rö   rì   r;  rz   rœ   Ú
ValueErrorÚ_make_subclassr›  Ú_allow_unsafe_data_ptr_accessr{   Ú_set_throw_on_mutable_data_ptrÚ(_set_warn_deprecated_on_mutable_data_ptrrø   Ú
allow_metar  rÌ   r  r¹  rH   r  r  rª  r  r  Únested_int_memorC  rÞ  rä  r4   Úextractrh   )ÚclsrE  rù   rœ   r  r  r¹  rH   rÌ   r  r  r›  rC  rF  Ú
state_dictÚ	attr_namer  rÚ  r³  Úspecified_devicesÚ
first_nameÚresolved_deviceÚcandidate_devicerŠ   s   &&&&&&&&$$$$$,          rN   Ú__new__ÚFakeTensor.__new__³  sR  € ô$ œ$œs¤F˜{Õ+¨UÓ3ˆ
ßEˆIØ�N‰N˜9 dÖ+ñ FçÜœd :Ó.Ó/ˆJÜØJØ‘.ð"óð ô
 Ð'¬×8Ò8ØÒ$¨Ó)KÜÐ WÓXÐXØ)‰Ið !Ò,Ü!Ð"3´V×<Ò<Ü#ð6Ü6:Ð;LÓ6MÐ5NðPóð ð Ò#Ü#ðOóð ð )�ØÒ ÜØQóð ð Š<ÜÐTÓUÐUð
 ˜6Ð"Ø Ð,Ø Ð.ñ ô
ñ ‘��eð
 ô KˆT”:×4Ñ4´U·\²\À%Ó5HÓIÓJñ ð 	ñ 
÷ Ø*;¸AÕ*>Ñ'ˆJ˜Ø*;¸B×*?Ð*?Ñ&�Ð&Ø"Ð&6Ö6Ü$ØNØ%˜, a¨Ð'8¸¸4¸&ÀÐBRÐASðUóð ñ +@ð %‰Fäð.óð ô
 ×$Ò$ØØØ"/Ò"7ˆD×Ò¸]Ø Ø$*ô
ˆð ×6×6Ð6Ü�H‰H×3Ñ3°DÕ9ä�H‰H×=Ñ=¸dÔCà�;‰;×Ñ˜vÔ%Ü Ø7¸¿¹×8HÑ8HÐ7IÐJóð ð ×#×#Ð#Ø�{‰{˜fÔ$Ü$ØMóð ð "ˆÔØ"ˆŒØ ˆŒØˆŒØ*ˆÔÜ�k¤:×.Ò.Ü Ð!GÓHÐHØ&ˆÔØ ˆÔØˆŒØˆÔØ'+ˆÔ$Ø#ˆÔçØ&ˆDŒNä×!×!Ð!Ü 1× 9Ò 9Ó ;ˆDÔØˆùóO
s   Ä	L0Ä/L0c               ó$   € V ^8„  d   QhRRRRRR/# )rG   ÚargsrX   ÚkwargsrJ   r‚   rL   )rM   s   "rN   rO   r  E  s&   € ÷ Lñ L˜fð L°ð L¸4ñ LrP   c                	ó  <€ \         SV `  4        \        P                  P	                  4       '       dN   \        P
                  P                  P                  '       d"   \        P                  P                  V 4       R # R # R # rR   )r    r‹   rz   ÚcompilerÚis_exportingÚ_exportÚconfigÚ#detect_non_strict_fake_tensor_leaksÚfake_tensor_tlsr´   Úadd)rŠ   ra  rb  r¡   s   &*,€rN   r‹   ÚFakeTensor.__init__E  sV   ø€ Ü‰ÑÔä�N‰N×'Ñ'×)Ò)Ü—‘×$Ñ$×H×HÐHä×AÑA×EÑEÀdÖKñ Iñ *rP   c               ó$   € V ^8„  d   QhRRRRRR/# )rG   r  r   rÌ   rÍ   rJ   rì   rL   )rM   s   "rN   rO   r  N  s!   € ÷ (ñ (�vð (¨.ð (¸Zñ (rP   c                	ó$   € VP                  V 4      # rR   )Úfrom_tensor)r  rÌ   s   &&rN   rn  ÚFakeTensor.from_tensorM  s   € à×$Ñ$ QÓ'Ð'rP   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# ©rG   r™   r?   ÚtypesúSequence[type]ra  úSequence[object]rb  úMapping[str, object]rJ   rX   rL   )rM   s   "rN   rO   r  S  sC   € ÷ L)ñ L)àðL)ð ðL)ð ð	L)ð
 %ðL)ð 
ñL)rP   c                	ó€  € V\         P                  P                  P                  P                  J d…   \        V4      ^8w  g   \        V^ ,          \        4      '       g   \        R4      hV^ ,          P                  P                  '       d   \         P                  ! R4      # V^ ,          P                  # \        P                  V4      ;p'       d	   V! V4      # V Uu. uF)  p\        V\        4      '       d   K  V\        Jg   K'  VNK+  	  ppV'       d   \         P#                  RV4       \$        # Rp\&        P(                  ! V/ VB  F'  p	\        V	\        4      '       g   K  V	P                  p M	  Vf   \        R4      h\         P*                  P-                  \         P*                  P.                  P0                  4      p
V
'       d   \         P#                  RVV
4       \$        # VP                  '       d   \        R4      hV;_uu_ 4        V! V/ VB uuRRR4       # u upi   + '       g   i     R# ; i)r†   z@Expected exactly one FakeTensor argument for prim.device.defaultr»  z(FakeTensor unrecognized subclass(es): %sNz,Could not find a FakeTensor in the argumentsz(FakeTensor mode already active: %s in %sz,fake_mode.in_kernel_invocation must be False)rz   r(  Úprimrœ   r+  Úlenrë   rì   rø   rÌ   rÍ  r  Ú_DISPATCH_META_HANDLERSrj  Ú
issubclassr   Únot_implemented_logrä  r—  r4  Úarg_tree_leavesr{   Ú_get_dispatch_moderÅ   rÆ   )rW  r™   rr  ra  rb  Úhandlerr  Úunrecognized_typesrÌ   ÚargÚmaybe_cur_fake_modes   &&&&&      rN   Ú__torch_dispatch__ÚFakeTensor.__torch_dispatch__Q  sÒ  € ð ”5—9‘9—>‘>×(Ñ(×0Ñ0Ó0Ü�4‹y˜AŒ~¤Z°°Qµ¼×%DÒ%DÜ$ØVóð ð �A�w× Ñ ×5×5Ð5Ü—|’| FÓ+Ð+à˜A•w×*Ñ*Ð*ô .×1Ñ1°$Ó7Ð7ˆ7Ö7Ù˜4“=Ð ñ ó
Ù�!¤J¨q´*×$=ŒAÀ!Ì6À/�AˆA‘uð 	ð 
÷ Ü×%Ñ%Ø:Ð<Nôô "Ð!àˆ	Ü×)Ò)¨4Ð:°6Ô:ˆCÜ˜#œz×*Ô*ØŸM™M�	Ùñ ;ð
 ÒÜ Ð!OÓPÐPô $Ÿh™h×9Ñ9Ü�H‰H×*Ñ*×/Ñ/ó
Ð÷ Ü×%Ñ%Ø:ØØ#ôô
 "Ð!à×)×)Ð)Ü Ð!OÓPÐPçŠYÙ˜Ð( Ñ(÷ ŠYùòO
÷N �YˆYús   Ã H'Ã=H'Ä	H'ÈH,È,H=	c               ó$   € V ^8„  d   QhRRRRRR/# )rG   r™   r?   Ú	flat_argsrt  rJ   ztuple[torch.device, bool]rL   )rM   s   "rN   rO   r  ¢  s)   € ÷ r5ñ r5Øðr5Ø%5ðr5à	"ñr5rP   c           
     	óæ  a aaaaa	a
aa€ R oRpR o\        \        P                  P                  4      o\        \        P                  P
                  4      o\        \        P                  P                  4      oR R lo	R R lo
R V	3R lloR VVVV VV	V
VV3	R	 llpV F  pV! V4       K  	  \        S 4      '       d   Sf   R
p\        P                  ! R4      oSf   \        RS  24      hSV3# )NFc               ó    € V ^8„  d   QhRRRR/# ©rG   rœ   r›   rJ   rK   rL   )rM   s   "rN   rO   Ú4FakeTensor._find_common_device.<locals>.__annotate__¾  s   € ÷ 	(ñ 	( ,ð 	(°4ñ 	(rP   c                ó    € V P                   R 8H  # )r_  ©rö   rÂ  s   &rN   Úis_device_cpuÚ5FakeTensor._find_common_device.<locals>.is_device_cpu¾  s   € Ø—;‘; %Ñ'Ð'rP   c               ó    € V ^8„  d   QhRRRR/# rˆ  rL   )rM   s   "rN   rO   r‰  Á  s   € ÷ 	)ñ 	) <ð 	)°Dñ 	)rP   c                ó    € V P                   R 8H  # r1  r‹  rÂ  s   &rN   Úis_device_metaÚ6FakeTensor._find_common_device.<locals>.is_device_metaÁ  s   € Ø—;‘; &Ñ(Ð(rP   c               ó    € V ^8„  d   QhRRRR/# ©rG   r  r   rJ   rK   rL   )rM   s   "rN   rO   r‰  Ä  s   € ÷ 	<ñ 	<˜Fð 	< tñ 	<rP   c                ó^   <€ S! V P                   4      ;'       d    V P                  4       ^ 8H  # ©r   )rœ   r   )r  rŒ  s   &€rN   Úcpu_zero_dimÚ4FakeTensor._find_common_device.<locals>.cpu_zero_dimÄ  s$   ø€ Ù  §¡Ó*×;Ð;¨q¯u©u«w¸!©|Ð;rP   c               ó    € V ^8„  d   QhRRRR/# )rG   r  rX   rJ   r‚   rL   )rM   s   "rN   rO   r‰  Ç  s   € ÷ =	Oñ =	O˜Vð =	O¨ñ =	OrP   c                ó  <	€ \        V \        4      '       g   R # Sf   V P                  oS! V 4      o
R # S! V 4      pV P                  S8X  d   S
'       d   Vo
R # S	S9   pV'       d   V'       g   R # S
'       d   V'       g   V P                  oVo
R # S	S9   d*   \        \	        SSV P                  34      4      '       d   R # S	S9   d*   \        \	        SSV P                  34      4      '       d   R # \
        P                  P                  P                  pVeZ   VSP                  9   pW0P                  P                  9   pV'       g   V'       d   V P                  oVo
R # V'       d   V'       g   R # \        S	SV P                  4      hrR   )rë   rì   rœ   ÚanyÚmaprz   rü   rg  Úfake_tensor_prefer_device_typerö   r—   )r  Út_is_cpu_zero_dimÚ&is_bypass_zero_dim_cpu_tensor_check_opÚprefer_device_typeÚcommon_has_preferredÚt_has_preferredÚ$bypass_zero_dim_cpu_tensor_check_opsrš   r–  r™   Úis_cpu_zero_dimrŒ  r�  Úmeta_rhs_mixed_device_fnsÚmixed_device_fnss   &     €€€€€€€€€rN   Úmerge_devicesÚ5FakeTensor._find_common_device.<locals>.merge_devicesÇ  sI  ø€ ô ˜a¤×,Ò,ÙàÒ$Ø !§¡�Ù".¨q£/�Ùá ,¨Q£ÐØ�x‰x˜=Ô(ß"Ø&7�OÙð Ð<Ñ<ð 3÷ !×)OÙ÷ ×'MØ !§¡�Ø"3�Ùð Ð'Ô'Ü”s˜=¨=¸!¿(¹(Ð*CÓD×EÒEÙàÐ0Ô0Ü”s˜>¨M¸1¿8¹8Ð+DÓE×FÒFÙô "'×!1Ñ!1×!8Ñ!8×!WÑ!WÐØ!Ò-Ø'9¸]×=OÑ=OÑ'OÐ$Ø"4¿¹¿¹Ñ"E�ç+·à$%§H¡H�MØ&7�OÙß)·/áô 0°°mÀQÇXÁXÓNÐNrP   Tr_  z!Could not find common device for )rÁ   r)  Ú_foreach_copyr+  Úadd_r   Ú	nextafterrÜ  rz   rœ   rø   )r™   r…  Úhas_scalar_only_inputsr¦  r€  r¢  rš   r–  r£  rŒ  r�  r¤  r¥  s   f&   @@@@@@@@rN   Ú_find_common_deviceÚFakeTensor._find_common_device¡  sì   ÿø€ ð ˆØ!&ÐØˆô 'Ü×Ñ×&Ñ&ó
Ðô %0Ü�I‰I×Ñó%
Ð!ô
 0;Ü�N‰N×"Ñ"ó0
Ð,õ	(õ	)÷	<ð 	<÷=	O÷ =	Oð =	Oó~ ˆCÙ˜#Öñ ô +¨4×0Ò0°]Ò5Jà%)Ð"Ü!ŸLšL¨Ó/ˆMàÒ Ü Ð#DÀTÀFÐ!KÓLÐLàÐ4Ð4Ð4rP   Úcoeffc               ó    € V ^8„  d   QhRRRR/# )rG   r®  zint | torch.SymIntrJ   ztorch.SymIntrL   )rM   s   "rN   rO   r    s    € ÷ ,ñ ,ð "ð,ð 
ñ	,rP   c               	ó  € V P                   f"   V P                  P                  R R7      V n         \        V P                   \        P
                  4      '       g"   \        R\        V P                   4       24      hV P                   V,          # )N)Únt_tensor_idz1Expected nested_int_memo to be torch.SymInt, got )rU  rÌ   Úcreate_symbolic_nested_intrë   rz   r   rø   rö   )rŠ   r®  s   &$rN   Úget_nested_intÚFakeTensor.get_nested_int  s   € ð
 ×ÑÒ'Ø#'§>¡>×#LÑ#LØ!ð $Mó $ˆDÔ ô ˜$×.Ñ.´·±×=Ò=Ü ØCÄDÈ×I]ÑI]ÓD^ÐC_Ð`óð ð ×#Ñ# eÕ+Ð+rP   c               ó   € V ^8„  d   QhRR/# )rG   rJ   r   rL   )rM   s   "rN   rO   r  &  s   € ÷ 4ñ 4˜ñ 4rP   c                	ó  € V P                  4       ^ 8X  d   V P                  4       # V P                  4       ^8X  d    V  Uu. uF  qP                  4       NK  	  up# V  Uu. uF  qP                  4       NK  	  up# u upi u upi r•  )r   r¦  Útolist)rŠ   rù   s   & rN   r·  ÚFakeTensor.tolist&  sb   € Ø�8‰8‹:˜Œ?Ø—9‘9“;ÐØ�X‰X‹Z˜1Œ_Ù,0Ó1©D D—I‘I–K©DÑ1Ð1á.2Ó3©d d—K‘K–M©dÑ3Ð3ùò 2ùâ3s   ¿A9ÁA>)rh   r  rC  r  rH   r  rÌ   rª  rU  r  r¹  r  r  r  rR   )NNNNNNNrL   )&rj   rk   rl   rm   Ú__doc__rn   ræ  r  rª  r  r  rU  rz   r{   rÅ   rÆ   Ú	_mode_keyr¾  r’  r:  r,  rœ   Úsetterr  Ústaticmethodr;  r^  r‹   rn  Úclassmethodr3   r#   r‚  r¬  r³  r·  ro   r£   r¤   s   @rN   rì   rì   B  s  ø‡ ñð ÓØÓØÓØÓñ
 :QÓ9R€LÐ6ÓRÙ'Ó)€IÙ8OÓ8Q€KÐ5ÓQáÓ!ð ÐAó ñ .¸DÔA€Oð
  ÓØ.Ó.ð —‘×.Ñ.×3Ñ3€Iàô=ó ð=ð ô7ó ð7ñ

Kð $(÷	
Kð 
Kð ô$ó ð$ð ‡]�]ô"ó ð"ð ô!ó ð!ð ×Ñô@ó ð@ð$ ôó ðð ñ}ð ,0ð}ð 26ð}ð 37ð}ð &*ð}ð  ÷}ó ð}÷bLð Lð ô(ó ð(ð Ø
ð
 "$Ù'5Ó'7öL)ó ó ðL)ð\ ôr5ó ðr5ðh,ð %&÷,÷ 4ó 4rP   rì   r6   r7   T)Úslotsc                  óÒ   € ] tR tRt$ RtR]R&   R]R&   R]R&   R]R	&   R
]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R R ltR tR!# )"ÚTensorMetadatai2  zC
The Tensor metadata relevant to hashing FakeTensors when caching.
ztorch.dtyperž  ztuple[_MetadataIntLike, ...]ÚshapeÚstrider›   rœ   r   r:  ztorch.memory_format | NoneÚmemory_formatÚ_MetadataIntLikeÚstorage_offsetz_MetadataIntLike | NoneÚstorage_bytesrK   r›  r”  Úis_conjÚis_negr  r<  r²   Úis_coalescedú
int | NoneÚ	dense_dimÚ
sparse_dimc               ó(   € V ^8„  d   QhRRRRRRRR/# )	rG   Úresultúlist[object]r  rÍ   rF  r5   rJ   r‚   rL   )rM   s   "rN   rO   ÚTensorMetadata.__annotate__J  s2   € ÷ %ñ %àð%ð ð%ð ð	%ð
 
ñ%rP   c                	ó€  € \         P                  ! V 4       F£  p\        WP                  4      p\	        V\
        \        \        P                  34      '       d'   . pVP                  WW64       VP                  4        Ki  \	        V\        4      '       d   VP                  W4       K’  VP                  V4       K¥  	  R # rR   )ÚdataclassesÚfieldsrØ   rÚ  rë   Útupler`  rz   ÚSizeÚ_prep_args_for_hashÚclearr   Úconvert_sym_intrß   )rŠ   rÎ  r  rF  Úfieldr³  Úid_hashed_objectss   &&&&   rN   Ú_flatten_intoÚTensorMetadata._flatten_intoJ  sŠ   € ô !×'Ò'¨Ö-ˆEÜ˜D§*¡*Ó-ˆEÜ˜%¤%¬¬u¯z©zÐ!:×;Ò;ð 35Ð!Ø×(Ñ(¨¸ÔQØ!×'Ñ'Ö)Ü˜E¤6×*Ò*Ø×%Ñ% fÖ4à—‘˜eÖ$ó .rP   rL   N)rj   rk   rl   rm   r¹  rn   rÛ  ro   rL   rP   rN   rÀ  rÀ  2  sv   ‡ ñð ÓØ'Ó'Ø(Ó(ØÓØÓØ-Ó-Ø$Ó$Ø*Ó*ØÓØÓØƒMØƒLØÓØƒOØÓØÓØÓ÷%ñ %rP   rÀ  c               ó    € V ^8„  d   QhRRRR/# )rG   r  r   rJ   rÀ  rL   )rM   s   "rN   rO   rO   `  s   € ÷ (ñ (˜vð (¨.ñ (rP   c                ó  € V P                   p\        V 4      pV P                  '       g	   V'       d   RpM%\        V 4      pV P	                  VR7      '       g   RpV P                  4       p\        V P                  V P                  V\        P                  8X  d   V P                  4       MRV P                  TTTV'       g   V P                  4       P                  4       MRV P                  V P                   V P#                  4       V P%                  4       V P'                  4       V P(                  V P(                  '       d   V P+                  4       MRV'       d   V P-                  4       MRV'       d   V P/                  4       4      # R4      # )z)
Extract the TensorMetadata of a tensor.
N)rÃ  rL   )r:  r   Ú_has_symbolic_sizes_stridesr   Úis_contiguousrÅ  rÀ  rž  rÁ  rz   r;  rÂ  rœ   Úuntyped_storageÚnbytesr›  r”  rÇ  rÈ  r  r<  rÉ  rË  rÌ  )r  r:  Ú_is_sparse_anyrÃ  rÅ  s   &    rN   Úextract_tensor_metadatarä  `  s   € ð
 �X‰X€FÜ(¨Ó+€Nð 	×$×$Ð$¯Ø‰ä-¨aÓ0ˆØ�‰¨]ˆ×;Ò;Ø ˆMà×%Ñ%Ó'€NäØ	�‰Ø	�‰Ø¤§¡Ô-ˆ�‰Œ
°2Ø	�‰ØØØç,:ˆ×ÑÓ×"Ñ"Ô$ÀØ	�‰Ø	�‰Ø	�	‰	‹Ø	�‰‹
Ø	�‰ÓØ	�‰ØŸKŸK˜Kˆ�‰Ô¨Tß'ˆ�‰Œ¨Tß(ˆ�‰‹ó%ð ð$ /3ó%ð rP   c                  ó`   € ] tR tRt$ RtR]R&   R]R&   R R ltR	 R
 ltR R ltR R lt	Rt
R# )Ú_DispatchCacheKeyi‹  z(
Key for the FakeTensor dispatch cache.
útuple[object, ...]rÚ   ÚintÚ	hashvaluec               ó    € V ^8„  d   QhRRRR/# )rG   Útuprç  rJ   r‚   rL   )rM   s   "rN   rO   Ú_DispatchCacheKey.__annotate__”  s   € ÷ #ñ #Ð.ð #°4ñ #rP   c                	ó2   € Wn         \        V4      V n        R # rR   )rÚ   Úhashré  )rŠ   rë  s   &&rN   r‹   Ú_DispatchCacheKey.__init__”  s   € ØŒÜ˜c›ˆŽrP   c               ó    € V ^8„  d   QhRRRR/# )rG   ÚotherrX   rJ   rK   rL   )rM   s   "rN   rO   rì  ˜  s   € ÷ Nñ N˜Fð N tñ NrP   c                	ód   € \        V\        4      ;'       d    V P                  VP                  8H  # rR   )rë   ræ  rÚ   )rŠ   rñ  s   &&rN   Ú__eq__Ú_DispatchCacheKey.__eq__˜  s%   € Ü˜%Ô!2Ó3×MÐM¸¿¹ÀEÇIÁIÑ8MÐMrP   c               ó   € V ^8„  d   QhRR/# )rG   rJ   rè  rL   )rM   s   "rN   rO   rì  ›  s   € ÷ ñ ˜#ñ rP   c                	ó   € V P                   # rR   )ré  r‰   s   &rN   Ú__hash__Ú_DispatchCacheKey.__hash__›  s   € Ø�~‰~ÐrP   c               ó   € V ^8„  d   QhRR/# r�   rL   )rM   s   "rN   rO   rì  ž  s   € ÷ $ñ $ ñ $rP   c                	ó|   € V P                    F+  p\        V\        4      '       g   K  VP                  4        K-  	  R # rR   )rÚ   rë   r6   Ústrip_shape_env)rŠ   r  s   & rN   rû  Ú!_DispatchCacheKey.strip_shape_envž  s+   € ð —”ˆAÜ˜!œ_×-Ô-Ø×!Ñ!Ö#ó rP   )ré  rÚ   N)rj   rk   rl   rm   r¹  rn   r‹   ró  r÷  rû  ro   rL   rP   rN   ræ  ræ  ‹  s.   ‡ ñð 
ÓØƒNõ#õNõ÷$ñ $rP   ræ  c                  ó   € ] tR tRtRtR# )ÚSingletonConstanti¨  rL   N)rj   rk   rl   rm   ro   rL   rP   rN   rþ  rþ  ¨  s   † ÛrP   rþ  )Úfrozenr¾  c                  óH   € ] tR tRt$ RtR]R&   R]R&   R]R&   ]tR]R	&   R
tR# )Ú_DispatchCacheEntryOutputInfoi¬  a™  
Entry type for the FakeTensor dispatch cache for an output. Accounts for three
possibilities:
1) The op is inplace, and a hit means we need to alias the argument at a
   given index.
2) We need to synthesize a new FakeTensor given tensor metadata. For view
   ops, we further capture the index of the arg to alias.
3) if the tensor related fields are None, then it is a constant value (e.g.
None or integer)
rÊ  Úinplace_idxzTensorMetadata | NoneÚmetadataÚview_idxz
Any | NoneÚconstant_valuerL   N)	rj   rk   rl   rm   r¹  rn   rþ  r  ro   rL   rP   rN   r  r  ¬  s%   ‡ ñ	ð ÓØ#Ó#ØÓØ!2€N�J×2rP   r  c                  ó4   € ] tR tRt$ RtR]R&   RtR]R&   RtR	# )
Ú_DispatchCacheValidEntryi¿  z­
Entry type for the FakeTensor dispatch cache. It supports two types of outputs
1) tensor
2) tuple of tensors

is_output_tuple flag helps in differentiating the return type
z$tuple[_DispatchCacheEntryOutputInfo]Úoutput_infosFrK   Úis_output_tuplerL   N)rj   rk   rl   rm   r¹  rn   r	  ro   rL   rP   rN   r  r  ¿  s   ‡ ñð 7Ó6Ø!€O�T×!rP   r  c                  ó&   € ] tR tRt$ RtR]R&   RtR# )Ú_DispatchCacheBypassEntryiÍ  z(
Entry type for a negative cache entry.
rs   r”   rL   N©rj   rk   rl   rm   r¹  rn   ro   rL   rP   rN   r  r  Í  ó   ‡ ñð ‡KrP   r  c                  ó&   € ] tR tRt$ RtR]R&   RtR# )Ú_BypassDispatchCacheiÚ  z4
Signals cases that should skip FakeTensor caching.
rs   r”   rL   Nr  rL   rP   rN   r  r  Ú  r  rP   r  c                  óD   € ] tR tRt$ RtR]R&   R]R&   R]R&   R]R&   R	tR
# )ÚDispatchCacheInfoiã  z?
Information about the state of the FakeTensor dispatch cache.
rè  ÚhitsÚmissesúdict[str, int]ÚbypassesÚsizerL   Nr  rL   rP   rN   r  r  ã  s   ‡ ñð ƒIØƒKØÓØ
‡IrP   r  c                  ó  a € ] tR tRt$ / tR]R&   ^ tR]R&   ^ tR]R&   ]! ]	4      t
R]R&   ^ tR]R	&   R
tR]R&   R]R&   R]R&   R]R&   R]R&   RitR]R&   RitR]R&   RRRR
RRRRRR
/R V 3R llltR R ltR R lt]R  R! l4       t]R" R# l4       t]Rj]! 4       3R$ R% ll4       tR& V 3R' lltR( V 3R) llt]R* R+ l4       t]R, R- l4       t]R. R/ l4       tR0 R1 ltR2 R3 ltR4 R5 lt R6 R7 lt!R8 R9 lt"R: R; lt#R< R= lt$R> R? lt%R@ RA lt&RB RC lt'Rj]! 4       3RD RE llt(RF RG lt)RH RI lt*RJ RK lt+],! RLRMRNRORPRQRRRS4      t-RT RU lt.RV RW lt/RX RY lt0RZR/R[ R\ llt1],! ]2Pf                  Ph                  ]2Pj                  Pl                  ]2Pn                  Pl                  ]2Pp                  Pl                  ]2Pr                  Pl                  ]2Pt                  Pl                  ]2Pv                  Pl                  ]2Px                  Pl                  ]2Pz                  Pl                  ]2P|                  P~                  ]2P€                  Pl                  ]2P(                  Pl                  4      tA],! ]2P„                  Pl                  ]2P†                  Pl                  ]2Pˆ                  PŠ                  4      tFR] R^ ltG],! ]2P�                  Pl                  ]2P’                  Pl                  4      tJR_ R` ltKRa Rb ltLRRRcRRdRReR/Rf Rg lltMRhtNV ;tO# )krÍ   iø  ú,dict[_DispatchCacheKey, _DispatchCacheEntry]Úcacherè  Ú
cache_hitsÚcache_missesr  Úcache_bypassesr  FrK   rÍ  Ústatic_shapesry  rx  z
str | NoneÚ_stackrT  Únt_tensor_id_counterÚnt_tensor_id_initial_countÚallow_fallback_kernelsTÚallow_non_fake_inputsNrH  c               ó0   € V ^8„  d   QhRRRRRRRRRRR	R
/# )rG   r!  rK   r"  rx  ry  r  r²   rH  rJ   r‚   rL   )rM   s   "rN   rO   ÚFakeTensorMode.__annotate__  sX   € ÷ [Dñ [Dð !%ð[Dð  $ð	[Dð
 #ð[Dð #ð[Dð  ð![Dð" 
ñ#[DrP   c               	óØ  <€ \         P                  R \        V 4      4       \        SV `  4        Wn        ^ RIp^ RIpVP                  P                  P                  V n        \        V P                  VR7      V n        Ve   W@n        M	VRJ V n        RV n        VP                  P                  P                   V n        VP                  P                  P$                  V n        VP(                  P                  P*                  ;'       d    V P                  '       * V n        VP(                  P                  P.                  V n        W n        RV n        . V n        W0n        \:        P<                  ! 4       V n        RV n         VPB                  PD                  PF                  V n$        ^ RI%pVPL                  PN                  PP                  PR                  V n*        V PT                  V n+        R# )zcreate_mode 0x%xN)rI  rH  F),Úlogrä  Úidr    r‹   r!  Útorch._dynamo.configÚtorch._functorch.configrü   rg  Ú"fake_tensor_propagate_real_tensorsÚpropagate_real_tensorsr@  Úfake_tensor_converterr  Úallow_scalar_outputsÚ(fake_tensor_allow_unsafe_data_ptr_accessrQ  Úfake_tensor_allow_metarT  Ú_dynamoÚfake_tensor_cache_enabledrÐ   Ú$fake_tensor_cache_crosscheck_enabledÚcache_crosscheck_enabledr"  rÍ  Úenter_stackrx  Ú	tracebackÚextract_stackÚ_stack_tracer  r{   rÅ   rÆ   rº  Ú$torch.nested._internal.nested_tensorÚnestedÚ	_internalÚnested_tensorÚ_tensor_id_counterr   r  )rŠ   r!  r"  rx  r  rH  rz   r¡   s   &$$$$$ €rN   r‹   ÚFakeTensorMode.__init__  s   ø€ ô$ 	�	‰	Ð$¤b¨£hÔ/Ü‰ÑÔØ&<Ô#ã#Û&ð ×Ñ×#Ñ#×FÑFð 	Ô#ô &9Ø×1Ñ1Øô&
ˆÔ"ð
 Ò$Ø!.Õà!*¨dÐ!2ˆDÔð %*ˆÔ!ð ×Ñ×#Ñ#×LÑLð 	Ô*ð  ×*Ñ*×1Ñ1×HÑHˆŒà�M‰M× Ñ ×:Ñ:÷ 0ð 0Ø×/Ñ/Ô/ð 	Ôð
 �M‰M× Ñ ×EÑEð 	Ô%ð &;Ô"ð %*ˆÔ!ð VXˆÔà"Œä%×3Ò3Ó5ˆÔØˆŒð Ÿ™×7Ñ7×<Ñ<ˆŒã3ð �L‰L×"Ñ"×0Ñ0×CÑCð 	Ô'ð %)×$CÑ$CˆÖ!rP   c               ó   € V ^8„  d   QhRR/# r�   rL   )rM   s   "rN   rO   r$  m  s   € ÷ Dñ D¨Dñ DrP   c                	ó(   € V P                   V n        R # rR   )r   r  r‰   s   &rN   Úreset_nt_tensor_id_counterÚ)FakeTensorMode.reset_nt_tensor_id_counterm  s   € Ø$(×$CÑ$CˆÖ!rP   c               ó    € V ^8„  d   QhRRRR/# )rG   r  rX   rJ   zTypeGuard[FakeTensor]rL   )rM   s   "rN   rO   r$  |  s   € ÷ 
ñ 
˜Vð 
Ð(=ñ 
rP   c                	óN   € \        V\        4      ;'       d    VP                  V J # rR   )rë   rì   rÌ   ©rŠ   r  s   &&rN   Úis_our_fakeÚFakeTensorMode.is_our_fake|  s,   € äØ”:ó÷ $ð $ð —‘˜tÐ#ð		
rP   c               ó   € V ^8„  d   QhRR/# r  rL   )rM   s   "rN   rO   r$  Š  s   € ÷ 

ñ 

 4ñ 

rP   c                	óÔ  € \         P                  P                  4       '       dS   \         P                  P                  4       '       d   \	        R 4      h\         P                  P                  4       '       * # \         P                  P                  4       ;'       gI    \        \         R4      ;'       d'    \         P                  P                  4       ;'       g    \        4       '       * # )z&Cannot have both xpu and cuda compiledrv   )	rz   rw   Ú_is_compiledru   rø   Úis_availableÚhasattrrv   r!   r‰   s   &rN   Úavoid_device_initÚ FakeTensorMode.avoid_device_init‰  sŸ   € ä�9‰9×!Ñ!×#Ò#Ü�z‰z×&Ñ&×(Ò(Ü$Ð%MÓNÐNÜ—y‘y×-Ñ-Ó/Ô/Ð/ô �J‰J×#Ñ#Ó%÷ 3ð 3Üœ˜uÓ%×BÐB¬%¯)©)×*@Ñ*@Ó*B÷3ð 3ä0Ó2ô
ð 	
rP   c               ó   € V ^8„  d   QhRR/# )rG   rJ   rs   rL   )rM   s   "rN   rO   r$  —  s   € ÷ ñ �sñ rP   c                	óž   € V P                   f5   RP                  \        P                  ! V P                  4      4      V n         V P                   # )NÚ )r  Újoinr5  Úformat_listr7  r‰   s   &rN   ÚstackÚFakeTensorMode.stack–  s7   € à�;‰;ÒØŸ'™'¤)×"7Ò"7¸×8IÑ8IÓ"JÓKˆDŒKØ�{‰{ÐrP   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# rq  rL   )rM   s   "rN   rO   r$  ž  s<   € ÷ ñ àðð ðð ð	ð
 %ðð 
ñrP   c                	ó  € \         P                  P                  \         P                  P                  P                  4      e   \        RV 24      h V P                  WW44      #   \         d    \        P                  R4       h i ; i)Nz2FakeTensorMode should not be set when dispatching zfake tensor raised TypeError)
rz   r{   r}  rÅ   rÆ   rø   ÚdispatchrN  r&  Ú	exception)rŠ   r™   rr  ra  rb  s   &&&&&rN   r‚  Ú!FakeTensorMode.__torch_dispatch__œ  su   € ô �8‰8×&Ñ&¤u§x¡x×'EÑ'E×'JÑ'JÓKÒWÜ ØDÀTÀFÐKóð ð	Ø—=‘= ¨dÓ;Ð;øÜô 	Ü�M‰MÐ8Ô9Øð	ús   ÁA% Á%"Bc               ó   € V ^8„  d   QhRR/# )rG   rJ   r   rL   )rM   s   "rN   rO   r$  ±  s   € ÷ ñ ˜4ñ rP   c                	óò  <€ ^ RI pRpV P                  '       dP   VP                  P                  4       pVP                  P	                  R4       VP                  P                  4        VP                  P                  V P                  4      pWJd,   V P                  P                  RW234       \        SV `-  4       # VP                  P                  V 4       V P                  P                  RRV34       V # )r   NTF)r8  rL  r{   Ú_only_lift_cpu_tensorsÚ_set_only_lift_cpu_tensorsÚ_ensureCUDADeviceGuardSetrÄ   rº  r4  rß   r    Ú	__enter__rÇ   )rŠ   rz   Úprev_only_lift_cpu_tensorsÚmaybe_prev_fake_moder¡   s   &   €rN   r_  ÚFakeTensorMode.__enter__±  sÐ   ø€ Û3à%)Ð"Ø×!×!Ð!à).¯©×)HÑ)HÓ)JÐ&Ø�H‰H×/Ñ/°Ô5ð
 �H‰H×.Ñ.Ô0à$Ÿx™x×<Ñ<¸T¿^¹^ÓLÐØÓ+Ø×Ñ×#Ñ#ØÐ+ÐHôô ‘7Ñ$Ó&Ð&ð �H‰H×'Ñ'¨Ô-Ø×Ñ×#Ñ# U¨DÐ2LÐ$MÔNàˆrP   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rG   Úexc_typeztype[BaseException] | NoneÚexc_valzBaseException | NoneÚexc_tbzTracebackType | NonerJ   r‚   rL   )rM   s   "rN   rO   r$  Ì  s8   € ÷ Vñ Và,ðVð &ðVð %ð	Vð
 
ñVrP   c                	ó  <€ V P                   P                  4       w  rEpV'       d[   \        SV `  WV4       Ve    \        P
                  P                  V4       Ve"   \        P
                  P                  V4       R # R # R # rR   )r4  rÞ   r    Ú__exit__rz   r{   rÇ   r]  )rŠ   rd  re  rf  Úlivera  Ú maybe_prev_only_lift_cpu_tensorsr¡   s   &&&&   €rN   rh  ÚFakeTensorMode.__exit__Ì  st   ø€ ð ×Ñ× Ñ Ó"ñ 	GˆÐ%E÷ Ü‰GÑ˜X°Ô7ð $Ò/Ü—‘×+Ñ+Ð,@ÔAØ/Ò;Ü—‘×3Ñ3Ð4TÖUñ <ñ rP   c               ó   € V ^8„  d   QhRR/# r  rL   )rM   s   "rN   rO   r$  ß  s   € ÷ ñ ˜dñ rP   c                	ó   € R # r¾   rL   ©rW  s   &rN   Úis_infra_modeÚFakeTensorMode.is_infra_modeÞ  s   € árP   c               ó   € V ^8„  d   QhRR/# )rG   rJ   r  rL   )rM   s   "rN   rO   r$  ã  s   € ÷ 	
ñ 	
Ð,ñ 	
rP   c                ó²   € \        \        P                  \        P                  \	        \        P
                  4      \        \        P                  4      4      # )z(
Query the state of the dispatch cache.
)r  rÍ   r  r  r¿   r  rx  r  rn  s   &rN   Ú
cache_infoÚFakeTensorMode.cache_infoâ  s?   € ô
 !Ü×%Ñ%Ü×'Ñ'Ü”×.Ñ.Ó/Ü”×$Ñ$Ó%ó	
ð 	
rP   c               ó   € V ^8„  d   QhRR/# r�   rL   )rM   s   "rN   rO   r$  ï  s   € ÷ ñ ˜Dñ rP   c                óŠ   € ^ V n         ^ V n        V P                  P                  4        V P                  P                  4        R# )z
Clear the dispatch cache.
N)r  r  r  r×  r  rn  s   &rN   Úcache_clearÚFakeTensorMode.cache_clearî  s3   € ð
 ˆŒØˆÔØ×Ñ× Ñ Ô"Ø�	‰	�‰ÖrP   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# rq  rL   )rM   s   "rN   rO   r$  ø  sC   € ÷ ^ñ ^àð^ð ð^ð ð	^ð
 %ð^ð 
ñ^rP   c           	     óÚ  € RpRp \        V P                  4      pV P                  WQW44      pVf   V P                  WW44      # Vf   \        R4      hVP!                  4       '       d7   VP                  f   \        R4      hVP                  P"                  p\$        p	M\        P&                  p\(        p	VP+                  VR4      p
V
eË   \	        V
\,        4      '       d@   \        P                  V
P                  ;;,          ^,          uu&   V P                  WW44      # V P/                  WZWaV4      p\        ;P0                  ^,          un        V P2                  '       d2   \5        V 4      ;_uu_ 4        V P7                  W±W#V4       RRR4       V# V# V P                  WW44      p V P9                  WVWWK4      p
T	! Y†T
4       \        ;P:                  ^,          un        T#   \         d    p\	        T\
        P                  P                  4      '       d>   TP                  4       R8X  d)   \        P                  RT^,          TP                  4       \        P                  TP                  ;;,          ^,          uu&    Rp?ELZRp?ii ; i  + '       g   i     T# ; i  \         d½   p\	        T\
        P                  P                  4      '       d>   TP                  4       R8X  d)   \        P                  RT^,          TP                  4       \        P                  TP                  ;;,          ^,          uu&   T	! Y†\-        TP                  4      4       Tu Rp?# Rp?ii ; i)z†
Lookup a cache entry for the given arguments. If none exists, dispatch
and cache the result (if the result is eligible for caching).
NÚinvoke_subgraphz6Fake tensor cache failed: identifier = %s, reason = %sz1state must not be None after cache key generationz:state.shape_env must not be None when caching on shape_env)r5   rx  Ú
_cache_keyr  rë   rz   Ú_opsÚHigherOrderOperatorrÚ  Úhc_logrä  r”   rÍ   r  Ú_dispatch_implrø   Úcache_on_shape_envÚfake_tensor_cacheÚ_set_cache_key_for_shape_envr  Ú_set_cache_keyrj  r  Ú_output_from_cache_entryr  r3  rÒ   Ú_crosscheck_cache_outputÚ_make_cache_entryr  )rŠ   r™   rr  ra  rb  rF  rÚ   Úer  Úset_cache_keyÚentryÚoutputs   &&&&&       rN   Ú_cached_dispatch_implÚ$FakeTensorMode._cached_dispatch_implø  sÀ  € ð ˆØˆð	9Ü" 4§>¡>Ó2ˆEØ—/‘/ %¨tÓ<ˆCð Š;ð
 ×&Ñ& t°DÓAÐAàŠ=Ü Ð!TÓUÐUØ×#Ñ#×%Ò%Ø�‰Ò&Ü$ØPóð ð —O‘O×5Ñ5ˆEÜ8‰Mä"×(Ñ(ˆEÜ*ˆMØ—	‘	˜#˜tÓ$ˆàÒÜ˜%Ô!:×;Ò;ô ×-Ñ-¨e¯l©l×;¸qÕ@Ó;à×*Ñ*¨4¸ÓEÐEð ×2Ñ2°5ÀÈDÓQˆFÜ×%Ò%¨Õ*Õ%Ø×,×,Ð,ô /¨t×4Õ4Ø×1Ñ1°&ÀÈVÔT÷ 5àˆM�6ˆMð ×$Ñ$ T°$Ó?ˆð	Ø×*Ñ*¨5°tÀ6ÓRˆEñ$ 	�e %Ô(Ü×#Ò# qÕ(Õ#Øˆøô] $ô 	9ô ˜4¤§¡×!?Ñ!?×@Ò@Ø—I‘I“KÐ#4Ô4ä—‘ØLØ˜•GØ—H‘Hôô
 ×)Ñ)¨!¯(©(×3°qÕ8×3Ñ3ûð	9ú÷b 5Ö4àˆMûô $ô 	ô
 ˜4¤§¡×!?Ñ!?×@Ò@Ø—I‘I“KÐ#4Ô4ä—‘ØLØ˜•GØ—H‘Hôô
 ×)Ñ)¨!¯(©(×3°qÕ8Ó3Ù˜%Ô&?ÀÇÁÓ&IÔJØ�Mûð	úsC   †'G" Å4JÆ'J# Ç"JÇ-BJÊJÊJ 	Ê#M*Ê.B1M%ÍM*Í%M*c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )rG   rF  r5   r™   r?   ra  rt  rb  ru  rJ   ræ  rL   )rM   s   "rN   rO   r$  X  s<   € ÷ 5ñ 5àð5ð ð5ð ð	5ð
 %ð5ð 
ñ5rP   c           	     óÔ  € \         P                  P                  P                  P	                  4       RJpT\         P
                  ! 4       \         P                  P                  4       \         P                  ! 4       V P                  '       d   V P                  P                  MRV.pVP                  '       d   VP                  V P                  4       . pV'       d   V P                  WcW4       V'       d   V P                  WdW4       \        \!        V4      4      pV F4  p	\"        P$                  ! V	\&        P(                  ! \*        VR7      4       K6  	  VP-                  4        V# )zs
Create a cache key given the dispatch args. Raises _BypassDispatchCache
for any situation that precludes caching.
N©rÚ   )rz   ÚfxÚexperimentalÚproxy_tensorÚget_proxy_modeÚget_default_dtyper{   Ú_get_default_deviceÚis_inference_mode_enabledrx  ÚsettingsÚknown_symbolsrß   r  rÖ  ræ  rÔ  r¸   ÚfinalizeÚ	functoolsÚpartialÚevict_fake_tensor_cache_keyr×  )
rŠ   rF  r™   ra  rb  Ú
is_tracingÚ
key_valuesrÚ  rÚ   Úid_hashed_objs
   &&&&&     rN   r|  ÚFakeTensorMode._cache_keyX  s  € ô —X‘X×*Ñ*×7Ñ7×FÑFÓHÐPTÐTˆ
àô ×#Ò#Ó%ô �H‰H×(Ñ(Ó*ô ×+Ò+Ó-ð (,§~§~ ~ˆD�N‰N×#Ò#¸4ð ð%
ˆ
ð( ××Ðð ×Ñ˜dŸj™jÔ)à*,Ðçà×$Ñ$ Z°uÔPßà×$Ñ$ Z¸ÔRÜ¤ jÓ 1Ó2ˆã.ˆMÜ×ÒØœy×0Ò0Ô1LÐRUÔVöñ /ð 	×ÑÔ!Øˆ
rP   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rG   r™   r?   ra  rt  rb  ru  rJ   r‚   rL   )rM   s   "rN   rO   r$  �  s>   € ÷ JDñ JDàðJDð ðJDð %ð	JDð
 
ñJDrP   c                óÚ  € ^ RI Hp \        V\        P                  P
                  4      '       d	   W9   d   R# \        P                  P                  VP                  9   d   \        R4      h\        P                  P                  VP                  9   d©   V\        P                  P                  J d€   \        VVVRR7      w  rVVR,           F_  p\        V\        P                  4      '       g   K%  VP                  \        P                   \        P"                  39   g   KV  \        R4      h	  R# \        R4      h\        P                  P$                  VP                  9   d   \        R4      hV\        P&                  P(                  J d   \        R	4      hV\        P*                  P,                  P.                  P(                  J d   \        R
4      hWP0                  9   d   \        R4      hV\        P2                  P(                  J d   \        R4      hVP5                  4       R8X  d   \        R4      h\        P6                  P8                  P;                  V4      '       g   \        R4      hVP<                  '       dd   \        P>                  PA                  VP5                  4       \        P>                  PB                  PD                  4      '       d   \        R4      hR# R# )zI
Validate that the cache key generated by _cache_key will be
reasonable.
©Úregistered_hop_fake_fnsNzdata dependent outputT©ra  rb  Únormalize_to_only_use_kwargsÚindiceszdynamic output shapezinplace viewzunsafe viewzprims.as_stridedÚliftúmkldnn tensorzinductor::resize_storage_bytes_znon-builtinÚCompositeImplicitAutograd)#Útorch._higher_order_ops.utilsr¥  rë   rz   r}  r~  ÚTagÚdata_dependent_outputÚtagsr  Údynamic_output_shaper)  r?  r   r$   rž  rK   r¤  Úinplace_viewÚ_unsafe_viewr+  r(  ÚprimsÚ
as_stridedÚlift_fnsÚ	to_mkldnnrÚ  Ú_libraryÚutilsÚ
is_builtinÚis_viewr{   Ú%_dispatch_has_kernel_for_dispatch_keyÚDispatchKeyr«  )rŠ   r™   ra  rb  r¥  rå   Ú
new_kwargsr?  s   &&&&    rN   Ú_validate_cache_keyÚ"FakeTensorMode._validate_cache_key�  s  € õ 	Jô
 �tœUŸZ™Z×;Ñ;×<Ò<ØÔ/áô
 �9‰9×*Ñ*¨d¯i©iÔ7Ü&Ð'>Ó?Ð?ä�9‰9×)Ñ)¨T¯Y©YÔ6Ø”t—z‘z×(Ñ(Ó(Ü 2ØØØ!Ø15ô	!‘�ð (¨	×2Ð2�Eô " %¬¯©×6Ô6¸5¿;¹;ÜŸ
™
ÜŸ
™
ðKö <ô 3Ð3IÓJÐJñ 3ñ ä&Ð'=Ó>Ð>ä�9‰9×!Ñ! T§Y¡YÔ.Ü& ~Ó6Ð6à”4×$Ñ$×,Ñ,Ó,Ü& }Ó5Ð5à”5—9‘9—?‘?×-Ñ-×5Ñ5Ó5Ü&Ð'9Ó:Ð:à—=‘=Ô Ü& vÓ.Ð.à”4—>‘>×)Ñ)Ó)Ü& Ó7Ð7à�9‰9‹;Ð;Ô;Ü&Ð'HÓIÐIä�~‰~×#Ñ#×.Ñ.¨t×4Ò4Ü& }Ó5Ð5ð
 �<�<ˆ<œEŸH™H×JÑJØ�I‰I‹KœŸ™×-Ñ-×GÑG÷
ò 
ô 'Ð'BÓCÐCñ
‰<rP   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
rG   rÎ  rÏ  ra  z:Mapping[str, object] | Sequence[object] | Iterable[object]rF  r5   rÚ  rJ   r‚   rL   )rM   s   "rN   rO   r$  Û  sD   € ÷ C#ñ C#àðC#ð IðC#ð ð	C#ð
 (ðC#ð 
ñC#rP   c                ó8  € ^ RI Hp ^ RIHp \	        V\
        \        \        34      '       d8   VP                  \        V4      4       VP                  R\        V4       24       \	        V\        4      '       dC   V P                  WP                  4       W44       V P                  WP                  4       W44       R# V EFÖ  p\	        V\        4      '       d¡   V P                  V4      '       g   \!        R4      hVP"                  e   \!        R4      h\%        V4      '       d   \!        VP&                   R24      hVP(                  '       d   \!        R4      h\+        V4      pVP-                  WV4       Kº  \	        V\.        4      '       d   \!        R	4      h\	        V\0        4      '       d   VP3                  W4       EK  \	        V\4        \6        34      '       d   \!        R
4      h\	        V\
        \        \        34      '       d   V P                  WW44       EKb  \	        V\8        P:                  4      '       d   \!        R4      h\	        V\<        P>                  P@                  4      '       dI   VP                  \        V4      4       VP                  \C        V4      4       VP                  V4       EKÿ  \	        Wv4      '       d9   VP                  \E        V4      4       VP                  VPF                  4       EKH  \	        Wu4      '       dS   VP                  \        V4      4       VP                  \E        V4      4       VP                  VPH                  4       EK«  VP                  \        V4      4       VP                  V4       EKÙ  	  R# )a  
Translate the provided args into a form suitable for caching at FakeTensor
dispatch, i.e., convert unhashable types like lists & dicts into tuples and
convert FakeTensors into metadata. Raises _BypassDispatchCache to signal
unsupported cases that should bypass caching.
)ÚFunctionalCallableWithEpilogue)ÚSubgraphCallableWrapperÚlength_Nznot our fakeúconstant attributez tensorrª  znon-fake tensorzsymbolic shapezfunction argument)%Ú*torch._higher_order_ops.auto_functionalizerÂ  r¬  rÃ  rë   r`  rÔ  r¿   rß   rö   rx  rÖ  ÚkeysÚvaluesrì   rE  r  r  r   r:  r’  rä  rÛ  r   r   rØ  r   r   rr  ÚFunctionTyperz   r‘  ÚGraphModuler'  rî  ÚsubgraphÚorig_callable)	rŠ   rÎ  ra  rF  rÚ  rÂ  rÃ  r€  r  s	   &&&&&    rN   rÖ  Ú"FakeTensorMode._prep_args_for_hashÛ  sƒ  € õ	
õ 	Jä�dœT¤5¬$Ð/×0Ò0Ø�M‰Mœ$˜t›*Ô%Ø�M‰M˜G¤C¨£I ;Ð/Ô0ä�dœD×!Ò!Ø×$Ñ$ V¯Y©Y«[¸%ÔSØ×$Ñ$ V¯[©[«]¸EÔUÙäˆCÜ˜#œz×*Ò*Ø×'Ñ'¨×,Ò,Ü.¨~Ó>Ð>Ø—<‘<Ò+Ü.Ð/CÓDÐDÜ  ×%Ò%Ü.°#·*±*°¸WÐ/EÓFÐFØ—=—=�=Ü.¨Ó?Ð?Ü2°3Ó7�Ø×&Ñ& v°UÖ;Ü˜C¤×(Ò(Ü*Ð+<Ó=Ð=Ü˜C¤×(Ò(Ø×%Ñ% f×2Ü˜C¤'¬8Ð!4×5Ò5Ü*Ð+;Ó<Ð<Ü˜C¤$¬¬tÐ!4×5Ò5Ø×(Ñ(¨°e×OÜ˜C¤×!3Ñ!3×4Ò4Ü*Ð+>Ó?Ð?Ü˜C¤§¡×!5Ñ!5×6Ò6ð —‘œd 3›iÔ(Ø—‘œb ›gÔ&Ø!×(Ñ(¨×-Ü˜C×9Ò9Ø—‘œd 3›iÔ(Ø!×(Ñ(¨¯©×6Ü˜C×@Ò@Ø—‘œd 3›iÔ(Ø—‘œd 3›iÔ(Ø!×(Ñ(¨×):Ñ):×;ð
 —‘œd 3›iÔ(Ø—‘˜c×"óQ rP   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )rG   rF  r5   rÚ   ræ  r™   r?   ra  rt  rb  ru  r‹  rf  rJ   r‚   rL   )rM   s   "rN   rO   r$     sY   € ÷ (Cñ (Càð(Cð ð(Cð ð	(Cð
 ð(Cð %ð(Cð "ð(Cð 
ñ(CrP   c                	ó¾  € \        V\        \        R 4      34      '       d   R # \        W4       \        V\        4      '       g   \        R4      hVP                  e   \        R4      hVP                  '       d   \        R4      h\        V4      '       d   \        R4      hVP                  4        F'  p\        V4      \        V4      8X  g   K  \        R4      h	  R # )Nznon-FakeTensor outputrÅ  zsparse outputzsparse compressed outputzkwarg aliases output)rë   rè  rö   Ú%_validate_symbolic_output_for_cachingrì   r  r  r<  r   rÈ  r'  )rŠ   rF  rÚ   r™   ra  rb  r‹  Úkvals   &&&&&&& rN   Ú _validate_output_for_cache_entryÚ/FakeTensorMode._validate_output_for_cache_entry   s¸   € ô �fœs¤D¨£JÐ/×0Ò0Ùô 	.¨eÔ<ô ˜&¤*×-Ò-Ü&Ð'>Ó?Ð?ð �?‰?Ò&Ü&Ð';Ó<Ð<ð ××ÐÜ& Ó7Ð7ä ×'Ò'Ü&Ð'AÓBÐBð —M‘M–OˆDÜ�$‹xœ2˜f›:Ö%Ü*Ð+AÓBÐBó $rP   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )rG   rF  r5   rÚ   ræ  r™   r?   ra  rt  rb  ru  r‹  rì   rJ   r  rL   )rM   s   "rN   rO   r$  J  sY   € ÷ Kñ KàðKð ðKð ð	Kð
 ðKð %ðKð ðKð 
'ñKrP   c                	óŠ  a€ \        V\        \        P                  \	        R 4      34      '       d   \        R R R VR7      # \        \        V4      4       F2  p\        WG,          4      \        V4      8X  g   K$  \        VR R R7      u # 	  R p\        V\        P                  P                  4      '       dy   VP                  '       dg   \        V4       U	U
u. uF  w  rš\        V
\        4      '       g   K  V	NK!  	  pp	p
\        V4      ^8w  d   \        R\        V4       24      hV^ ,          p\        V4      p\         ;QJ d!    . V3R lVP"                   4       F  NK  	  5M! V3R lVP"                   4       4      Vn        \         ;QJ d!    . V3R lVP$                   4       F  NK  	  5M! V3R lVP$                   4       4      Vn        SP'                  VP(                  4      Vn        VP*                  f   R MSP'                  VP*                  4      Tn        \        R VVR7      p\-        V3RR7      p^ RIHp  V P3                  SWâW44      p\        P6                  P9                  T4      p\        P6                  P9                  T4      pTT8w  d   \5        R
4      hT# u up
p	i   T d    \5        R	4      R hi ; i)N©r  r  r  r  )r  r  r  z1Expected exactly one tensor arg for view op, got c              3  óF   <"  € T F  pSP                  V4      x € K  	  R # 5irR   ©Úconvert_output©rÙ   r  rF  s   & €rN   rÜ   ÚBFakeTensorMode._get_output_info_for_cache_entry.<locals>.<genexpr>j  s   øé € ÐOÁ¸1˜u×3Ñ3°A×6Ð6Ãùó   ƒ!c              3  óF   <"  € T F  pSP                  V4      x € K  	  R # 5irR   rØ  rÚ  s   & €rN   rÜ   rÛ  k  s   øé € ÐQÁ¸A × 4Ñ 4°Q× 7Ð 7ÃùrÜ  F©r  r	  )ÚGuardOnDataDependentSymNodezdata dependent symnodezdispatch_key_set mismatch)rë   rè  rz   r   rö   r  Úrangerx  r'  r}  r?   rº  Ú	enumerater   rø   rä  rÔ  rÁ  rÂ  rÙ  rÅ  rÆ  r  r�  rß  r…  r  r{   Ú_dispatch_key_set)rŠ   rF  rÚ   r™   ra  rb  r‹  Úidxr  Úir  Úidxsr  rŠ  Úentry_for_synth_outputrß  Úsynth_outputÚsynth_key_setÚkey_sets   &f&&&&&            rN   Ú _get_output_info_for_cache_entryÚ/FakeTensorMode._get_output_info_for_cache_entryJ  sK  ø€ ô �fœs¤E§L¡L´$°t³*Ð=×>Ò>Ü0Ø ¨4¸$Èvôð ô
 œ˜T›Ö#ˆCÜ�$•)‹}¤ 6£
Ö*Ü4Ø #¨d¸Tôò ñ $ð ˆÜ�dœEŸJ™J×1Ñ1×2Ò2°t·|·|°|Ü"+¨D¤/ÔK¡/™$˜!´ZÀÄ6×5J—A�A¡/ˆDÑKÜ�4‹y˜AŒ~Ü$ØGÌÈDË	À{ÐSóð ð ˜A•wˆHä*¨6Ó2ˆßœÔOÀÇÂÓOŸ™ÔOÀÇÂÓOÓOˆŒßœ%ÔQÀÇÂÓQŸ%™%ÔQÀÇÂÓQÓQˆŒØ"'×"6Ñ"6°x×7NÑ7NÓ"OˆÔð ×%Ñ%Ò-ñ à×%Ñ% h×&<Ñ&<Ó=ð 	Ôô .ØØØô
ˆô ":Ø˜°5ô"
Ðõ 	Vð		KØ×8Ñ8ØÐ-°DóˆLô Ÿ™×2Ñ2°<Ó@ˆÜ—(‘(×,Ñ,¨VÓ4ˆØ˜GÔ#Ü&Ð'BÓCÐCàˆùóg LøðJ +ô 	Kô
 'Ð'?Ó@ÀdÐJð	Kús   ÃJ(Ã6J(ÉJ. Ê.Kc               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )rG   rF  r5   rÚ   ræ  r™   r?   ra  rt  rb  ru  r‹  rf  rJ   r  rL   )rM   s   "rN   rO   r$  —  sY   € ÷ iñ iàðið ðið ð	ið
 ðið %ðið "ðið 
"ñirP   c                óÀ  a€ ^ RI HpHp ^ RIHo V P                  W4V4       \        V\        P                  P                  4      '       d‚   W89   d|   \        V\        4      '       d   TMV3p	\        ;QJ d    V3R lV	 4       F  '       g   K   RM	  RM! V3R lV	 4       4      ;'       g    W79   p
V
'       d   \        RV RV R24      h\        V\        \        P                  \        R	4      34      '       d   \!        R	R	R	VR
7      p\#        V3RR7      # \        V\        4      '       d!   V F  pV P%                  VVVVVV4       K  	  MV P%                  VVVVVV4       \        V\        4      '       d<   V Uu. uF  pV P'                  VVVVVV4      NK  	  pp\#        \        V4      RR7      # V P'                  VVVVVV4      p\#        V3RR7      # u upi )z˜
Make a cache entry object for the given 'output' Tensor. Raises
_BypassDispatchCache if the output tensor has characteristics that
prevent caching it.
)Úhops_that_skip_faketensor_cacher¥  )Úhas_free_unbacked_symbolsc              3  ó˜   <"  € T F?  p\        V\        P                  \        P                  34      ;'       d	    S! V4      x € KA  	  R # 5irR   )rë   rz   r   r   )rÙ   Úorï  s   & €rN   rÜ   Ú3FakeTensorMode._make_cache_entry.<locals>.<genexpr>º  sE   øé € ð ñ "˜ô ˜q¤5§<¡<´·±Ð">Ó?÷ 5ð 5Ù1°!Ó4ô5ã!ùs
   ƒ5A
¹A
TFzunbacked symbol in HOP z output                     or z# in hops_that_skip_faketensor_cacheNrÖ  rÞ  )r¬  rî  r¥  r�  rï  r¾  rë   rz   r}  r~  rÔ  rš  r  rè  r   rö   r  r  rÒ  rê  )rŠ   rF  rÚ   r™   ra  rb  r‹  rî  r¥  ÚoutsÚnon_cacheableÚoutput_infoÚout_elementÚout_elemr  rï  s   &&&&&&&        @rN   r‡  Ú FakeTensorMode._make_cache_entry—  s  ø€ ÷	
õ 	Tà× Ñ  ¨VÔ4ô �tœUŸZ™Z×;Ñ;×<Ò<ØÔ/ä'¨´×6Ò6‘6¸V¸IˆDç“ô ñ "ó——’ô ñ "óó ÷ ;ð ;ð
 Ñ:ð ÷ Ü*Ø-¨d¨Vð 4Ø�vÐ@ðBóð ô
 �fœs¤E§L¡L´$°t³*Ð=×>Ò>Ü7Ø ¨4¸$ÈvôˆKô ,Ø)˜^¸Uôð ô �fœe×$Ò$Û%�Ø×5Ñ5ØØØØØØöò  &ð ×1Ñ1ØØØØØØôô �fœe×$Ò$ñ !'ó
ñ !'�Hð ×5Ñ5ØØØØØØöñ !'ð ð 
ô ,ä" <Ó0Ø $ôð ð ×?Ñ?ØØØØØØóˆKô ,Ø)˜^¸Uôð ùò5
s   Æ Gc               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )rG   rF  r5   rŠ  r  rÚ   ræ  r™   r?   ra  rt  rJ   rf  rL   )rM   s   "rN   rO   r$  	  sN   € ÷ Q8ñ Q8àðQ8ð -ðQ8ð ð	Q8ð
 ðQ8ð ðQ8ð 
ñQ8rP   c                	ó¬  aaa€ VP                   fH   VP                  f:   VP                  f,   VP                  \        J d   \        R4      hVP                  # VP                   e6   WRP                   ,          p\        V\        4      '       g   \        R4      hV# VP                  pVf   R # \        V4      '       d   \        R4      hR V3R llo\        ;QJ d"    . VV3R lVP                   4       F  NK  	  5M! VV3R lVP                   4       4      p\        ;QJ d"    . VV3R lVP                   4       F  NK  	  5M! VV3R lVP                   4       4      p	S! VP                  S4      p
VP                  e   S! VP                  S4       \        P                  pV P                   e   V P                   P"                  p\%        V 4      ;_uu_ 4        V! 4       ;_uu_ 4        \&        P(                  ! VV	VP*                  VP,                  RVP.                  R	7      pR R R 4       R R R 4       VP0                  '       d!   \&        P2                  P5                  XR
4       VP6                  '       d!   \&        P2                  P9                  XR
4       \        V\&        P:                  P<                  4      '       d«   VP>                  '       d™   V\A        \B        VP                  4      ,          p\        V\        4      '       g   \        R4      hVPE                  4       p\%        V 4      ;_uu_ 4        V! 4       ;_uu_ 4        XPG                  WêW‰4       R R R 4       R R R 4       \        V XVPH                  4      #   + '       g   i     ELh; i  + '       g   i     ELt; i  + '       g   i     LW; i  + '       g   i     Lb; i)Nz2entry.constant_value must not be SingletonConstantz inplace_arg must be a FakeTensorz)Sparse tensors are not supported in cachec               ó$   € V ^8„  d   QhRRRRRR/# )rG   r³  rÄ  rF  r5   rJ   r'   rL   )rM   s   "rN   rO   ÚHFakeTensorMode._get_output_tensor_from_cache_entry.<locals>.__annotate__#	  s"   € ÷ 
	ñ 
	Ð/ð 
	¸ð 
	È;ñ 
	rP   c                óà   <€ \        V \        4      '       d6   VP                  f   \        R4      hV P	                  SVP                  4      # \        V \
        4      '       d   \        R4      hV # )Nz6state.shape_env must not be None for _SymIntOutputStubz Unexpected _PySymInputStub value)rë   r7   rx  rø   rV  r6   )r³  rF  rÚ   s   &&€rN   Úcheck_valueÚGFakeTensorMode._get_output_tensor_from_cache_entry.<locals>.check_value#	  s`   ø€ Ü˜%Ô!2×3Ò3Ø—?‘?Ò*Ü(ØPóð ð —}‘} S¨%¯/©/Ó:Ð:ä˜e¤_×5Ò5Ü(Ð)KÓLÐLØ�rP   c              3  ó6   <"  € T F  pS! VS4      x € K  	  R # 5irR   rL   ©rÙ   r  rþ  rF  s   & €€rN   rÜ   ÚEFakeTensorMode._get_output_tensor_from_cache_entry.<locals>.<genexpr>/	  s   øé € ÐD±^°‘k ! U×+Ð+³^ùó   ƒc              3  ó6   <"  € T F  pS! VS4      x € K  	  R # 5irR   rL   r  s   & €€rN   rÜ   r  0	  s   øé € ÐF±o°‘{ 1 e×,Ð,³oùr  r»  )rž  r:  rœ   r›  Tzview_arg must be a FakeTensor)%r  r  r  r  rþ  rø   rë   rì   r   rÔ  rÁ  rÂ  rÅ  rÆ  Ú
contextlibÚnullcontextrx  Úsuppress_guardsrÔ  rz   Úempty_stridedrž  r:  r›  rÇ  r{   Ú	_set_conjrÈ  Ú_set_negr}  r?   rº  r   rè  rá  Úset_rœ   )rŠ   rF  rŠ  rÚ   r™   ra  Úinplace_argr  rÁ  rÂ  rÅ  Úmaybe_suppressrÇ  Úview_argÚstoragerþ  s   &f&f&&         @rN   Ú#_get_output_tensor_from_cache_entryÚ2FakeTensorMode._get_output_tensor_from_cache_entry	  s´  ú€ ð ×ÑÒ%Ø—‘Ò&Ø—‘Ò&à×#Ñ#Ô'8Ó8Ü$ØHóð ð ×'Ñ'Ð'Ø×ÑÒ(à×0Ñ0Õ1ˆKÜ˜k¬:×6Ò6Ü$Ð%GÓHÐHØÐð —>‘>ˆØÒÙä˜×"Ò"Ü Ð!LÓMÐM÷
	ð 
	÷ ”ÕD°X·^²^ÓD—‘ÕD°X·^²^ÓDÓDˆß”ÕF°h·o²oÓF—‘ÕF°h·o²oÓFÓFˆÙ$ X×%<Ñ%<¸eÓDˆØ×!Ñ!Ò-Ù˜×.Ñ.°Ô6ô ×"Ñ"ð 	ð �>‰>Ò%Ø!Ÿ^™^×;Ñ;ˆNä)¨$×/Õ/±×1AÕ1AÜ×'Ò'ØØØ—n‘nØ—‘ØØ&×4Ñ4ôˆE÷ 2B×/ð ××ÐÜ�H‰H×Ñ˜u dÔ+Ø�?�?ˆ?Ü�H‰H×Ñ˜e TÔ*ä�dœEŸJ™J×1Ñ1×2Ò2°t·|·|°|àœD¤ e§n¡nÓ5Õ6ˆHÜ˜h¬
×3Ò3Ü$Ð%DÓEÐEØ×.Ñ.Ó0ˆGÜ-¨d×3Õ3±^×5EÕ5EØ—
‘
˜7°EÔB÷ 6F×3ô ˜$  x§¡Ó7Ð7÷1 2B×1AÐ1Aú×/×/Ð/ú÷* 6F×5Eú×3×3úsH   ÇNÇ.;N	È)NÌ>OÍN0	Í!OÎNÎ	NÎN-	Î0O Î;OÏO	c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )rG   rF  r5   rŠ  r  rÚ   ræ  r™   r?   ra  rt  rJ   ú1FakeTensor | None | tuple[FakeTensor | None, ...]rL   )rM   s   "rN   rO   r$  U	  sF   € ÷ ñ àðð (ðð ð	ð
 ðð ðð 
;ñrP   c           
     óæ   € VP                   '       d8   VP                   Uu. uF  pV P                  WW4V4      NK  	  pp\        V4      # V P                  WP                  ^ ,          W4V4      # u upi )z/
Create a new FakeTensor from the cache entry.
)r	  r  r  rÔ  )rŠ   rF  rŠ  rÚ   r™   ra  rõ  Úoutputss   &&&&&&  rN   r…  Ú'FakeTensorMode._output_from_cache_entryU	  s„   € ð × × Ð ð
 $)×#5Ò#5ó	ñ $6�Kð ×8Ñ8Ø¨°4öñ $6ð	 ð ô ˜“>Ð!à×;Ñ;Ø×)Ñ)¨!Õ,¨c¸óð ùòs   ¡A.c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )rG   r‹  r  r™   r?   rr  rs  ra  rt  rb  ru  rJ   r‚   rL   )rM   s   "rN   rO   r$  n	  sF   € ÷ 2ñ 2àAð2ð ð2ð ð	2ð
 ð2ð %ð2ð 
ñ2rP   c                óø   a€ R V3R llo V P                  W#WE4      p S! Ya4       R#   \         d   p\        RT RT RT RT 24      ThRp?ii ; i  \         d   p\        RT RT RT 24      ThRp?ii ; i)zn
Helper to validate that the output synthesized from the cache matches
the output created by normal dispatch.
c               ó$   € V ^8„  d   QhRRRRRR/# )rG   Úar   ÚbrJ   r‚   rL   )rM   s   "rN   rO   Ú=FakeTensorMode._crosscheck_cache_output.<locals>.__annotate__{	  s&   € ÷ 	Bñ 	B˜Sð 	B Sð 	B¨Tñ 	BrP   c                ó®  <€ \        V \        4      '       dˆ   \        V\        4      '       g   \        R \        V4       24      h\	        V 4      \	        V4      8w  d$   \        R\	        V 4       R\	        V4       24      h\        W4       F  w  r#S! W#4       K  	  R# \        V \        4      '       d0   \        V\        4      '       d   W8w  d   \        RV  RV 24      hR# V f   Ve   \        RV 24      hR# \        V \        4      '       dF   \        V 4      \        V4      Jg   V P                  VP                  Jd   \        RV  RV 24      hR# \        V \        P                  4      '       dJ   \        V\        P                  4      '       g   \        R\        V4       24      h\        \        W4       R# \        R\        V 4       24      h)	zExpected tuple, got zTuple length mismatch: z != zInt mismatch: NzExpected None, got zSymType mismatch: úExpected Tensor, got zUnsupported type )rë   rÔ  rø   rö   rx  Úziprè  r(   r  rz   r   r   r   ÚRuntimeError)r  r  Úlr  Úassert_helpers   &&  €rN   r"  Ú>FakeTensorMode._crosscheck_cache_output.<locals>.assert_helper{	  s€  ø€ Ü˜!œU×#Ò#Ü! !¤U×+Ò+Ü(Ð+?ÄÀQÃ¸yÐ)IÓJÐJÜ�q“6œS ›VÔ#Ü(Ð+BÄ3ÀqÃ6À(È$ÌsÐSTËvÈhÐ)WÓXÐXÜ žI‘D�AÙ! !Ö'ó &ä˜Aœs×#Ò#Ü! !¤S×)Ò)¨Q¬VÜ(¨>¸!¸¸DÀÀÐ)DÓEÐEñ .4à’Ø’=Ü(Ð+>¸q¸cÐ)BÓCÐCñ !ä˜Aœ|×,Ò,Ü˜“7¤$ q£'Ó)¨Q¯V©V¸1¿6¹6Ó-AÜ(Ð+=¸a¸SÀÀQÀCÐ)HÓIÐIñ .Bä˜AœuŸ|™|×,Ò,Ü! !¤U§\¡\×2Ò2Ü(Ð+@ÄÀaÃÀ	Ð)JÓKÐKÜ"¤9¨aÖ3ä"Ð%6´t¸A³w°iÐ#@ÓAÐArP   z*FakeTensor cache crosscheck failure: func=z, args=z	, kwargs=z: Dispatch raised=N)r€  Ú	Exceptionr   )	rŠ   r‹  r™   rr  ra  rb  Útrue_outputrˆ  r"  s	   &&&&&&  @rN   r†  Ú'FakeTensorMode._crosscheck_cache_outputn	  s¼   ø€ ÷	Bð 	Bð0	Ø×-Ñ-¨d¸4ÓHˆKð	Ù˜+Ö.øô ô 	ÜØ<¸T¸Fð CØ�v˜Y v hÐ.@ÀÀðEóð ðûð	ûô ô 	ÜØ<¸T¸Fð CØ�v˜Y v hð0óð ðûð	ús+   Œ) ŸA ©A´AÁAÁA9ÁA4Á4A9c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# rq  rL   )rM   s   "rN   rO   r$  ¢	  sC   € ÷ Bñ BàðBð ðBð ð	Bð
 %ðBð 
ñBrP   c                	óz  € T;'       g    / p\        4       ;_uu_ 4        \        P                  R WV4       RRR4       V\        9   d   \        V,          ! V4      # \        P	                  4       \
        P                  8:  d-   \        P                  RR\        ,          V4       \        4       pV\        9   d'   \        V 4      ;_uu_ 4        V! V/ VB uuRRR4       # V P                  '       d   V P                  WW44      # V P                  WW44      #   + '       g   i     Lè; i  + '       g   i     LY; i)z%s %s %sNz'%sFakeTensorMode.__torch_dispatch__: %sÚ )r)   r&  rä  ry  ÚgetEffectiveLevelÚloggingÚDEBUGrˆ   r   Ú_DISPATCH_HANDLE_DIRECTLYrÔ  rÐ   rŒ  r€  )rŠ   r™   rr  ra  rb  Úincrs   &&&&& rN   rW  ÚFakeTensorMode.dispatch¢	  sî   € ð —�˜2ˆÜ�]�]Ü�I‰I�j $¨fÔ5÷ ð Ô*Ô*Ü*¨4Ö0°Ó6Ð6ä× Ñ Ó"¤g§m¡mÔ3Ü�I‰IØ9¸3ÄÕ;PÐRVôô +Ó,ˆDð Ô,Ô,ä-¨d×3Õ3Ù˜TÐ, VÑ,÷ 4Ò3ð ××ÐØ×-Ñ-¨d¸4ÓHÐHà×&Ñ& t°DÓAÐA÷/ �]ú÷" 4×3ús   ŸDÃD*ÄD'	Ä*D:	c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
rG   r™   r?   Úpathr-   r  rX   ÚrealrJ   ztuple[object | None, bool]rL   )rM   s   "rN   rO   r$  Ã	  s;   € ÷ oñ oØðoØ&-ðoØ5;ðoØCIðoà	#ñorP   c                ó°  a aaaa
a€ ^ RI o^ RIHp R V V3R llp\        S\        P
                  4      '       d[    V! SSRRRRRR7       \        \        SP                  4       SP                  4       4      4       F  w  pw  r‰ T! Y‰4       K  	  SR3# Sfq   Sem   \        P                  P                  P                  '       d#   \        R	VVV3R lR7       \        S SS4      R3# \        RS RS R\        V4       RS 24      h V! SS4       SR3#   \         dw   o
\        P                  P                  P                  '       d'   \        R	T
T3R
 lR7       \        S SS4      R3u Ro
>
# \        RS RS R\        T4       RS 24      S
hRo
>
ii ; i  \         d|   o
\        P                  P                  P                  '       d)   \        R	T
T3R lR7       \        S SS4      R3u Ro
>
u # \        RT RT	 R\        T4       RT RS 2
4      S
hRo
>
ii ; i  \         d'   o
\        RS RS R\        T4       RS 24      S
hRo
>
ii ; i)z®
Helper to cross-check fake/real output properties & values,
and create new fake vals if mismatched.
Returns tuple of object & boolean, for whether or not it was overwrriten
N)Ú_check_fake_real_tensorsc               ó$   € V ^8„  d   QhRRRRRR/# )rG   r  r   r2  rJ   r‚   rL   )rM   s   "rN   rO   Ú6FakeTensorMode._maybe_infer_fake.<locals>.__annotate__Ï	  s!   € ÷ 	ñ 	¨ð 	°3ð 	¸4ñ 	rP   c                ó¸  <€ \        V \        \        34      '       Ed   SP                  f   \	        R4      hV P
                  P                  P                  SP                  P                  P                  4       ,
          SP                  P                  P                  4       ,
          '       gn   SP                  P                  SP                  V P
                  P                  V4      RR7      SP                  P                  Jd   \        RV  RV R24      hR # R # \        V \         \"        \$        34      '       d   W8w  d   \        RV  RV R24      hR # R # )Nz3self.shape_env must not be None for symbolic valuesT)Úcompute_hintúmismatch between fake value ú and real value r)  )rë   r   r   rx  rø   r  ÚexprÚfree_symbolsÚbacked_var_to_valrÇ  Úreal_tensor_prop_unbacked_valsÚ_maybe_evaluate_staticÚEqÚSÚtruer¯   rè  ÚfloatrK   )r  r2  rŠ   Úsympys   &&€€rN   Ú_check_fake_real_valsÚ?FakeTensorMode._maybe_infer_fake.<locals>._check_fake_real_valsÏ	  s?  ø€ ä˜$¤¬Ð 2×3Ó3à—>‘>Ò)Ü(ØMóð ð Ÿ	™	Ÿ™×3Ñ3Ø—n‘n×6Ñ6×;Ñ;Ó=õ>à—n‘n×CÑC×HÑHÓJ÷Kô Kð
 Ÿ™×=Ñ=Ø!ŸH™H T§Y¡Y§^¡^°TÓ:Èð >ó ð  %Ÿw™wŸ|™|ó,ô
 4Ø:¸4¸&Ð@PÐQUÐPVÐVWÐXóð ñ,ñKô Ø”sœE¤4Ð(÷ò ð ”<Ü/Ø6°t°fÐ<LÈTÈFÐRSÐTóð ñ  ñrP   úReal tensor propagation foundFT)ÚcontextÚsizesÚstridesrÅ  r›  Úmismatched_fake_kernelc                 ó6   <€ R \        S4      RS P                  /# ©Úopr”   ©rs   r”   ©Úexcr™   s   €€rN   Ú<lambda>Ú2FakeTensorMode._maybe_infer_fake.<locals>.<lambda>ü	  s   ø€ Ø ¤# d£)Ø$ c§j¡jñ-rP   ©Úmetadata_fnzFReal tensor propagation found a metadata mismatch between fake tensor z and real tensor z,  at outputz, for func: c                 ó6   <€ R \        S4      RS P                  /# rM  rO  rP  s   €€rN   rR  rS  
  s   ø€ Ø $¤c¨$£iØ (¨#¯*©*ñ1rP   zIReal tensor propagation found an output size mismatch between fake shape z and real shape z, at outputz.size(z), for func: c                 ó.   <€ R \        S4      RRS  RS 2/# )rN  r”   r9  r:  ©rs   )r  r™   r2  s   €€€rN   rR  rS  
  s'   ø€ Øœc $›iØ Ð$@ÀÀÐFVÐW[ÐV\Ð"]ñ)rP   zQReal tensor propagation found an output value mismatch between fake output value z and real output value )rD  Útorch._subclasses.fake_utilsr4  rë   rz   r   r¯   rü   rg  Ú*generate_fake_kernels_from_real_mismatchesr   Ú_infer_fake_from_real_tensorr.   rá  r  r  )rŠ   r™   r1  r  r2  r4  rE  ÚjÚs_fakeÚs_realrQ  rD  s   ff&ff     @@rN   Ú_maybe_infer_fakeÚ FakeTensorMode._maybe_infer_fakeÃ	  sŸ  ý€ ó 	åI÷	ñ 	ô< �dœEŸL™L×)Ò)ðÙ(ØØØ;ØØ!Ø#'Ø"'õô2 (1´°T·Y±Y³[À$Ç)Á)Ã+Ó1NÖ'OÑ#�Ñ#�FðÙ)¨&Ö9ñ (PðT �Uˆ{Ðð1 Š\˜dÒ.Ü×Ñ×&Ñ&×Q×QÐQÜ!Ø,ö!õô 4°D¸$ÀÓEÀtÐKÐKÜ'ðØ#˜fÐ$5°d°Vð <Ü# D›\˜N¨,°t°fð>óð ðÙ% d¨DÔ1ð �Uˆ{Ðøôu )ô Ü×#Ñ#×*Ñ*×U×UÐUÜ%Ø0õ%õô 8¸¸dÀDÓIÈ4ÐOÕOÜ+ð#Ø#' &Ð(9¸$¸ð @!Ü!'¨£ ¨l¸4¸&ðBóð ð	ûðûô& -ô Ü×'Ñ'×.Ñ.×Y×YÐYÜ)Ø4õ)õô  <¸DÀ$ÈÓMÈtÐS×SÜ/ð&Ø&, XÐ-=¸f¸Xð F$Ü$*¨4£L >°¸°s¸-ÈÀvðOóð ð	ûðûôB )ô Ü+ð)Ø)-¨Ð.EÀdÀVð L Ü & t£˜~¨\¸$¸ðAóð ð	ûðúsa   ¼D ÂFÄ
	H$ ÄFÄ"A
FÅ,FÅ2!FÆFÆH!Æ&A
HÇ0H!Ç8$HÈH!È$IÈ/!IÉIc               ó0   € V ^8„  d   QhRRRRRRRRRRRR	/# )
rG   r™   r?   Úfake_inrX   Úreal_inÚfake_outÚreal_outrJ   zobject | NonerL   )rM   s   "rN   rO   r$  4
  sN   € ÷ J=ñ J=àðJ=ð ðJ=ð ð	J=ð
 ðJ=ð ðJ=ð 
ñJ=rP   c                óú  a aaa€ ^ RI Hp RoS P                  '       d    \        S P                  P                  4      oR VV 3R llp\
        P                  V4      w  r‰\
        P                  V4      w  r« V! RWSWB4       \        \        YŠ4       UUUu. uF  w  w  rÍpS P!                  SYÍT4      NK  	  uppp!  w  pp\#        T4      '       d   S'       d   T! 4        \
        P%                  Yù4      #   \         dt   o\        P                  P                  P                  '       d0   \        RTT3R lR7       T! 4        \        TT 3R	 lT4      u Ro># \        R
T RT RS 24      ShRo>ii ; iu upppi )z³
Helper to cross-check fake/real output properties & values,
and create new fake vals if mismatched, but at the kernel level.
Means this handles pytree outputs & checks aliasing.
)Ú_check_alias_infoNc               ó   € V ^8„  d   QhRR/# r�   rL   )rM   s   "rN   rO   ÚMFakeTensorMode._maybe_infer_fake_kernel_from_pytree_out.<locals>.__annotate__H
  s   € ÷ 	ñ 	¨ñ 	rP   c                 ó”   <€ \        \        SP                  P                  4      P	                  S 4      4      SP                  n        R # rR   )r`  Úsetrx  Úpending_fresh_unbacked_symbolsÚ
difference)Úpending_unbackedrŠ   s   €€rN   Ú_clear_pending_unbackedÚXFakeTensorMode._maybe_infer_fake_kernel_from_pytree_out.<locals>._clear_pending_unbackedH
  s4   ø€ Ü<@Ü�D—N‘N×AÑAÓB×MÑMØ$óó=ˆD�N‰NÖ9rP   rG  rK  c                 ó<   <€ R \        S4      RRS P                   2/# )rN  r”   z>Mismatched aliasing spec between fake kernel and real kernel: rO  rP  s   €€rN   rR  ÚIFakeTensorMode._maybe_infer_fake_kernel_from_pytree_out.<locals>.<lambda>[
  s&   ø€ Øœc $›iØ Ø\Ð]`×]gÑ]gÐ\hÐiñ)rP   rT  c                ó   <€ \        SSV 4      # rR   )r[  )ré   r™   rŠ   s   &€€rN   rR  rr  g
  s   ø€ Ô:¸4ÀÀqÔIrP   zGReal tensor propagation found an aliasing mismatch between fake output z and real output z,  for func: )rY  rg  rx  r`  rl  r4  Útree_flatten_with_pathÚtree_flattenr¯   rz   rü   rg  rZ  r   r0   r  r_  rš  Útree_unflatten)rŠ   r™   rb  rc  rd  re  rg  ro  Úfake_paths_leavesÚ	fake_specÚreal_leavesrå   Ú
_fake_pathÚ	_fake_outÚ	_real_outÚfake_leavesÚ	overridesrQ  rn  s   ff&&&&           @@rN   Ú(_maybe_infer_fake_kernel_from_pytree_outÚ7FakeTensorMode._maybe_infer_fake_kernel_from_pytree_out4
  sy  û€ õ 	Cð  ÐØ�>�>ˆ>Ü# D§N¡N×$QÑ$QÓRÐ÷	ñ 	ô (.×'DÑ'DÀXÓ'NÑ$ÐÜ×,Ñ,¨XÓ6‰ˆð	áØ/°ÀHôô> "%ô ;>Ø%ô;õñ;Ñ6Ñ+�Z¨Yð ×&Ñ& t¨ZÀIÖNñ;óñ"
Ñˆ�Yô �	�NŠN×/á#Ô%Ü×$Ñ$ [Ó<Ð<øôQ %ô 	ä×Ñ×&Ñ&×Q×QÐQÜ!Ø,õ!õñ (Ô)ÜÝIÈ8óõ ô ,ð#Ø#+ *Ð,=¸h¸Zð H"Ø"& ð)óð ð	ûð)	üô:s+   Á7
C5 Â!E6Ã5E3Ä AE.ÅE3ÅE.Å.E3c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )rG   r™   r?   rr  rs  ra  rt  rb  ru  rJ   rf  rL   )rM   s   "rN   rO   r$  €
  sC   € ÷ S
ñ S
àðS
ð ðS
ð ð	S
ð
 %ðS
ð 
ñS
rP   c                	ó®  a aaaa.a/a0a1a2a3a4a5a6a7a8a9€ ^ RI Hp \        P                  SS34      w  o2o.\	        S24      pV'       dJ   S2 Uu. uF!  p\        V4      '       g   K  \        V4      NK#  	  pp\        P                  RV4       \        # S2 U	u. uF  p	S P                  V	4      '       g   K  V	NK   	  p
p	\        ;QJ d    R V
 4       F  '       g   K   RM	  RM! R V
 4       4      ;'       g5    \        ;QJ d    R S2 4       F  '       g   K   RM	  RM! R S2 4       4      o4S P                  o0SS P                  9   pRpS P                  '       dˆ   S\        P                   P"                  P$                  P&                  J d"   RS9   d   SR,          P                  R8w  d   RpS\        P                   P(                  P*                  P&                  J d   RpS\        P                   P"                  P$                  P&                  J ;'       dR    \-        S^ ,          \        P.                  4      ;'       d)    S^ ,          P0                  P                  R	8H  ;'       g    TpV'       d	   V
'       d.   \3        S4      '       Ed"   S4'       Eg   V
'       Eg   V'       Eg   \4        ;QJ d    R
 V
 4       F  '       d   K   RM	  RM! R
 V
 4       4      '       g   \7        S R24      hS2 Uu. uF(  pS P                  V4      '       d   VP8                  MTNK*  	  pp\        P;                  VS.4      w  ppS! V/ VB p\        V4      \.        J dW   S P=                  V4      '       d@   \?        4       ;_uu_ 4        VPA                  4       pRRR4       S0PC                  S VRR7      # V'       de   \E        S4      ^ 8w  g   \E        S4      ^8w  d   \7        RS RS 24      h\        S^ ,          4      \.        J d   S0PC                  S S^ ,          4      # S PG                  SS0S2S.4      w  o2p
>>\4        ;QJ d    R V
 4       F  '       d   K   RM	  RM! R V
 4       4      p\-        S\        PH                  PJ                  4      '       Edè   \        PL                  PN                  SPP                  9  Ed¾   \        PL                  PR                  SPP                  9  g    S\"        PT                  P&                  J Edv   V'       Edm   \E        V
4      ^ 8w  Ed\   S4'       EgS   V'       EgJ   S\"        PV                  P&                  JEd+   S2 Uu. uF(  pS P                  V4      '       d   VP8                  MTNK*  	  pp\        P;                  VS.4      w  pp\?        4       ;_uu_ 4        S! V/ VB pRRR4       \        PY                  X4      pV U	u. uF  p	\-        V	\.        4      '       g   K  V	NK  	  pp	\4        ;QJ d    V 3R lV 4       F  '       d   K   RM	  RM! V 3R lV 4       4      pV'       d!   \        P[                  \.        V0V 3R lV4      # V F  pS0P]                  V4       K  	  \        P;                  S2S.4      w  oo\-        S\        PH                  P^                  4      '       dz   SV9   ds   S P`                  f   \b        Pd                  MS P`                  Pf                  pS ;_uu_ 4        V! 4       ;_uu_ 4        VS,          ! S/ SB uuRRR4       uuRRR4       # S Pi                  SV
SS4       R V 3R llp^ RI5H6o/H7o3 \q        4       o5S5o8S Pr                  '       Ed@   \4        ;QJ d    R V
 4       F  '       d   K   RM	  RM! R V
 4       4      '       Ed   \        ;QJ d!    V3V V93R lS2 4       F  '       g   K   RM	  RM! V3V V93R lS2 4       4      '       gÁ   \t        P                  RS4       S2 Uu. uF  pV! V4      NK  	  pp\        P;                  VS.4      w  o6o7\v        Px                  ! S4      pV'       g   \v        Pz                  ! SVS.4      p S! S6/ S7B o8V'       g3   XP                  4        \v        P€                  ! SP‚                  S2S84       MSS Pr                  '       dB   \t        P                  RST
S2S P`                  '       d   S P`                  P„                  MR4       R VV/V3VVV5V6V7V8V 3
R llpS4'       d0   \‡        4       P‰                  S4      pVe   V! V! S .SO5/ SB 4      # S\        P                   P"                  PŠ                  P&                  J dr   \E        S4      ^8”  d
   S^,          MSP‰                  R4      pSP‰                  R4      p \�        S S^ ,          VV R7      p!V!\        Jd   V! \�        \�        V!4      4      # ^ R IIHJp" SV"9  dý   S P—                  S4      '       gæ   S4'       d   SS P˜                  9   gÍ   ^ R!IIHMp# SV#9   d~   S4'       gL   \�        S4      '       de   \4        ;QJ d    R" V
 4       F  '       d   K   RM	  RM! R" V
 4       4      '       d+   S ;_uu_ 4        V! V#S,          ! S/ SB 4      uuRRR4       # S ;_uu_ 4        SPž                  ! S/ SB p$V$\        Jd   V! V$4      uuRRR4       #  RRR4       R#SP                   P¢                  9   dQ   \¥        SR$4      '       d?   \§        S4      '       g.   S ;_uu_ 4        V! SP¨                  ! S/ SB 4      uuRRR4       # \        Pª                  P¬                  P®                  p%V%e)   SV%P°                  9   d   V%P²                  ! SS .SO5/ SB # S Pr                  '       ds   S8S5Jdm   \v        Px                  ! S4      '       gQ   S P`                  eC   \v        P´                  ! S4      '       g'   \·        S SS84      p&\¹        R%V3R& lR'7       V! V&4      # \        Pº                  P¼                  P¾                  PÁ                  SP£                  4       4      PÂ                  PÄ                  p'V''       d‘    \        Pº                  PÂ                  PÇ                  S S4      o1\        Pº                  PÂ                  PÉ                  V13R( l4      ;_uu_ 4        S ;_uu_ 4        V'! S/ SB p&V! V&4      uuRRR4       uuRRR4       # \Ì         F7  w  p)p*V)! S4      '       g   K  V*! S S.SO5/ SB p!V!\        Jg   K/  V! V!4      u # 	  R.R* VV.V2VV4VV 3R+ lllp+\Ï        S4      '       g   V+! 4       p,V! V,4      #  \Ñ        S 4      ;_uu_ 4        S! S/ SB p$RRR4       T! S PÙ                  X$SS2SP‰                  R4      R-7      4      # u upi u up	i u upi   + '       g   i     E
Ls; iu upi   + '       g   i     ELg; iu up	i   + '       g   i     M; iRRR4       EK    + '       g   i     EL(; iu upi   \|         d#   p\t        P                  RST4        Rp?ELRp?ii ; i  + '       g   i     ELè; i  + '       g   i     ELº; i  + '       g   i     ELc; i  + '       g   i     M; iRRR4       EKÃ    + '       g   i     ELÔ; i  \Ê         du   p(S Pr                  '       d\   S8S5JdV   \v        Px                  ! S4      '       g:   S P`                  e,   \·        S SS84      p&\¹        R%T3R) lR'7       T! T&4      u Rp(?(# T(hRp(?(ii ; i  + '       g   i     ELÓ; i  \Ò         d   p-T+! T-4      u Rp-?-# Rp-?-i\Ô         d    \t        P×                  R,S4       h i ; i)/r   r¤  z,FakeTensorMode unrecognized subclass(es): %sc              3  ó8   "  € T F  qP                   x € K  	  R # 5irR   )rß  )rÙ   rä  s   & rN   rÜ   Ú0FakeTensorMode._dispatch_impl.<locals>.<genexpr>ž
  s   é € ð !
Ù3H¨a×)Ö)Ó3Hùó   ‚TFc              3  óB   "  € T F  p\        V\        4      x € K  	  R # 5irR   )rë   r   )rÙ   r  s   & rN   rÜ   r„   
  s   é € Ð:±	¨1”˜Aœv×&Ð&³	ùó   ‚rœ   r_  r»  c              3  ó<   "  € T F  qP                   R Jx € K  	  R # 5irR   r‚  ©rÙ   r  s   & rN   rÜ   r„  Ê
  s   é € ÐMÑ7L°!—z‘z¨Õ-Ó7Lùó   ‚z. should not have fake inputs without constantsN©rw  z1Expected exactly one arg for lift func, got args=z kwargs=c              3  ó<   "  € T F  qP                   R Jx € K  	  R # 5irR   r‚  ©rÙ   rˆ  s   & rN   rÜ   r„  ü
  ó   é € ÐQÑ;P°aŸ:™:¨TÕ1Ó;PùrŠ  c              3  óF   <"  € T F  pSP                  V4      x € K  	  R # 5irR   )Úmay_turn_const)rÙ   r  rŠ   s   & €rN   rÜ   r„    s!   øé € ÐPÑ?O¸!˜t×2Ñ2°1×5Ð5Ó?OùrÜ  c                ó,   <€ SP                  SV R R7      # )Tr‹  )r¶  )r  Ú	converterrŠ   s   &€€rN   rR  Ú/FakeTensorMode._dispatch_impl.<locals>.<lambda>  s   ø€ ˜i×8Ñ8¸¸qÐPTÐ8ÔUrP   c               ó    € V ^8„  d   QhRRRR/# )rG   r  rD   rJ   z)T | Tensor | torch._C.ScriptObject | NonerL   )rM   s   "rN   rO   Ú3FakeTensorMode._dispatch_impl.<locals>.__annotate__<  s   € ÷ 	ñ 	Øð	à6ñ	rP   c                óØ  <€ \        V \        4      '       d   V P                  # \        V \        4      '       d�   SP                  f   \        R4      hV P                  P                  V P                  P                  P                  SP                  P                  4      P                  SP                  P                  4      4      # \        V \        4      '       d   V P                  # V # )Nz2self.shape_env must not be None for symbolic types)rë   rì   r  r(   rx  rø   r  r¹  r;  Úxreplacer=  r>  r   Úreal_obj)r  rŠ   s   &€rN   Úmaybe_to_real_tensorÚ;FakeTensorMode._dispatch_impl.<locals>.maybe_to_real_tensor<  s±   ø€ ô ˜!œZ×(Ò(Ø—}‘}Ð$Ü˜Aœ|×,Ò,Ø—>‘>Ò)Ü(ØLóð ð —v‘v—}‘}Ø—F‘F—K‘K×(Ñ(¨¯©×)IÑ)IÓJ×SÑSØŸ™×EÑEóóð ô
 ˜AÔ/×0Ò0Ø—z‘zÐ!à�rP   )Úcompute_unbacked_bindingsÚfree_unbacked_symbolsc              3  ó<   "  € T F  qP                   R Jx € K  	  R # 5irR   )r  r�  s   & rN   rÜ   r„  Z  s   é € ÐMÑ7L°!—M‘M¨Õ-Ó7LùrŠ  c              3  ó  <"  € T F  p\        V\        4      ;'       dc    S! V4      ;o;'       dQ    SP                  R J;'       d;    \        ;QJ d    V3R lS 4       F  '       g   K   RM	  RM! V3R lS 4       4      x € K�  	  R # 5i)Nc              3  óV   <"  € T F  pVSP                   P                  9  x € K   	  R # 5irR   )rx  r>  )rÙ   ÚsrŠ   s   & €rN   rÜ   Ú:FakeTensorMode._dispatch_impl.<locals>.<genexpr>.<genexpr>`  s'   øé € ð á!%˜Að  §¡×!NÑ!NÖNÛ!%ùs   ƒ&)TF)rë   r(   rx  rš  )rÙ   r  rœ  rŠ   Úsymss   & €€€rN   rÜ   r„  [  s‹   øé € ð ñ #�Aô ˜q¤,Ó/÷ ð Ù!6°qÓ!9Ð9˜÷ð àŸ™¨dÐ2÷ð ÷ ›ô á!%óŸŸšô á!%óó ôó #ùs!   ƒB
ŸB
±B
ÁB
ÁB
Á* B
zpropagate_real_tensors %sz9real-tensor fallback failed for %s: %s; silently ignoringz,SKIPPED propagate_real_tensors %s(%s, %s) %sc               ó    € V ^8„  d   QhRRRR/# )rG   rd  rD   rJ   rL   )rM   s   "rN   rO   r•  “  s   € ÷ O	ñ O	°1ð O	¸ñ O	rP   c           	     óx  <
aa€ ^ RI o\        P                  RS4       R VVVV3R lloSSJEd
   \        P                  P
                  P                  '       g   SP                  SSS3S	S
3V S4       MSP                  SSS3S	S
3V S4      p \        V \        4      '       gu   \        S\        4      '       g_   \        V 4      \        S4      JdG   \        S\        \        P                  V 4      4      \        \        P                  S4      4      4       M\        SV S4       S! SP                  V RR7       V # )r   Nzmaybe_propagate_real_tensors %sc               ó$   € V ^8„  d   QhRRRRRR/# )rG   r  rX   Úreal_tr   rJ   r‚   rL   )rM   s   "rN   rO   ÚYFakeTensorMode._dispatch_impl.<locals>.maybe_propagate_real_tensors.<locals>.__annotate__˜  s&   € ÷ Uñ U�fð U fð U°ñ UrP   c                óT  <€ \        V \        4      '       dÉ   \        P                  R \	        V 4      \	        V4      4       Wn        \        V P                  4       VP                  4       4       F  w  r#S! W#4       K  	  \        V P                  4       VP                  4       4       F  w  r#S! W#4       K  	  S! V P                  4       VP                  4       4       R# \        V \        4      '       Ed2   S! V 4      '       Ed!   \        V P                  P                  SP                  4      '       dL   SP                  f   \        R4      hSP                  P!                  V P                  P                  V4       R# \        V P                  P                  ;pSP"                  4      '       dr   \        VP$                  SP                  4      '       dJ   VP&                  ^8X  d7   SP                  f   \        R4      hSP                  P!                  W!4       R# R# R# R# R# R# )z%maybe_propagate_real_tensors %s -> %sNz3self.shape_env must not be None for symbolic Symbolz/self.shape_env must not be None for symbolic Eq)rë   rì   r&  rä  r'  r  r  r  rÂ  rÅ  r(   r  r;  ÚSymbolrx  rø   Ú"set_real_tensor_prop_unbacked_valsr@  ÚlhsÚrhs)r  r¦  r   Úreal_srœ  ÚgorŠ   rD  s   &&  €€€€rN   r®  ÚOFakeTensorMode._dispatch_impl.<locals>.maybe_propagate_real_tensors.<locals>.go˜  sŽ  ø€ Ü˜a¤×,Ò,ä—I‘IØ?ÄÀAÃÌÈ6Ë
ôð %+”MÜ%(¨¯©«°6·;±;³=Ö%A™	˜Ù˜1žñ &Bä%(¨¯©«°V·]±]³_Ö%E™	˜Ù˜1žñ &Fá�q×'Ñ'Ó)¨6×+@Ñ+@Ó+BÖCÜ ¤<×0Ó0Ñ5JÈ1×5MÓ5MÜ! !§&¡&§+¡+¨u¯|©|×<Ò<ØŸ>™>Ò1Ü"0Ø Uó#ð ð Ÿ™×IÑIØŸF™FŸK™K¨öô #¨¯©¯©Ð#3 1°U·X±X×>Ò>Ü& q§u¡u¨e¯l©l×;Ò;ØŸE™E QœJàŸ>™>Ò1Ü"0Ø Qó#ð ð Ÿ™×IÑIÈ!ÖTñ 'ñ <ñ ?ñ 6NÑ0rP   T)Úpeek)rD  r&  rä  rz   rü   rg  rZ  r  rë   r   rö   r1   rÔ  r4  ru  rx  )rd  r®  rD  ra  r›  rœ  r™   rb  ÚnilÚ	real_argsÚreal_kwargsre  rŠ   s   &@@€€€€€€€€€€rN   Úmaybe_propagate_real_tensorsÚCFakeTensorMode._dispatch_impl.<locals>.maybe_propagate_real_tensors“  s  ú€ Ûä�I‰IÐ7¸Ô>÷Uó UðB ˜sÔ"ä×'Ñ'×.Ñ.×Y×YÐYØ×AÑAØØ˜v˜Ø" KÐ0Ø Ø õð  $×LÑLØØ˜v˜Ø" KÐ0Ø Ø ó �Hô # 8¬V×4Ò4Ü& x´×8Ò8Ü˜X›¬d°8«nÓ<ô ØÜœf×1Ñ1°(Ó;Ó<Üœf×1Ñ1°(Ó;Ó<õô ˜b (¨HÔ5ñ
 *¨$¯.©.¸(ÈÕNàˆOrP   rž  r$  r'  )Ú
meta_tabler(  c              3  óB   "  € T F  p\        V4      '       * x € K  	  R # 5irR   )r   r�  s   & rN   rÜ   r„  
  s   é € ÐPÑ:O°Q¤¨aÓ 0×0Ñ0Ó:Oùr‡  zprims::Úprim_meta_implÚmissing_fake_kernelc                 ó   <€ R \        S 4      /# ©rN  rX  r#  s   €rN   rR  r“  9  s   ø€ Øœc $›iñ)rP   rT  c                 ó   <€ S # rR   rL   )Úctxs   €rN   rR  r“  G  s   ø€ ÁSrP   c                 ó   <€ R \        S 4      /# r»  rX  r#  s   €rN   rR  r“  X  s   ø€ Ø ¤# d£)ñ-rP   c               ó    € V ^8„  d   QhRRRR/# )rG   ÚerrorzRuntimeError | NonerJ   rf  rL   )rM   s   "rN   rO   r•  k  s    € ÷ 	Pñ 	PØ&ð	Pàñ	PrP   c                óN  <€ \         P                  P                  P                  S4      '       d/   \         P                  P                  P                  ! S.SO5/ SB # S'       g   SP                  S4      '       g   \        S4      hV f   \        S4      p \        SSSSV 4      # rR   )rz   r·  r¸  Úcan_generate_trivial_fake_implÚgenerate_trivial_fake_implÚcan_run_unsafe_fallbackr«   Úrun_fallback_kernel)rÀ  ra  Ú	args_specr…  r™   Úhas_symbolic_sizesrb  rŠ   s   &€€€€€€€rN   Úmaybe_run_unsafe_fallbackÚ@FakeTensorMode._dispatch_impl.<locals>.maybe_run_unsafe_fallbackk  s’   ø€ ô �~‰~×#Ñ#×BÑBÀ4×HÒHÜ—~‘~×+Ñ+×FÒFØðØòØ#)ñð ÷ "¨×)EÑ)EÀd×)KÒ)KÜ2°4Ó8Ð8ØŠ}Ü4°TÓ:�Ü& t¨T°9¸iÈÓOÐOrP   z*failed while attempting to run meta for %srÂ  rR   )mr¬  r¥  r4  ru  Ú_check_for_subclassÚ_check_for_subclass_argrö   r{  rä  r—  rE  rš  r,  rµ  rL  rz   r(  r)  Ú_to_copyr+  r³  Ú
device_putrë   r   rœ   rÜ  Úallrø   r  rv  r�  r)   Úcloner¶  rx  Ú%validate_and_convert_non_fake_tensorsr}  r?   r­  Únondeterministic_seededr¯  r±  Údetach_Ú_nested_tensor_from_tensor_listr5  Útree_map_onlyr[  r~  rx  r  r  Úignore_fresh_unbacked_symbolsÚinvalidate_written_to_constantsr�  r›  rœ  rX   r+  r&  Úlibrary_utilsr¹  ÚMutationCheckerÚZeroDivisionErrorÚcheckÚcheck_aliasing_constraintrç  r>  Úget_fast_op_implsrj  r,  Úmaybe_to_dense_mkldnnr   rì   r*  r¶  Úcpp_meta_supports_symintÚ#_unbacked_special_fake_handling_opsr)  r/  Ú	decomposer"  rÚ  rK  Ústride_incorrect_opr¸  r0  rg  Ú_custom_ops_profileÚdataÚgeneric_fake_kernelÚhas_fake_kernelÚ"inferred_fake_kernel_from_real_outr   r·  Úsimple_registryÚ	singletonÚfindÚ	fake_implÚkernelÚFakeImplCtxÚset_ctx_getterr   Úop_implementations_checksÚhas_metarÔ  r5  r$  rX  Ú+wrap_meta_outputs_with_default_device_logic):rŠ   r™   rr  ra  rb  r¥  Úhas_unrecognized_typesré   r  r  Úflat_arg_fake_tensorsÚis_lift_funcÚavoiding_device_initÚ!device_conversion_skip_const_propr  Úconst_flat_argsÚ
const_argsÚconst_kwargsrÕ   Úall_constantÚflat_outÚflat_out_tensorsrZ  Ú#maybe_ignore_fresh_unbacked_symbolsr™  Úreal_flat_argsr¹  Úmutation_checkerrQ  r´  Ú	fast_implrž  r$  Úop_impl_outr¶  r)  r  ÚprofilesrÎ  Úmaybe_fake_implrˆ  Úrun_impl_checkÚop_implrÈ  ÚfallbackÚnot_implemented_errorrÆ  r›  r’  r½  r…  rœ  rÇ  r±  r²  r³  re  r¢  s:   ff&ff                                         @@@@@@@@@@@@rN   r€  ÚFakeTensorMode._dispatch_impl€
  sÀ  ÿÿ€ õ 	Jä%×2Ñ2°D¸&°>ÓBÑˆ	�9ô "5°YÓ!?Ðß!á!*ó"Ù!*˜AÔ.EÀa×.H””�Q–¡ð ð "ô  ×%Ñ%Ø>Ð@Rôô "Ð!á,5Ó M©I q¸×9IÑ9IÈ!×9L§ ©IÐÐ Mß ›Sñ !
Ù3Hó!
ŸSŸSšSñ !
Ù3Hó!
ó 
÷ ;ð ;ç‹SÑ:±	Ó:�S�SŠSÑ:±	Ó:Ó:ð 	ð ×.Ñ.ˆ	à˜tŸ}™}Ñ,ˆð  %ÐØ×!×!Ð!àœŸ	™	Ÿ™×/Ñ/×7Ñ7Ó7Ø Ô&Ø˜8Õ$×)Ñ)¨UÔ2à'+Ð$Ø”u—y‘y—‘×1Ñ1×9Ñ9Ó9Ø'+Ð$ð ”E—I‘I—N‘N×+Ñ+×3Ñ3Ð3÷ .ð .Ü˜4 �7¤E§L¡LÓ1÷.ð .à�Q•—‘×#Ñ# vÑ-÷-"ð -"ð "ð	 	*÷ ×!6Ü+¨D×1Ó1ß&Ð&ß)Ð)ß5Ð5ç“3ÑMÑ7LÓM—3—3’3ÑMÑ7LÓM×MÒMÜ$Ø�fÐJÐKóð ñ CLóÙBK¸Q˜d×.Ñ.¨q×1Ò1�—
’
°qÒ8Á)ð ð ô (.×'<Ñ'<¸_ÈiÓ'XÑ$ˆJ˜Ù˜
Ð3 lÑ3ˆCÜ�C‹yœFÓ" t×':Ñ':¸3×'?Ò'?ô !—]•]ØŸ)™)›+�C÷ #à ×1Ñ1°$¸È4Ð1ÓPÐP÷ Ü�6‹{˜aÔ¤3 t£9°¤>Ü$ØGÈÀvÈXÐV\ÐU]Ð^óð ô �D˜•G‹}¤Ó&Ø ×1Ñ1°$¸¸Q½Ó@Ð@ð .2×-WÑ-WØ�)˜Y¨	ó.
Ñ*ˆÐ)ð �&÷ “sÑQÑ;PÓQ—s—s’sÑQÑ;PÓQÓQˆä�tœUŸZ™Z×2Ñ2×3Ó3Ü—	‘	×1Ñ1¸¿¹ÕBô —	‘	×&Ñ&¨d¯i©iÔ7¸4Ä4Ç<Á<×CWÑCWÔ;Wç�ÜÐ)Ó*¨aÕ/ß&Ð&ß(Ð(ØœD×@Ñ@×HÑHÔHñ CLóÙBK¸Q˜d×.Ñ.¨q×1Ò1�—
’
°qÒ8Á)ð ð ô (.×'<Ñ'<¸_ÈiÓ'XÑ$ˆJ˜ô —•Ù˜JÐ7¨,Ñ7�÷ ô ×)Ñ)¨#Ó.ˆHÙ+3ÓM©8 a´zÀ!ÄV×7L§ ©8ÐÐMß›3ÔPÑ?OÓPŸ3Ÿ3š3ÔPÑ?OÓPÓPˆLçÜ×+Ñ+ÜÝUØóð ó (�Ø×5Ñ5°cÖ:ñ (ô
 ×,Ñ,¨Y¸	ÓB‰ˆˆfô �tœUŸZ™Z×;Ñ;×<Ò<ØÐ/Ô/ð
 —>‘>Ò)ô ×&Ò&à—^‘^×AÑAð 0÷ ’Ñ:×<Õ<Ø.¨tÖ4°dÐE¸fÑE÷ =Ñ<—’ð 	×,Ñ,¨TÐ3HÈ$ÐPVÔW÷	ð 	÷(	
ô
 ‹hˆàˆà×'×'Ñ'ß“ÑMÑ7LÓM——’ÑMÑ7LÓM×MÓMß“Cö ñ #ó—C—C’Cö ñ #ó÷ ò ô �I‰IÐ1°4Ô8Ù?HÓI¹y¸!Ñ2°1Ö5¹yˆNÐIÜ%+×%:Ñ%:¸>È9Ó%UÑ"ˆI�{ä&×1Ò1°$Ó7ˆJßÜ#0×#@Ò#@Ø˜.¨)ó$Ð ð
Ù Ð:¨kÑ:�÷ Ø ×&Ñ&Ô(Ü×7Ò7¸¿
¹
ÀIÈxÔXøà×(×(Ð(ô �I‰IØ>ØØ%Øà—>—>�>ð —‘×=Ò=àô÷O	÷ O	ñ O	÷d Ü)Ó+×/Ñ/°Ó5ˆIØÒ$Ù3±I¸dÐ4TÀTÒ4TÈVÑ4TÓUÐUà”5—9‘9—>‘>×*Ñ*×2Ñ2Ó2ô
  # 4›y¨1œ}�D˜–G°&·*±*¸WÓ2EˆEØ Ÿ*™* ]Ó3ˆKÜ/Ø�d˜1•g U¸ôˆKð ¤.Ó0Ù3´D¼À[Ó4QÓRÐRõ 	-ð ˜
Ô"Ø×1Ñ1°$×7Ò7ç" t¨t×/WÑ/WÔ'Wõ :ð Ð*Ô*ß"ô 0°×5Ò5ß›ÑPÑ:OÓPŸŸšÑPÑ:OÓP×PÒP÷ ’TÙ7Ø+¨DÖ1°4ÐB¸6ÑBó÷ ’T÷
 ’à—N’N DÐ3¨FÑ3�ØœNÓ*Ù7¸Ó:÷	 ’ð +÷ ð ˜Ÿ™×*Ñ*Ô*Ü˜Ð.×/Ò/Ü'¨×-Ò-ç’Ù3Ø×'Ò'¨Ð8°Ñ8ó÷ ’ô
 —=‘=×'Ñ'×;Ñ;ˆØÒØ�x—}‘}Ô$Ø×3Ò3°D¸$ÐPÀÒPÈÑPÐPð ×'×'Ð'Ø Ó#Ü!×,Ò,¨T×2Ò2Ø—‘Ò*ô !×0Ò0°×6Ò6Ü;¸DÀ$ÈÓQ�ä!Ø)ô!õñ 4°FÓ;Ð;ô  Ÿ.™.×8Ñ8×BÑB×GÑGØ�I‰I‹Kó
ç
‰)—F‘Fð 	÷ ðÜ—n‘n×.Ñ.×:Ñ:¸4ÀÓF�Ü—^‘^×-Ñ-×<Ñ<¼[×IÕIÏ4Ê4Ù,¨dÐ=°fÑ=�FÙ7¸Ó?÷ LPÉ4×IÒI÷8 (AÑ#ˆN˜GÙ˜d×#Ô#á% d¨DÐB°4ÒB¸6ÑB�Ø¤nÕ4á7¸ÓDÒDñ (A÷	P÷ 	Pð 	Pô( ˜�~Š~Ù0Ó2ˆHÙ/°Ó9Ð9ð
	Ü-¨d×3Õ3Ù˜$Ð) &Ñ)�÷ 4ñ ,Ø×<Ñ<Ø�4˜¨6¯:©:°hÓ+?ð =ó ó
ð 	
ùòu"ùò !Nùòb÷ #—]�]üòj÷ —�üò  N÷< =×<ú———“üòd Jøô %ô ô —	‘	ØOØØ÷ò ûð	ú÷r —T�Tú÷
 —�ú÷" —�ú÷H LPÏ4ú×I×I×IÓIûô $ô ð ×/×/Ð/Ø ¨Ó+Ü)×4Ò4°T×:Ò:ØŸ™Ò2ä?ÀÀdÈHÓU�Fä%Ø-ô%õñ 8¸Ó?Õ?à�Gûð'ú÷x 4×3Ð3ûä"ô 	DÙ,Ð-BÓCÕCûÜô 	Ü�M‰MÐFÈÔMØð	úsc  Áw*Á w*Âw/Â/w/Ë1w4Ìw4Í>w9ÕxÕ,xÖ+	x×x&×2x&Û>y	Üx+	Ü
y	àyá2y" êzë$z&íz:òA|  ó9{,ô{	ô
{,ô
|  ö~ ö/	~ö8~ ÷9x
	øx#	ø+x;ø6y	ù	y	ù"zù-z
ú
zúz#	ú&z7	ú:{	û{û{,û!|  û,{=	û7|  û=|  ü }?ü3}:ü?3}:ý2}?ý8}:ý:}?þ~	þ~ þ~ þþ!~.þ(þ.þ;Ú
debugprimsr³  r)  ÚxlaÚvisionÚ	torchtextÚ
torchaudioÚ	quantizedc               ó    € V ^8„  d   QhRRRR/# r&  rL   )rM   s   "rN   rO   r$  ¥  s   € ÷ 	
ñ 	
¨Jð 	
¸4ñ 	
rP   c                	ó’   € V P                   '       g   R # VP                  V P                  9   ;'       g    VP                  4       R8H  # )Fzfbgemm::gmm)r!  Ú	namespaceÚ+_can_run_unsafe_fallback_allowed_namespacesrÚ  ©rŠ   r™   s   &&rN   rÄ  Ú&FakeTensorMode.can_run_unsafe_fallback¥  sB   € Ø×*×*Ð*Ùð
 �N‰N˜d×NÑNÑN÷ ,ð ,Ø�y‰y‹{˜mÑ+ð	
rP   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )rG   r™   r?   r’  r@  r…  rt  rÆ  r2   rJ   z%tuple[list[object], list[FakeTensor]]rL   )rM   s   "rN   rO   r$  °  s<   € ÷ 45ñ 45àð45ð 'ð45ð $ð	45ð
 ð45ð 
/ñ45rP   c                ól   a aaaaa€ . oR VVVVVV 3R llpS Uu. uF
  qe! V4      NK  	  ppVS3# u upi )z¿
Checks if the list of tensors are fake tensors.
If not, try to convert them to fake tensors.
Returns the original args, kwargs, and a flattened list of (args, kwargs) that are fake tensors.
c               ó    € V ^8„  d   QhRRRR/# )rG   ré   rD   rJ   úT | FakeTensorrL   )rM   s   "rN   rO   ÚJFakeTensorMode.validate_and_convert_non_fake_tensors.<locals>.__annotate__¾  s   € ÷ #	ñ #	˜ð #	˜nñ #	rP   c                óÈ  <€ \        V \        4      '       g   V # SP                  V 4      '       Eg   \        S
R 4      '       dZ   \        P
                  P                  S
P                  9   d1   \        P                  S	S4      w  r\        R\        S
W4       24      h\        P                  f   SP                  M\        P                  pV'       gj   \        V \        4      '       d$   V P                   pVSJd   \        RV RS 24      h\        P                  S	S4      w  r\        R\        S
W4       24      hSP#                  SV 4      pMT pSP%                  V4       V# )r¯  zECan't call metadata mutating ops on non-Fake Tensor inputs. Found in z"Mixing fake modes NYI x.fake_mode=z	 vs self=zuPlease convert all Tensors to FakeTensors first or instantiate FakeTensorMode with 'allow_non_fake_inputs'. Found in )rë   r   rE  rK  rz   r­  r±  r¯  r4  rv  rø   r"   ri  r³   r"  rì   rÌ   r¶  rß   )ré   ra  rb  r"  Úx_fake_moderÕ   rÆ  r’  rò  r…  r™   rŠ   s   &     €€€€€€rN   ÚvalidateÚFFakeTensorMode.validate_and_convert_non_fake_tensors.<locals>.validate¾  sZ  ø€ Ü˜a¤×(Ò(Ø�ð ×#Ñ# A×&Ó&Ü˜4 ×(Ò(¬U¯Y©Y×-CÑ-CÀtÇyÁyÔ-PÜ#)×#8Ñ#8¸ÀIÓ#N‘L�DÜ(Ø_Ô`kÐlpÐrvÓ`ð  `Að  Bóð ô
 '×EÑEÒMð ×.Ò.ä(×GÑGð &÷
 -Ü! !¤Z×0Ò0à&'§k¡k˜Ø&¨dÓ2Ü"0Ø"DÀ[ÀMÐQZÐ[_ÐZ`Ð aó#ð ô $*×#8Ñ#8¸ÀIÓ#N‘L�DÜ(ðBÜBMÈdÐTXÓBaÐAbðdóð ð
  ×0Ñ0°°qÓ9‘à�à!×(Ñ(¨Ô-ØˆJrP   rL   )	rŠ   r™   r’  r…  rÆ  r  r  Úvalidated_argsrò  s	   fffff   @rN   rÐ  Ú4FakeTensorMode.validate_and_convert_non_fake_tensors°  sA   ý€ ð 35Ð÷#	õ #	ñJ 09Ó9©y¨!˜( 1ž+©yˆÐ9ØÐ4Ð4Ð4ùò :s   ›1c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )rG   r  rX   r™   r?   r…  rt  rœ   r›   rJ   r/   rL   )rM   s   "rN   rO   r$  æ  s<   € ÷ =!ñ =!àð=!ð ð=!ð $ð	=!ð
 ð=!ð 
ñ=!rP   c           
     	ót  a aaaaaaa	a
€ S P                   oR oRoRo
R o	S\        P                  P                  J g   S\        P                  P                  J dE   \        S4      ^8X  d5   \        S^ ,          \        4      '       d   S^ ,          P                  o	S	R Jo
R VVVVVVV	V
V 3	R llp\        WQ4      # )NFc               ó    € V ^8„  d   QhRRRR/# ©rG   rˆ  rD   rJ   r  rL   )rM   s   "rN   rO   ÚPFakeTensorMode.wrap_meta_outputs_with_default_device_logic.<locals>.__annotate__ü  s   € ÷ %	ñ %	�Að %	˜.ñ %	rP   c                óÐ  <	a € \        S \        4      '       g   S # Sf   \        P                  SS4      w  ooSP	                  S 4      pV'       dI   \
        P                  ! S P                  S8H  VV 3R l4       S
'       d   S	S n        \        \        S 4      # SeJ   S'       d   SP                  SS 4      pMSP                  SS S;'       g    S4      pS
'       d   S	Vn        V# S # )Nc                 ó(   <€ R SP                    RS  2# )z-FakeTensor is wrapped to wrong device, found z, expected rÂ  )rš   rˆ  s   €€rN   rR  ÚZFakeTensorMode.wrap_meta_outputs_with_default_device_logic.<locals>.wrap.<locals>.<lambda>  s   ø€ ÐKÈAÏHÉHÈ:ÐU`ÐanÐ`oÑprP   )rë   r   rì   r¬  rE  rz   Ú_checkrœ   rH   r   rD   r¶  r¼  )rˆ  rE  rÕ   rš   r’  rœ   r…  r™   r«  Úinput_dispatch_keysÚpreserve_dispatch_keysrŠ   s   f  €€€€€€€€€rN   ÚwrapÚHFakeTensorMode.wrap_meta_outputs_with_default_device_logic.<locals>.wrapü  s×   ù€ ô ˜a¤×(Ò(Ø�àÒ$ô ×2Ñ2°4¸ÓCñØ!Ø*ð ×*Ñ*¨1Ó-ˆKßÜ—’Ø—H‘H Ñ-Ýpô÷ *Ø&9�A”OÜœA˜q“zÐ!ØÒ&ß)ð $×4Ñ4°T¸1Ó=‘Cà#×8Ñ8Ø˜a ×!8Ð!8¨=ó�C÷ *Ø(;�CÔ%Ø�
ð �rP   )
r,  r)  Úaliasr+  Údetachrx  rë   rì   rH   r0   )rŠ   r  r™   r…  rœ   r*  rš   r’  r«  r(  r)  s   f&fff @@@@@rN   rð  Ú:FakeTensorMode.wrap_meta_outputs_with_default_device_logicæ  s¢   ÿø€ ð ×.Ñ.ˆ	ð ˆØ!&ÐØ!&ÐØ"Ðà”T—Z‘Z×'Ñ'Ó'¨4´4·;±;×3FÑ3FÓ+FÜ�I“ !Ô#Ü˜9 Q�<¬×4Ò4à"+¨A¥,×"<Ñ"<ÐØ%8ÀÐ%DÐ"÷%	÷ %	ð %	ôN ˜Ó Ð rP   r±  c               ó    € V ^8„  d   QhRRRR/# )rG   r±  rÊ  rJ   r'   rL   )rM   s   "rN   rO   r$  %  s   € ÷ ñ Ø)ðà	ñrP   c               	óÆ  € ^ RI p^ RIHp VfC   V P                  pV P                  '       g   \        R4      hV ;P                  ^,          un        VP                  ! V! V^4      4      pVP                  P                  P                  R4      pV P                  f   \        R4      hV P                  P                  V P                  P                  VVR7      VVR7      pV# )r   N)ÚNestedIntNodez4should only be called while FakeTensorMode is activeÚintermediate_offsets_or_lengthszself.shape_env must not be None)Úvalrs  )Úsymr‹  rs  )r8  Ú!torch.nested._internal.nested_intr1  r  r4  rø   r   r0  rs  ÚEphemeralSourcerx  r®  Úcreate_symbol)rŠ   r±  rz   r1  r‹  ÚsrcÚrets   &$     rN   r²  Ú)FakeTensorMode.create_symbolic_nested_int%  sÕ   € ó
 	4ÝCàÒØ×4Ñ4ˆLØ×#×#Ð#Ü$ØJóð ð ×%Ò%¨Õ*Õ%Ø�|Š|™M¨,¸Ó:Ó;ˆà�m‰m×"Ñ"×2Ñ2Ð3TÓUˆØ�>‰>Ò!Ü Ð!BÓCÐCØ�n‰n×.Ñ.Ø—‘×,Ñ,ØØð -ó ð Øð /ó 
ˆð ˆ
rP   c               ó    € V ^8„  d   QhRRRR/# r&  rL   )rM   s   "rN   rO   r$  X  s   € ÷ 6ñ 6¨Zð 6¸Dñ 6rP   c                	ót   € \         P                  P                  VP                  9   d   R # WP                  9   # r¾   )rz   r­  Ú	view_copyr¯  Ú_cpp_meta_supports_symintr  s   &&rN   rÞ  Ú'FakeTensorMode.cpp_meta_supports_symintX  s*   € Ü�9‰9×Ñ $§)¡)Ô+ÙØ×5Ñ5Ñ5Ð5rP   c               ó    € V ^8„  d   QhRRRR/# r“  rL   )rM   s   "rN   rO   r$  _  s   € ÷ 
ñ 
 ð 
¨4ñ 
rP   c                	óÞ   € VP                  4       \        8*  ;'       dP    \        V4      '       * ;'       d8    V P                  V4      '       * ;'       d    VP                  P
                  R 8g  # r1  )ÚnumelÚCONSTANT_NUMEL_LIMITr   rE  rœ   rö   rD  s   &&rN   r�  ÚFakeTensorMode.may_turn_const_  sb   € à�G‰G‹IÔ-Ñ-÷ (ð (Ü! !Ó$Ô$÷(ð (à×$Ñ$ QÓ'Ô'÷(ð (ð —‘—‘ Ñ'ð		
rP   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )rG   r™   r?   rò  zSequence[FakeTensor]ra  rt  rb  ru  rJ   r‚   rL   )rM   s   "rN   rO   r$  g  sC   € ÷ Wñ WàðWð  4ðWð ð	Wð
 %ðWð 
ñWrP   c                	ó.  € \         ;QJ d    R  V 4       F  '       g   K   RM	  RM! R  V 4       4      p\        V4      pV'       dÎ   VP                  4       '       d¶   \        VVVRR7      w  rxVP	                  4        FŽ  w  ršV	R8w  g   VP                  V	4      '       d   T	MRp	V P                  V
4      '       g   K@  VP                  V	4      '       g   KY  V
P                  f   Ki  V P                  P                  V
P                  4       K�  	  R# R# R# )c              3  ó<   "  € T F  qP                   R Jx € K  	  R # 5irR   r‚  r�  s   & rN   rÜ   ÚAFakeTensorMode.invalidate_written_to_constants.<locals>.<genexpr>n  rŽ  rŠ  TFr¦  ÚinputrŠ   N)
rš  r$  Ú
is_mutabler$   r¼   Úhas_argumentrE  r  r,  r[  )rŠ   r™   rò  ra  rb  Úany_constantÚschema_inforå   r½  Úkr  s   &&&&&      rN   rÖ  Ú.FakeTensorMode.invalidate_written_to_constantsg  sØ   € ÷ “sÑQÑ;PÓQ—s—s’sÑQÑ;PÓQÓQˆÜ% dÓ+ˆß˜K×2Ñ2×4Ò4Ü.ØØØØ-1ô	‰MˆAð #×(Ñ(Ö*‘�Ø˜wœ,¨+×*BÑ*BÀ1×*EÒ*E‘AÈF�à×$Ñ$ Q×'Ô'Ø#×.Ñ.¨q×1Ô1ØŸ
™
Ô.à×.Ñ.×JÑJÈ1Ï:É:ÖVó +ñ 5‰<rP   rs  rt  ru  c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )rG   rV  r   r  r²   rs  rz  rt  r{  ru  rK   rJ   rì   rL   )rM   s   "rN   rO   r$  €  sF   € ÷ "
ñ "
àð"
ð #ð	"
ð
 ð"
ð 1ð"
ð ð"
ð 
ñ"
rP   c          	     	ó  € \        V\        4      '       d   VP                  V J d   Vf   Vf   Vf   V# V P                  pVf   V P                  pV'       d   Ve   \        R4      hR pV P                  P                  V VVVVVR7      # )Nz2cannot set both static_shapes and symbolic_context)rx  rs  rt  ru  )rë   rì   rÌ   rx  r  rø   r,  r¶  )rŠ   rV  r  rs  rt  ru  rx  s   &&$$$$ rN   rn  ÚFakeTensorMode.from_tensor€  sŸ   € ô �vœz×*Ò*Ø× Ñ  DÓ(ØÒ%Ø’Ø Ò(àˆMà%)§^¡^ˆ	ØÒ Ø ×.Ñ.ˆMßØÒ+Ü$ØHóð ð ˆIØ×)Ñ)×:Ñ:ØØØØØ-Øð ;ó 
ð 	
rP   )rQ  rº  r  r7  r!  rT  r"  r-  r3  rÐ   r4  r,  rÍ  r  r   r+  rx  r  rØ  rL   )Prj   rk   rl   rm   r  rn   r  r  r   rè  r  r  rÍ  r  r   r‹   r@  rE  r¾  rL  rS  r3   r#   r‚  r_  rh  r½  ro  rs  rw  rŒ  r|  r¾  rÖ  rÒ  rê  r‡  r  r…  r†  rW  r_  r  r€  rÁ   r  rÄ  rÐ  rð  r²  r)  rÇ  rÃ  r  r+  Úas_strided_scatterr´  Úas_strided_rÈ  r-  Úview_as_realÚview_as_complexr  Úsource_Storage_storage_offsetÚ(_sparse_coo_tensor_with_dims_and_tensorsr>  Úviewr²  Úslicer   rß  rÞ  Ú
lift_freshÚlift_fresh_copyrµ  r�  rÖ  rn  ro   r£   r¤   s   @rN   rÍ   rÍ   ø  sd  ø‡ Ø:<€EÐ7Ó<Ø€J�ÓØ€L�#ÓÙ%0°Ó%5€N�NÓ5ð €Eˆ3ƒNØ!&Ð˜$Ó&ØÓØÓØÓØÓð !#Ð˜#Ó"Ø&(Ð Ó(ð[Dð (,ð[Dð ',ð	[Dð
 &*ð[Dð &*ð[Dð  ÷![Dò [DõzDõ
ð ô

ó ð

ð ôó ðð
 ð "$Ù'5Ó'7öó ð÷&ð ÷6Vð Vð$ ôó ðð ô	
ó ð	
ð ôó ðõ^õ@5õnJDõXC#õJ(CõTKõZiõVQ8õfõ22ðp "$Ù'5Ó'7÷BõBoõbJ=õXS
ñt 3>ØØØØØØØØó	3Ð/õ	
õ45õl=!ð~Ø,0÷ñ< !,Ø�
‰
× Ñ Ø×Ñ×"Ñ"Ø×Ñ×'Ñ'Ø�‰×ÑØ×Ñ× Ñ Ø�
‰
×ÑØ�‰×ÑØ×Ñ×!Ñ!Ø×Ñ×$Ñ$Ø�	‰	×/Ñ/Ø×5Ñ5×=Ñ=Ø�
‰
×Ñó!Ðñ +6Ø�	‰	×ÑØ×Ñ×!Ñ!Ø�
‰
×Ñó+Ð'õ6ñ
 ˜4Ÿ?™?×2Ñ2°D×4HÑ4H×4PÑ4PÓQ€Hõ
õWð2"
ð &*ð	"
ð
 !%ð"
ð 48ð"
ð ÷"
õ "
rP   rÍ   c               ó$   € V ^8„  d   QhRRRRRR/# )rG   rF  r5   r‹  rì   rJ   r‚   rL   )rM   s   "rN   rO   rO   ¨  s)   € ÷ :Qñ :QØð:QØ#-ð:Qà	ñ:QrP   c                ó<  € ^ RI HpHp \        P                  P
                  P                  P                  4       RJpV'       d   V! V4       F  p\        R4      h	  R# V! V4       F1  pVP                   F  pWpP                  9  g   K  \        R4      h	  K3  	  R# )a�  
Validate symbolic content in output and raise _BypassDispatchCache if
caching should be bypassed.

Args:
    state: Cache key state containing known symbols
    output: Output to validate
    proxy_mode_active: Whether PROXY dispatch mode is currently active

Raises: _BypassDispatchCache: If output contains symbolic content that
    prevents caching

Details:

If our output contains any symbols that didn't appear in the input then we
need to bypass. Usually this will be unbacked symbols which can't be
properly reconstructed but there could be "weird" cases where backed symbols
spontaneously appear (from non-input state)?

If we're proxy (symbol) tracing and the output contains ANY symbols then we
need to bypass. The problem is that ProxyTorchDispatchMode relies on SymNode
object identity and being able to see the construction of SymNodes.

We could improve the proxy tracing case in a few ways:

1. If the output SymNodes are directly copied from inputs then this is
   actually fine - they're already tracked. This would probably be the
   biggest bang/buck.

2. If the output (tensors) are all direct copies of the inputs then this is
   also fine - since they're inputs they must be tracked. We already compute
   this we just don't plumb it around enough.

3. If the output SymNodes are already tracked by the proxy then this is also
   actually fine - they're properly tracked. This probably wouldn't be
   common since for most outputs we use torch.empty_strided() and recompute
   strides.

4. We could use the proxy to track "how" the SymNodes were computed and when
   using the cache we could "replay" them properly to teach the proxy how to
   build them.
)Ú_iterate_exprsÚ_iterate_nodesNzProxy mode with SymNode outputzunrepresented symbol in output)r�  r_  r`  rz   r‘  r’  r“  r”  r  r<  r™  )rF  r‹  r_  r`  rž  rå   r   rµ  s   &&      rN   rÐ  rÐ  ¨  sƒ   € ÷Z Uä—‘×&Ñ&×3Ñ3×BÑBÓDÈDÐP€Jßñ   Ö'ˆAÜ&Ð'GÓHÐHó (ñ   Ö'ˆAØŸ.œ.�Ø×!4Ñ!4Ö4Ü.Ð/OÓPÐPó )ó (rP   c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )rG   rÌ   rÍ   r™   r?   r…  rt  rÆ  r/   Úorig_not_implemented_exceptionr   rJ   rì   rL   )rM   s   "rN   rO   rO   æ  sD   € ÷ >'ñ >'Øð>'à
ð>'ð  ð>'ð ð	>'ð
 %1ð>'ð ñ>'rP   c                óZ  a aaa€ \         P                  P                  VP                  9   d   Sh/ o\	        4       ;_uu_ 4        R  V V3R llpV Uu. uF
  qe! V4      NK  	  pp\
        P                  W#4      w  rxV! V/ VB p	RRR4       \        4       oV FW  p
\        V
\        4      '       g   K  \        V
4      '       d   K.  SP                  V
P                  4       P                  4       KY  	  R V VVV3R llp\
        P                  VX	4      # u upi   + '       g   i     Lž; i)c               ó    € V ^8„  d   QhRRRR/# )rG   rˆ  rD   rJ   z
T | TensorrL   )rM   s   "rN   rO   Ú)run_fallback_kernel.<locals>.__annotate__ú  s   € ÷ 	ñ 	˜að 	 Jñ 	rP   c                óú   <€ SP                  V 4      '       dc   \        P                  ! W P                  R 7      pV P                  '       d    VP                  V P                  4       4       V S\        V4      &   V# V # )rÂ  )rE  rz   Ú
zeros_liker  r<  Ú_coalesced_rÉ  r'  )rˆ  rÕ   rÌ   Ú	inp_implss   & €€rN   Úto_real_tensorÚ+run_fallback_kernel.<locals>.to_real_tensorú  s\   ø€ Ø×$Ñ$ Q×'Ò'Ü×&Ò& q·±Ô?�Ø—;—;�;Ø—O‘O A§N¡NÓ$4Ô5Ø%&�	œ"˜S›'Ñ"Ø�
ØˆHrP   Nc               ó    € V ^8„  d   QhRRRR/# r"  rL   )rM   s   "rN   rO   re    s   € ÷ ñ �1ð ˜ñ rP   c                ó`  <€ \        V 4      S9  dI   \        V \        4      '       d3   \        V 4      '       g"   V P	                  4       P
                  S9   d   Sh\        V \        4      '       d?   \        V 4      S9   d   S\        V 4      ,          # SP                  P                  SV 4      # V # rR   )r'  rë   r   r   rP  Ú_cdatar,  r¶  )rˆ  rÌ   ri  rb  Ústoragess   &€€€€rN   Úmap_outÚ$run_fallback_kernel.<locals>.map_out  s‹   ø€ Üˆa‹5˜	Ô!Ü�qœ&×!Ò!Ü! !×$Ò$Ø× Ñ Ó"×)Ñ)¨XÔ5à0Ð0ä�aœ× Ò Ü�!‹u˜	Ô!Ø ¤ A£Õ'Ð'à ×6Ñ6×GÑGÈ	ÐSTÓUÐUàˆHrP   )rz   r­  r±  r¯  r)   r4  rv  rk  rë   r   r   rj  rP  rn  r0   )rÌ   r™   r…  rÆ  rb  rj  r  ra  rb  r  rˆ  rp  ri  ro  s   f&&&f       @@rN   rÅ  rÅ  æ  sí   û€ ô ‡y�y×Ñ §¡Ô*Ø,Ð,ð €Iô 
��÷	ñ 	ñ 1:Ó:±	¨1�^ AÖ&±	ˆ	Ð:Ü×,Ñ,¨YÓB‰ˆá�$Ð!˜&Ñ!ˆ÷ 
ô  &)£U€HãˆÜ�aœ× Ô Ü  ×#Ô#Ø—‘˜Q×-Ñ-Ó/×6Ñ6Ö7ñ ÷ó ô  �?‰?˜7 AÓ&Ð&ùòC ;÷ 
�ús   ÁDÁDÁ#!DÄDÄD*	c               ó(   € V ^8„  d   QhRRRRRRRR/# ©	rG   r  r  rÚ   ræ  rŠ  Ú_DispatchCacheEntryrJ   r‚   rL   )rM   s   "rN   rO   rO   '  s0   € ÷ ñ Ø7ðà	ðð ðð 
ñ	rP   c                ó.   € VP                  4        W V&   R # rR   )rû  ©r  rÚ   rŠ  s   &&&rN   rƒ  rƒ  '  s   € ð
 ×ÑÔØˆ#ƒJrP   c               ó(   € V ^8„  d   QhRRRRRRRR/# rs  rL   )rM   s   "rN   rO   rO   0  s0   € ÷ ñ Ø7ðà	ðð ðð 
ñ	rP   c                ó   € W V&   R # rR   rL   rv  s   &&&rN   r„  r„  0  s   € ð
 ˆ#ƒJrP   c                  ó2   € ] tR tRtR R ltRR R lltRtR# )	ÚFakeCopyModei:  c               ó    € V ^8„  d   QhRRRR/# )rG   rÌ   rÍ   rJ   r‚   rL   )rM   s   "rN   rO   ÚFakeCopyMode.__annotate__;  s   € ÷ #ñ # .ð #°Tñ #rP   c                	ó   € Wn         R # rR   ©rÌ   )rŠ   rÌ   s   &&rN   r‹   ÚFakeCopyMode.__init__;  s   € Ø"ŽrP   Nc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )rG   r™   r?   rr  rs  ra  rt  rb  zMapping[str, object] | NonerJ   rì   rL   )rM   s   "rN   rO   r|  >  s<   € ÷  -ñ  -àð -ð ð -ð ð	 -ð
 ,ð -ð 
ñ -rP   c                	óš  € V'       d   TM/ pV\         P                  P                  P                  J dg   \	        V^ ,          \
        4      '       g   \        R\        V^ ,          4       24      hV! V P                  P                  V^ ,          RR7      3/ VB # V\
        P                  J dÒ   \        V4      ^8w  g   \        V4      ^ 8w  d%   \        R\        V4       R\        V4       R24      h\        \
        V^ ,          4      p\        \        \        \        3,          V^,          4      p\!        V4      V9   d   V\!        V4      ,          # V P                  P                  VRR7      pWv\!        V4      &   V# \         P                  P#                  4       ;_uu_ 4        V! V/ VB uuRRR4       #   + '       g   i     R# ; i)r   r  T)r  z3Expected 2 args and 0 kwargs for __deepcopy__, got z
 args and z kwargsN)rz   r{   Ú
TensorBaserÏ  rë   r   rø   rö   rÌ   rn  Ú__deepcopy__rx  r   r¿   rè  rì   r'  ÚDisableTorchFunctionSubclass)rŠ   r™   rr  ra  rb  rV  ÚmemorÕ   s   &&&&&   rN   Ú__torch_function__ÚFakeCopyMode.__torch_function__>  su  € ÷ "‘ rˆð ”5—8‘8×&Ñ&×,Ñ,Ó,Ü˜d 1�g¤v×.Ò.Ü$Ð'<¼TÀ$ÀqÅ'»]¸OÐ%LÓMÐMÙØ—‘×*Ñ*¨4°­7À$Ð*ÓGñØKQñð ð ”V×(Ñ(Ó(Ü�4‹y˜AŒ~¤ V£°Ô!1Ü$ØIÌ#ÈdË)ÈÐT^Ô_bÐciÓ_jÐ^kÐkrÐsóð ô œ& $ q¥'Ó*ˆFÜœœS¤*˜_Õ-¨t°A­wÓ7ˆDä�&‹z˜TÔ!ØœB˜v›JÕ'Ð'à—.‘.×,Ñ,¨VÀ4Ð,ÓHˆCØ"”�F“ÑØˆJä—‘×6Ñ6×8Õ8Ù˜TÐ, VÑ,÷ 9×8×8Ó8ús   Æ&F9Æ9G
	r~  )rL   N)rj   rk   rl   rm   r‹   r†  ro   rL   rP   rN   rz  rz  :  s   † õ#÷ -ó  -rP   rz  c               ó    € V ^8„  d   QhRRRR/# )rG   ra  rt  rJ   r›   rL   )rM   s   "rN   rO   rO   a  s   € ÷ #ñ #Ð*ð #¨|ñ #rP   c                ó
  € \        V 4      ^8w  g   \        V ^ ,          \        4      '       g   \        R4      hV ^ ,          P                  P
                  '       d   \        P                  ! R4      # V ^ ,          P                  # )r†   z<Expected exactly one FakeTensor argument for _device_handlerr»  )	rx  rë   rì   rø   rÌ   rÍ  rz   rœ   r  ©ra  s   &rN   Ú_device_handlerr‹  a  sf   € ô ˆ4ƒy�A„~œZ¨¨Q­´×<Ò<ÜØJó
ð 	
ð ˆA…w×Ñ×-×-Ð-Ü�|Š|˜FÓ#Ð#à�A�w×"Ñ"Ð"rP   c               ó    € V ^8„  d   QhRRRR/# )rG   r…  rt  rJ   rK   rL   )rM   s   "rN   rO   rO   |  s   € ÷ >ñ >Ð#3ð >¸ñ >rP   c                ój   € \         ;QJ d    R  V  4       F  '       g   K   R# 	  R# ! R  V  4       4      # )c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5irR   )rË  )rÙ   ré   s   & rN   rÜ   Ú&_check_for_subclass.<locals>.<genexpr>}  s   é € Ð=±9¨aÔ& q×)Ð)³9ùr…  TF)rš  )r…  s   &rN   rÊ  rÊ  |  s+   € ß‹3Ñ=±9Ó=�3Œ3Ð=Š3Ð=ˆ3Ñ=±9Ó=Ó=Ð=rP   c               ó    € V ^8„  d   QhRRRR/# )rG   ré   rX   rJ   rK   rL   )rM   s   "rN   rO   rO   €  s   € ÷ ñ ˜vð ¨$ñ rP   c                ó8  € \        V \        4      '       d   R # \        V \        4      '       g   R # \        V 4      pV\        J d   R # \	        V\
        P                  P                  4      ;'       d    VP                  \        P                  J pV'       d   R # R# )FT)	rë   rì   r   rö   rz  rz   r•  r–  r‚  )ré   Úx_typeÚ#is_metadata_only_parameter_subclasss   &  rN   rË  rË  €  s|   € Ü�!”Z× Ò ÙÜ�aœ× Ò Ùä�!‹W€FØ”ÓÙô 	�6œ5Ÿ8™8×-Ñ-Ó.÷ 	Cð 	CØ×%Ñ%¬×)BÑ)BÐBð (÷ +ÙárP   c                óæ   € \         ;QJ d7    . R  \        \        V ^ ,          4      P                  4        4       F  NK  	  5# ! R  \        \        V ^ ,          4      P                  4        4       4      # )c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5irR   ©rè  ©rÙ   r   s   & rN   rÜ   Ú<lambda>.<locals>.<genexpr>š  s   é € ð 4Ù4�1ŒˆA�ˆÓ4ùr…  )rÔ  r   r   r  rŠ  s   &rN   rR  rR  š  sV   € ¯e¬eñ 4ÜœV T¨!¥WÓ-×2Ñ2Ô4ó4¯eð /¨eñ 4ÜœV T¨!¥WÓ-×2Ñ2Ô4ó4ô /rP   c                óæ   € \         ;QJ d7    . R  \        \        V ^ ,          4      P                  4        4       F  NK  	  5# ! R  \        \        V ^ ,          4      P                  4        4       4      # )c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5irR   r–  r—  s   & rN   rÜ   r˜  �  s   é € ð 6Ù6�1ŒˆA�ˆÓ6ùr…  )rÔ  r   r   rÂ  rŠ  s   &rN   rR  rR  �  sV   € ·´ñ 6ÜœV T¨!¥WÓ-×4Ñ4Ô6ó6·ð 1°ñ 6ÜœV T¨!¥WÓ-×4Ñ4Ô6ó6ô 1rP   c                ó^   € \        \        \        V ^ ,          4      P                  4       4      # r•  )rè  r   r   rÅ  rŠ  s   &rN   rR  rR     s    € ¼ÜŒV�T˜!•WÓ×,Ñ,Ó.ô9rP   )	Ú_device_not_kwarg_opsÚ_is_tensor_constructorÚ_like_tensor_constructorsÚcontains_tensor_typesrÜ  rï  rÝ  rî  rá  c               ó    € V ^8„  d   QhRRRR/# )rG   rÚ   ræ  rJ   r‚   rL   )rM   s   "rN   rO   rO   »  s   € ÷ &ñ &Ð%6ð &¸4ñ &rP   c                ór   € V \         P                  9   d"   \         P                  P                  V 4       R # R # rR   )rÍ   r  rÞ   r�  s   &rN   r�  r�  »  s)   € Ø
Œn×"Ñ"Ô"Ü×Ñ× Ñ  Ö%ñ #rP   c               ó   € V ^8„  d   QhRR/# r�   rL   )rM   s   "rN   rO   rO   Á  s   € ÷ 	;ñ 	;˜$ñ 	;rP   c                 óÐ  € \         P                  R 4       \         P                  R\        P                  4       \         P                  R\        P                  4       \        P
                  p V '       dq   \         P                  R4       \        R V  4       4      p\        V P                  4       R R7       F'  w  r#\         P                  RV^,           V R2V4       K)  	  R	# R	# )
zFakeTensor cache stats:z  cache_hits: %sz  cache_misses: %sz  cache_bypasses:c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5irR   )rx  )rÙ   rN  s   & rN   rÜ   Ú#dump_cache_stats.<locals>.<genexpr>È  s   é € Ð-¡H˜q”C˜—F�F£Hùr…  c                ó   € V ^,          ) # )r†   rL   )rä  s   &rN   rR  Ú"dump_cache_stats.<locals>.<lambda>É  s
   € ¸A¸a½D¹5rP   r�  z    %-*s %sr>  N)	r&  ÚinforÍ   r  r  r  ÚmaxÚsortedr¼   )r  ÚwidthrN  r  s       rN   Údump_cache_statsr¬  À  s    € ä‡H�HÐ&Ô'Ü‡H�HÐ¤×!:Ñ!:Ô;Ü‡H�HÐ!¤>×#>Ñ#>Ô?Ü×,Ñ,€HßÜ�‰Ð$Ô%ÜÑ-¡HÓ-Ó-ˆÜ˜8Ÿ>™>Ó+±×A‰DˆAÜ�H‰H�] E¨A¥I°!°°A¨w¸Ö:ó Bñ rP   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rG   r  rÍ   rN  útorch._ops.OpOverloadre  ztorch.TensorrJ   rL   )rM   s   "rN   rO   rO   Í  s,   € ÷ 9
ñ 9
Ø
ð9
Ø3ð9
Ø?Kð9
àñ9
rP   c           
     ó~  a€ R  V3R llpVP                  4       ^ 8w  d   V! RVP                  4        24       \        VP                  4       4       Uu. uF6  p\        P                  P
                  P                  V P                  4      NK8  	  ppR
.VP                  4       ,          p\        VP                  4       4       UUu. uF  w  rxW‡3NK
  	  p	ppV	P                  R R7       ^p
T
pV	 F^  w  r‡WŠ8w  d(   V! RVP                   RVP                  4        R24       W¶V&   W¢P                  V,          ,          p
WµV,          ,          pK`  	  V ;_uu_ 4        \        P                  ! VVVP                  VP                  VP                  R7      uuR	R	R	4       # u upi u uppi   + '       g   i     R	# ; i)c               ó    € V ^8„  d   QhRRRR/# )rG   r”   rs   rJ   r‚   rL   )rM   s   "rN   rO   Ú2_infer_fake_from_real_tensor.<locals>.__annotate__Ð  s   € ÷ 
ñ 
˜Cð 
 Dñ 
rP   c                ó<   <€ \        R SP                   RV  R24      h)zQpropagate_real_tensors: we cannot infer a Fake kernel (meta kernel) for operator z	 because z>. Please use torch.library.register_fake to add a Fake kernel.)r   rç  )r”   rN  s   &€rN   ÚunsupportedÚ1_infer_fake_from_real_tensor.<locals>.unsupportedÐ  s1   ø€ Üð*Ø*,¯(©(¨°9¸V¸Hð EKðLó
ð 	
rP   z'a return has a non-zero storage offset c                ó(   € V ^ ,          V ^,          ) 3# r•  rL   rî   s   &rN   rR  Ú._infer_fake_from_real_tensor.<locals>.<lambda>ó  s   €   !¥ q¨¥t e™}rP   r�  z(a return was not dense in memory (sizes z	 strides Ú))rœ   rž  r:  NrØ  )rÅ  rà  r   rz   r·  rê  Úallocate_sizerx  rá  rÂ  ÚsortrÁ  r  rœ   rž  r:  )r  rN  re  r³  rå   Ú
fake_shapeÚfake_stridesrã  r   rJ  ÚexpectedÚfake_strides   &f&         rN   r[  r[  Í  s„  ø€ ÷
ð 
ð ×ÑÓ  AÔ%ÙØ5°h×6MÑ6MÓ6OÐ5PÐQô	
ô �x—|‘|“~Ô&óá&ˆAô 	�‰× Ñ ×.Ñ.¨t¯~©~Ö>Ù&ð ð ð �4˜(Ÿ,™,›.Õ(€LÜ&/°·±Ó0AÔ&BÔCÑ&B™F˜C�‹xÑ&B€GÑCØ‡L�LÑ,€LÔ-Ø€HØ€KÛ‰ˆØŒ=ÙØ:¸8¿>¹>Ð:JÈ)ÐT\×TcÑTcÓTeÐSfÐfgÐhôð (�SÑØŸn™n¨SÕ1Õ1ˆØ!¨s¥OÕ3Šñ ÷ 
ŠÜ×"Ò"ØØØ—?‘?Ø—.‘.Ø—?‘?ô
÷ 
Šùò5ùó D÷ 
�ˆús   Á<F ÃF%Å9F+Æ+F<	c               ó(   € V ^8„  d   QhRRRRRRRR/# )rG   r  rÍ   rN  r®  re  r   rJ   rL   )rM   s   "rN   rO   rO   	  s,   € ÷ 6ñ 6Ø
ð6Ø3ð6Ø?Bð6àñ6rP   c                óp  € V P                   f   \        R4      h\        P                  V4      w  r4\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \        RVP                   24      hV Uu. uF  p\        WV4      NK  	  pp\        P                  Wd4      # u upi )Nzmode.shape_env must not be Nonec              3  óV   "  € T F  p\        V\        P                  4      x € K!  	  R # 5irR   )rë   rz   r   r‰  s   & rN   rÜ   Ú5inferred_fake_kernel_from_real_out.<locals>.<genexpr>  s   é € ÐB±M¨qŒz˜!œUŸ\™\×*Ð*³Mùs   ‚')FTzPpropagate_real_tensors: we don't support operators that return non-Tensors. Got )	rx  rø   r4  ru  rÎ  r   r"  r[  rv  )r  rN  re  Úreal_flat_outÚspecr  Úfake_flat_outs   &&&    rN   ræ  ræ  	  s§   € ð ‡~�~ÒÜÐ>Ó?Ð?ô
 !×-Ñ-¨hÓ7Ñ€Mß‹3ÑB±MÓB�3�3Š3ÑB±MÓB×BÒBÜð Ø "§
¡
˜|ð-ó
ð 	
ñ
 IVÓVÉÀ1Ô1°$¸AÖ>É€MÐVÜ× Ñ  Ó5Ð5ùò Ws   ÂB3)ÞÚ
__future__r   Úatexitr  rÒ  r›  r+  r§  râ  Ú	threadingr5  rr  Útypingr¸   Úcollectionsr   r   r   r   r   r	   r
   r   r   Útyping_extensionsr   r   r   r   rz   Útorch._library.utilsr·  r¸  r×  r   r   r   r   Útorch._C._functorchr   r   Útorch._custom_class_baser   Ú"torch._library.fake_class_registryr   Útorch._library.fake_profiler   Útorch._loggingr   Útorch._prims_commonr   Útorch._subclasses.meta_utilsr   r   r   r   r    Útorch._utilsr!   r"   Útorch.fx.immutable_collectionsr#   Útorch.fx.operator_schemasr$   Ú torch.multiprocessing.reductionsr%   Útorch.overridesr&   Útorch.typesr'   r(   Útorch.utils._mode_utilsr)   Útorch.utils._python_dispatchr*   r+   r,   Útorch.utils._pytreer-   r.   r/   r0   r1   r2   Útorch.utils._statsr3   Útorch.utils._tracebackr4   Ú_fake_tensor_utilsr5   r6   r7   Úcollections.abcr8   r9   r:   r;   r<   r=   Útorch._guardsr>   Ú
torch._opsr?   r�  r@   rA   Ú	getLoggerrj   r&  Ú_loggingÚgetArtifactLoggerr  r{  rO  rˆ  rs   r`  ÚDimListÚ_pytreer4  rD   r}  r(  r)  rC  rˆ   r{   Ú_dispatch_key_parserT   rU   rW   Ú	frozensetrn   rK  r  r}   r   r   r“   r—   r¦   r©   r«   r­   r¯   Úlocalr±   ri  rÁ   ÚcontextmanagerrÉ   rÒ   ræ   rï   r÷   r  r  r  r  r$  r/  r7  r>  r@  rÉ  rÔ  rÜ  rÞ  ræ  rì   rÄ  rÀ  rä  ræ  rþ  r  r  r  rt  r$  r  r  rÍ   rX   Ú_StoragePointerrÐ  rÅ  rƒ  r„  rz  r‹  rÊ  rË  rw  rœ   r+  r  rÂ  rÅ  ry  rÉ  rË  rÌ  ÚprofilerÚ_record_function_exitÚ_RecordFunctionr-  Útorch._subclasses.fake_implsrœ  r�  rž  rŸ  rÜ  rï  rÝ  rî  rá  r�  Úregisterr¬  r[  ræ  rL   rP   rN   Ú<module>rñ     s0  ðÝ "ã Û Û Û Û Û Û 	Û Û Û Û Û Ý #Ý !ß O× OÑ Oß 5Ñ 5Ý !ã ß ,Ð ,ß 3Ó 3ß TÝ 4Ý ?Ý 8Ý ,Ý 5÷õ ÷ HÝ 9Ý 8Ý ;Ý -ß 1Ý /÷ñ ÷
 W× VÝ $Ý 4ç RÑ R÷ ßPÕPÝ#å$Ý%ßOà×Ò˜Ó!€Ø	�‰×	)Ñ	)¨(Ð4JÓ	K€ðØŸ.™.×:Ñ:¸8ÐEVÓWÐð €à	�‰×	Ñ	€ÙˆCƒL€à‡z�z‡~�~×Ñ€àÐ à€à—x‘x×3Ñ3°KÓ@Ð õQô¨¸%õ ñ* 09Ø&×6Ò6ó0Ð ,ð ‡‚ôó ð÷ñ ð ô \ó ó ðô
 Lô 
ð  ô ,ó ó ðð ô <ó ó ðð ô <ó ó ðð ô¨<ó ó ðð ô˜Ló ó ðôG�I—O’Oô Gñ  “/€õ&ð ×Òô-ó ð-ð ×Òô,ó ð,õõ&Aõ õF õFõõð ‡‚ô.ó ð.ð ‡‚ô	Dó ð	Dõ@õ
÷$uñ uðp	 ‡‚ô
ó ð
ð ×Òô@ó ð@õ.÷Bñ B÷FEñ FEôRj4�ô j4ðZ ˜Ð&7Ð9LÐLÕMÐ ñ �Ô÷*%ð *%ó ð*%õZ(ñV �Ô÷$ð $ó ð$÷8	ñ 	ñ �$˜dÔ#÷3ð 3ó $ð3ñ$ �$˜dÔ#÷
"ð 
"ó $ð
"ñ �$˜dÔ#÷ð ó $ð÷ Ø2Ð5NÕNÐñ �$˜dÔ#ô˜9ó ó $ðñ �$˜dÔ#÷ð ó $ðô(j
Ð&ô j
ðZ= €õ:Qõ|>'õBõô$-Ð$ô $-õN#õ6>õð2 
‡I�I‡N‚N×Ò×!Ò! ?Ø	‡I�I‡N�N×Ò×Òñ "ð 
‡I�I‡N�N×Ò×!Ò!ñ $ð 
‡I�I‡N�N×!Ò!×)Ò)ñ ,ðÐ ñ (Ø	‡I�I‡N�N×Ò×'Ò'Ø	‡I�I‡N�N×Ò×$Ò$Ø	‡I�I‡N�N×Ò×%Ò%ð 
‡I�I×Ò×,Ò,×<Ò<óÐ ÷
÷ 
õ 
õ&ð
 ‡‚ô	;ó ð	;õ9
÷x6øðEv ô Ø)©S°«VÔ3Ø%×/Ò/°Ð;MÕ0MÓNÖàˆûð	ús   Å/Y  Ù ZÙ'&ZÚZÚZ