+
    –°³jï
 ã                   óŽ  a € R t†0 t R 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HtHtHt ^ RIHtHt ^ RIHtHt ^ RIt^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ RIHt ^ R	I H!t!H"t" ^ R
I#H$t$H%t%H&t& ^ RI'H(t(H)t)H*t*H+t+ ^ RI,H-t-H.t.H/t/H0t0H1t1 ^ RI2H3t3H4t4H5t5 ^ RI6H7t7 ^ RI8H9t9H:t:H;t; ^ RI<H=t=H>t> ^ RI?H@t@ ^RIAHBtB ]! R4      tC]%! 4       sD]"]PŠ                  PŒ                  nG        ]!]PŠ                  P�                  nG        ]PŠ                  P�                  tHR]Hn        R]HnI        R]HnJ        ]@! ]HR4       R tK]K]HnL        ]-'       d   ]Pš                  ! RRR.4      tNMR tNR]Nn        R tOR tPR  tQ ! R! R"4      tR ! R# R$]R4      tS ! R% R&]T4      tU ! R' R(4      tV ! R) R*]W4      tXR+ tY ! R, R-4      tZR. R/ lt[]-'       Ed‘   . R€Ot\ ! R0 R14      t]]\ F  t^R2 t_]`! ]]]^]_4       K  	   ! R3 R4]7]UR57      ta ! R6 R7]a4      tb]bPÆ                  PÉ                  4        FW  w  tetf]g! ]f4      '       g   ]h! ]f]i4      '       g   K%  ]ePÕ                  R84      '       g   ]k! ]a]e4      '       d   KM  ]`! ]a]e]f4       KY  	  R9 tl0 R:kR;kR<kR=kR>kR?kR@kRAkRBkRCkRkRDkREkRFkRGkRHkRIkRJkRKkRLkRMkRNkROkRPkRQkRRkRSkRTkRUkRVkRWkRXkRYkRZkR[kR\kR]ktmR^ tn]l! ]PÞ                  Pn                  4       Fl  w  tetp]ePÕ                  R84      '       g   ]ePã                  R_4      '       d   K6  ]e]bPÆ                  9  g   KI  ]e]m9  g   KR  ]`! ]b]pP’                  ]n! ]e4      4       Kn  	  M4 ! R` R14      t] ! Ra R4]PÞ                  Pn                  4      ta ! Rb R7]a4      tbRc trRd tsRe ttR�Rf ltuRgsv] ^ k R‚Rh Ri lltwR‚Rj Rk lltxRl tyRm tzRn t{Ro t|Rp Rq lt}Rr t~]PŠ                  Pþ                  t]@! ]R4       RƒRs Rt llt€ ! Ru Rv4      t� ! Rw Rx4      t‚ ! Ry Rz4      tƒR{ t„]! ]„R|4       ]! ]EP
                  R}4       ]! ]9R~4       ]! ]:R~4       ]! ];R~4       R# )„zàTorchScript.

This module contains functionality to support the JIT's scripting frontend, notably:
    - torch.jit.script

This is not intended to be imported directly; please use the exposed
functionalities in `torch.jit`.
N)ÚCallableÚIteratorÚMappingÚSequence)ÚAnyÚTypeVar)Ú
deprecatedÚSelf)Úclasses)Ú_get_model_idÚ_qualified_name)Úlog_torchscript_usage)Ú_register_builtin)Ú
_graph_forÚ_script_method_graph_for)ÚJitTypeTraceConfigÚJitTypeTraceStoreÚmonkeytype_trace)Ú_compile_and_register_classÚinfer_methods_to_compileÚScriptMethodStubÚwrap_cpp_module)Ú_enabledÚ_set_jit_function_cacheÚ_set_jit_overload_cacheÚ_try_get_jit_cached_functionÚ_try_get_jit_cached_overloads)Úget_default_argsÚget_jit_class_defÚget_jit_def)ÚModule)Úhas_torch_functionÚhas_torch_function_unaryÚhas_torch_function_variadic)ÚPackageExporterÚPackageImporter)Ú
set_module)Úvalidate_map_locationÚ_Tz†
Functionally equivalent to a :class:`ScriptModule`, but represents a single
function and does not have any attributes or Parameters.
ÚScriptFunctionútorch.jit.ScriptFunctionz	torch.jitc                 ó.   € \         P                  ! R 4      h)z ScriptFunction cannot be pickled©ÚpickleÚPickleError©Úclss   &ÚR/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/jit/_script.pyÚ_reducer2   O   s   € Ü
×
Ò
Ð?Ó
@Ð@ó    Ú	AttributeÚvalueÚtypec                 ó   € V # ©N© )r5   r6   s   &&r1   r4   r4   Z   s   € Øˆr3   a¨  
    This method is a pass-through function that returns `value`, mostly
    used to indicate to the TorchScript compiler that the left-hand side
    expression is a class instance attribute with type of `type`. Note that
    `torch.jit.Attribute` should only be used in `__init__` method of `jit.ScriptModule`
    subclasses.

    Though TorchScript can infer correct type for most Python expressions, there are some cases where
    type inference can be wrong, including:

    - Empty containers like `[]` and `{}`, which TorchScript assumes to be container of `Tensor`
    - Optional types like `Optional[T]` but assigned a valid value of type `T`, TorchScript would assume
      it is type `T` rather than `Optional[T]`

    In eager mode, it is simply a pass-through function that returns `value`
    without other implications.

    Example:

    .. testcode::

        import torch
        from typing import Dict

        class AttributeModule(torch.jit.ScriptModule):
            def __init__(self) -> None:
                super().__init__()
                self.foo = torch.jit.Attribute(0.1, float)

                # we should be able to use self.foo as a float here
                assert 0.0 < self.foo

                self.names_ages = torch.jit.Attribute({}, Dict[str, int])
                self.names_ages["someone"] = 20
                assert isinstance(self.names_ages["someone"], int)

        m = AttributeModule()
        # m will contain two attributes
        # 1. foo of type float
        # 2. names_ages of type Dict[str, int]

    .. testcleanup::

        del AttributeModule
        del m

    Note: it's now preferred to instead use type annotations instead of `torch.jit.Attribute`:

    .. testcode::

        import torch
        from typing import Dict

        class AttributeModule(torch.nn.Module):
            names: Dict[str, int]

            def __init__(self) -> None:
                super().__init__()
                self.names = {}

        m = AttributeModule()

    .. testcleanup::

        del AttributeModule
        del m

    Args:
        value: An initial value to be assigned to attribute.
        type: A Python type

    Returns:
        Returns `value`
c                  ó   € \         # r8   )Útype_trace_dbr9   r3   r1   Ú_get_type_trace_dbr<   ª   s   € äÐr3   c                 ó   € \        WR 4      # r8   )Úgetattr)r0   Únames   &&r1   Ú_get_function_from_typer@   °   s   € Ü�3˜dÓ#Ð#r3   c                 ón   € \        V R 4      '       d#   R\        V 4      9   ;'       g    \        V R4      # R# )Ú	__class__Ú__dict__Ú	__slots__N)ÚhasattrÚdirr/   s   &r1   Ú_is_new_style_classrG   ¶   s2   € Üˆs�K× Ò ØœS ›XÑ%×BÐB¬°°kÓ)BÐBñ !r3   c                   óV   a € ] tR t^Êt o R tR tR tR tR tR t	R t
R tR	 tR
tV tR# )ÚOrderedDictWrapperc                ó   € Wn         R # r8   ©Ú_c)ÚselfrL   s   &&r1   Ú__init__ÚOrderedDictWrapper.__init__Ë   s   € ØŽr3   c                óV   € V P                  4        UUu. uF  w  rVNK	  	  upp# u uppi r8   ©Úitems©rM   ÚkÚvs   &  r1   ÚkeysÚOrderedDictWrapper.keysÎ   ó"   € Ø"Ÿj™jœlÔ+™l‘d�a“™lÒ+Ð+ùÓ+ó   ”%c                óV   € V P                  4        UUu. uF  w  rVNK	  	  upp# u uppi r8   rQ   rS   s   &  r1   ÚvaluesÚOrderedDictWrapper.valuesÑ   rX   rY   c                ó4   € \        V P                  4       4      # r8   )Úlenr[   ©rM   s   &r1   Ú__len__ÚOrderedDictWrapper.__len__Ô   s   € Ü�4—;‘;“=Ó!Ð!r3   c                ó   € \        R 4      h)z6cannot delete methods or parameters of a script module©ÚRuntimeError©rM   rT   s   &&r1   Ú__delitem__ÚOrderedDictWrapper.__delitem__×   s   € ÜÐSÓTÐTr3   c                ó6   € V P                   P                  4       # r8   )rL   rR   r_   s   &r1   rR   ÚOrderedDictWrapper.itemsÚ   s   € Ø�w‰w�}‰}‹Ðr3   c                ód   € W9  d   \        R V 24      hV P                  P                  W4       R# )zICan't add a new parameter after ScriptModule construction. Tried to add 'N)rd   rL   ÚsetattrrS   s   &&&r1   Ú__setitem__ÚOrderedDictWrapper.__setitem__Ý   s2   € ØŒ=ÜØ[Ð\]Ð[^Ð_óð ð 	�‰�‰˜Ör3   c                ó8   € V P                   P                  V4      # r8   )rL   Úcontainsre   s   &&r1   Ú__contains__ÚOrderedDictWrapper.__contains__ä   s   € Ø�w‰w×Ñ Ó"Ð"r3   c                óZ   € W9  d   \        V4      hV P                  P                  V4      # r8   )ÚKeyErrorrL   r>   re   s   &&r1   Ú__getitem__ÚOrderedDictWrapper.__getitem__ç   s$   € ØŒ=Ü˜1“+ÐØ�w‰w�‰˜qÓ!Ð!r3   rK   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rN   rV   r[   r`   rf   rR   rl   rp   rt   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r1   rI   rI   Ê   s8   ø‡ € òò,ò,ò"òUòòò#÷"ð "r3   rI   c                   óJ   a a€ ] tR t^ít oV 3R ltR tR tR tR tRt	Vt
V ;t# )ÚOrderedModuleDictc                ól   <€ \         SV `  \        P                  P	                  V4      4       W n        R # r8   )ÚsuperrN   ÚtorchÚ_CÚ
ModuleDictÚ_python_modules)rM   ÚmoduleÚpython_dictrB   s   &&&€r1   rN   ÚOrderedModuleDict.__init__î   s'   ø€ Ü‰ÑœŸ™×,Ñ,¨VÓ4Ô5ð  +Ör3   c                ó:   € V P                   P                  4       pV# r8   )r…   rR   ©rM   Úrs   & r1   rR   ÚOrderedModuleDict.itemsø   s   € Ø× Ñ ×&Ñ&Ó(ˆØˆr3   c                ó   € WP                   9   # r8   ©r…   re   s   &&r1   rp   ÚOrderedModuleDict.__contains__ü   s   € Ø×(Ñ(Ñ(Ð(r3   c                ó¦   € \        V\        4      '       d,   V P                  P                  W4       W P                  V&   R# \        R V RV 24      h)zgCannot re-assign modules in a ScriptModule with non-scripted module, tried to replace existing module 'z': N)Ú
isinstanceÚScriptModulerL   rk   r…   rd   rS   s   &&&r1   rl   ÚOrderedModuleDict.__setitem__ÿ   sR   € ô �aœ×&Ò&Ø�G‰G�O‰O˜AÔ!Ø&'× Ñ  Ó#äð=Ø=>¸C¸sÀ1À#ðGóð r3   c                ó(   € V P                   V,          # r8   rŽ   re   s   &&r1   rt   ÚOrderedModuleDict.__getitem__  s   € Ø×#Ñ# AÕ&Ð&r3   rŽ   )rv   rw   rx   ry   rN   rR   rp   rl   rt   rz   r{   Ú__classcell__©rB   r}   s   @@r1   r   r   í   s#   ù‡ € õ+òò)ò÷&'ò 'r3   r   c                   ó2   a a€ ] tR tRt oV 3R ltRtVtV ;t# )Ú
ScriptMetai  c                óê  <a a	€ / S n         \        \        S R R	4      4      S n        \	        V4       Fk  p\        VR/ 4      P                  4        F  w  rVVS P                   V&   K  	  \        VR\        4       4      pS P                  P                  V4      S n        Km  	  \        VP                  4       4       FL  w  rV\        V\        4      '       g   K  \        S V4       VS P                   VP                  P                  &   KN  	  \        S RR4      '       d   \        S
S `9  WV4       R# \        S RR 4      o	\        P                   ! S	4      V V	3R l4       pVS n        \        S
S `9  WV4       R# )
Ú__constants__Ú_methodsÚ_constants_setÚ_disable_script_metaFNrN   c                 ó   € R # r8   r9   r_   s   &r1   Ú<lambda>Ú%ScriptMeta.__init__.<locals>.<lambda>6  s   € ¹dr3   c                 óü  <€ \        S	P                  4      pS
! V .VO5/ VB  \        S	P                  4      V8„  p\        V 4      S	J d³   R  p\        P                  P
                  P                  WV'       * R7      V P                  R&   V P                  P                  pVP                  4        F  p\        W4       K  	  VP                  4        F  w  rx\        W4       K  	  R F  p\        W4       K  	  R# R# )c                 óÌ   € \        V 4      p\        VR 4      '       d8   \        VP                  P	                  4       4       UUu. uF  w  r#VNK	  	  upp# \        V 4      # u uppi )rœ   )r6   rE   Úsortedrœ   rR   r   )r†   r0   rT   rU   s   &   r1   Ú
make_stubsÚAScriptMeta.__init__.<locals>.init_then_script.<locals>.make_stubs@  sT   € Ü˜v›,�CÜ˜s J×/Ò/Ü.4°S·\±\×5GÑ5GÓ5IÔ.JÔKÑ.J¡d a£Ñ.JÒKÐKä7¸Ó?Ð?ùó  Ls   ÁA )Úshare_typesÚ_actual_script_moduleN)Ú_parametersÚ_buffersÚ_modules)r^   rœ   r6   r‚   ÚjitÚ
_recursiveÚcreate_script_modulerC   r¨   Ú_concrete_typeÚget_attributesÚdelattrÚget_modules)rM   ÚargsÚkwargsÚnum_methodsÚadded_methods_in_initr¥   Úconcrete_typer?   Ú_r0   Úoriginal_inits   &*,      €€r1   Úinit_then_scriptÚ-ScriptMeta.__init__.<locals>.init_then_script8  sã   ø€ ä˜cŸl™lÓ+ˆKÙ˜$Ð0 Ò0¨Ò0Ü$'¨¯©Ó$5¸Ñ$CÐ!ä�D‹z˜SÓ ò@ô —I‘I×(Ñ(×=Ñ=ØÐ:OÔ6Oð >ó ð —‘Ð5Ñ6ð !%× :Ñ :× IÑ I�Ø)×8Ñ8Ö:�DÜ˜DÖ'ñ ;à,×8Ñ8Ö:‘G�DÜ˜DÖ'ñ  ;ãC�DÜ˜DÖ'ó Dñ/ !r3   r9   )rœ   Úsetr>   r�   ÚreversedrR   Úunionr¤   r‘   r   r±   Úoriginal_methodrv   r�   rN   Ú	functoolsÚwraps)r0   r?   ÚbasesÚattrsÚbaserT   rU   Úbase_constantsrº   r¹   rB   s   f&&&     @€r1   rN   ÚScriptMeta.__init__  s5  ú€ à')ˆŒÜ ¤¨¨o¸rÓ!BÓCˆÔÜ˜U–OˆDÜ  j°"Ó5×;Ñ;Ö=‘�Ø"#�—‘˜Q“ñ >ä")¨$Ð0@Ä#Ã%Ó"HˆNØ!$×!3Ñ!3×!9Ñ!9¸.Ó!IˆCÖñ	 $ô ˜5Ÿ;™;›=Ö)‰DˆAÜ˜!Ô-×.Ô.Ü˜˜Q”Ø;<�—‘˜Q×.Ñ.×7Ñ7Ó8ñ *ô
 �3Ð.°×6Ò6ô ‰GÑ˜T¨%Ô0Ùä  ZÑ1BÓCˆä	�Š˜Ó	'õ	(ó 
(ð	(ð> (ˆŒÜ‰Ñ˜ eÖ,r3   r9   ©rv   rw   rx   ry   rN   rz   r{   r–   r—   s   @@r1   r™   r™     s   ù‡ € ÷:-õ :-r3   r™   c                   ó&   a € ] tR tRt o R tRtV tR# )Ú_CachedForwardi\  c                ó$   € V P                  R 4      # )Úforward)Ú__getattr__)rM   Úobjr0   s   &&&r1   Ú__get__Ú_CachedForward.__get__]  s   € Ø×Ñ 	Ó*Ð*r3   r9   N)rv   rw   rx   ry   rÎ   rz   r{   r|   s   @r1   rÉ   rÉ   \  s   ø‡ € ÷+ð +r3   rÉ   c                   ó   € ] tR tRtRtR# )ÚScriptWarningia  r9   N©rv   rw   rx   ry   rz   r9   r3   r1   rÑ   rÑ   a  s   † Ûr3   rÑ   c                 ó*  € \         P                  R8¼  d   \        P                  ! R\        4       M\        P                  ! R\        4       \
        '       g   V # \        P                  ! ^R7      p\        W P                  RR7      p\        WV 4      # )é   z}`torch.jit.script_method` is not supported in Python 3.14+ and may break. Please switch to `torch.compile` or `torch.export`.z\`torch.jit.script_method` is deprecated. Please switch to `torch.compile` or `torch.export`.©Ú	frames_upr’   )Ú	self_name©rÔ   é   )ÚsysÚversion_infoÚwarningsÚwarnÚFutureWarningr   Ú_jit_internalÚ!createResolutionCallbackFromFramer   rv   r   )ÚfnÚ_rcbÚasts   &  r1   Úscript_methodrä   e  st   € Ü
×Ñ˜7Ô"Ü�ŠðBäõ	
ô 	�ŠØjÜô	
÷ ‹8Øˆ	ô ×:Ò:ÀQÔG€DÜ
�bŸ+™+°Ô
@€CÜ˜D rÓ*Ð*r3   c                   óD   a € ] tR tRt o V 3R lR ltV 3R lR ltRtV tR# )ÚConstMapi„  c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# )é   Úconst_mappingÚreturnN)r   Ústrr   )Úformatr}   s   "€r1   Ú__annotate__ÚConstMap.__annotate__…  s$   ø€ ÷ +ñ +¡g©c±3¨hÕ&7ð +¸Dñ +r3   c                ó   € Wn         R # r8   ©ré   )rM   ré   s   &&r1   rN   ÚConstMap.__init__…  s   € Ø*Ör3   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©rè   Úattrrê   ©rë   r   )rì   r}   s   "€r1   rí   rî   ˆ  s   ø€ ÷ (ñ (¡ð (©ñ (r3   c                ó(   € V P                   V,          # r8   rð   )rM   rô   s   &&r1   rÌ   ÚConstMap.__getattr__ˆ  s   € Ø×!Ñ! $Õ'Ð'r3   rð   N)rv   rw   rx   ry   rN   rÌ   rz   r{   r|   s   @r1   ræ   ræ   „  s   ø‡ € ÷+ð +÷(ö (r3   ræ   c                ód   € V ^8„  d   QhR\         R\        R\        P                  P                  /# )rè   ÚimporterÚscript_module_idrê   )r%   rë   r‚   Únnr    )rì   s   "r1   rí   rí   Œ  s,   € ÷ 'ñ 'Üð'Ü14ð'ä
‡X�X‡_�_ñ'r3   c                óf  € \        V P                  \        P                  P                  4      '       g   \        R4      h\        P                  P                  4       p\        P                  P                  VV P                  V P                  \        V P                  4      V4      p\        V4      # )z®
Call by ``torch.package.PackageImporter``'s Pickler's ``persistent_load`` function.

Performs work of loading and returning a ScriptModule from a ``torch.package`` archive.
z{Loading ScriptObjects from a PackageImporter created from a directory is not supported. Use a package archive file instead.)r‘   Ú
zip_readerr‚   rƒ   ÚPyTorchFileReaderrd   ÚCompilationUnitÚ_import_ir_module_from_packageÚstorage_contextr'   Úlast_map_locationr   )rù   rú   ÚcuÚ
cpp_modules   &&  r1   Úunpackage_script_moduler  Œ  s�   € ô �h×)Ñ)¬5¯8©8×+EÑ+E×FÒFÜðNó
ð 	
ô 
�‰×	!Ñ	!Ó	#€BÜ—‘×8Ñ8Ø
Ø×ÑØ× Ñ Ü˜h×8Ñ8Ó9Øó€Jô ˜:Ó&Ð&r3   c                   ó�   a a€ ] tR tRt oRtV 3R ltV3R lV 3R lltV3R lV 3R lltV3R lR	 ltR
 t	V3R lR lt
RtVtV ;t# )ÚRecursiveScriptClassiÄ  a  Wrapper for a TorchScript class instance for use in Python.

An analogue of RecursiveScriptModule for regular objects that are not modules.
This class is a wrapper around a torch._C.ScriptObject that represents an instance
of a TorchScript class and allows it to be used in Python.

Attributes:
    _c [torch._C.ScriptObject]: The C++ object to which attribute lookups and method
        calls are forwarded.
    _props [Dict[str, property]]: A dictionary of properties fetched from self._c and
        exposed on this wrapper.
c                ó&  <€ \         SV `  4        R V P                  R&   Wn        V P                  P	                  4        Uu/ uF.  pVP
                  \        VP                  VP                  4      bK0  	  upV n	        RV P                  R&   R# u upi )TÚ_initializingFN)
r�   rN   rC   rL   Ú_propertiesr?   ÚpropertyÚgetterÚsetterÚ_props)rM   Ú	cpp_classÚproprB   s   && €r1   rN   ÚRecursiveScriptClass.__init__Ò  s|   ø€ Ü‰GÑÔØ-1ˆD�M‰M˜/Ñ*ØŒGð
 !ŸG™G×/Ñ/Ô1óá1�Dð —	‘	œ8 D§K¡K°·±Ó=Ò=Ù1ñˆDŒKð
 .3ˆD�M‰M˜/Ó*ùòs   Á4Bc                ó&   <€ V ^8„  d   QhRS[ RS[/# ró   rõ   )rì   r}   s   "€r1   rí   Ú!RecursiveScriptClass.__annotate__ß  s   ø€ ÷ 	*ñ 	*¡Cð 	*©Cñ 	*r3   c                óò   <€ V P                   P                  R 4      '       d   \        SV `  V4      # WP                  9   d"   V P                  V,          P                  4       # \        V P                  V4      # )r	  )rC   Úgetr�   rÌ   r  Úfgetr>   rL   ©rM   rô   rB   s   &&€r1   rÌ   Ú RecursiveScriptClass.__getattr__ß  s[   ø€ Ø�}‰}× Ñ  ×1Ò1Ü‘wÑ*¨4Ó0Ð0à—{‘{Ô"Ø—{‘{ 4Õ(×-Ñ-Ó/Ð/ä˜4Ÿ7™7 DÓ)Ð)r3   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# ©rè   rô   r5   rê   Nrõ   )rì   r}   s   "€r1   rí   r  è  s"   ø€ ÷ 	*ñ 	*¡Cð 	*±ð 	*¸ñ 	*r3   c                óø   <€ V P                   P                  R 4      '       d   \        SV `  W4      # WP                  9   d#   V P                  V,          P                  V4      # \        V P                  W4       R# )r	  N)rC   r  r�   Ú__setattr__r  Úfsetrk   rL   ©rM   rô   r5   rB   s   &&&€r1   r  Ú RecursiveScriptClass.__setattr__è  sZ   ø€ Ø�}‰}× Ñ  ×1Ò1Ü‘wÑ*¨4Ó7Ð7à—{‘{Ô"Ø—{‘{ 4Õ(×-Ñ-¨eÓ4Ð4ä�D—G‘G˜TÖ)r3   c                ó2   <€ V ^8„  d   QhRS[ RS[RS[RS[/# ©rè   Úmethod_namer³   r´   rê   rõ   )rì   r}   s   "€r1   rí   r  ó  s-   ø€ ÷ 	0ñ 	0Ù"ð	0Ù+.ð	0Ù:=ð	0áñ	0r3   c                ó‚   € V P                   P                  V4      '       g   \        hV P                  V4      pV! V/ VB # r8   )rL   Ú_has_methodÚ	TypeErrorrÌ   ©rM   r"  r³   r´   Úself_methods   &&*, r1   Úforward_magic_methodÚ)RecursiveScriptClass.forward_magic_methodó  s>   € ð —7‘7×&Ñ& {×3Ò3Ü�à×*Ñ*¨;Ó7ˆKÙ Ð/¨Ñ/Ð/r3   c                ó.   € \         P                  ! R 4      h)zScriptClasses cannot be pickledr,   r_   s   &r1   Ú__getstate__Ú!RecursiveScriptClass.__getstate__ü  s   € Ü×$Ò$Ð%FÓGÐGr3   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )rè   Úotherrê   ©r	   )rì   r}   s   "€r1   rí   r  ÿ  s   ø€ ÷ 	Cñ 	C¡$ð 	C©4ñ 	Cr3   c                óŒ   € V P                   P                  R 4      '       d   V P                  R V4      # V P                  RV4      # )Ú__iadd__Ú__add__)rL   r$  r(  )rM   r.  s   &&r1   r1  ÚRecursiveScriptClass.__iadd__ÿ  s=   € Ø�w‰w×"Ñ" :×.Ò.Ø×0Ñ0°¸UÓCÐCà×0Ñ0°¸EÓBÐBr3   )rL   r  )rv   rw   rx   ry   Ú__doc__rN   rÌ   r  r(  r+  r1  rz   r{   r–   r—   s   @@r1   r  r  Ä  sE   ù‡ € ñ	õ	3÷	*ó 	*÷	*ó 	*÷	0ð 	0ò	H÷	C÷ 	Cð 	Cr3   r  c                 ó6   € V P                   ! \        .VO5/ VB # r8   )r(  r"  ©rM   r³   r´   s   &*,r1   Úmethod_templater7    s   € Ø×,Ò,¬[ÐJ¸4ÒJÀ6ÑJÐJr3   c                   ó²   a a€ ] tR tRt oRt. ROtV3R lV 3R llt]! 4       tV3R lV 3R llt	V3R lV 3R llt
R	 tR
 tV3R lR ltV3R ltRtVtV ;t# )r’   i  a  Wrapper for C++ torch::jit::Module with methods, attributes, and parameters.

A wrapper around C++ ``torch::jit::Module``. ``ScriptModule``\s
contain methods, attributes, parameters, and
constants. These can be accessed the same way as on a normal ``nn.Module``.
c                ó   <€ V ^8„  d   QhRR/# ©rè   rê   Nr9   )rì   r}   s   "€r1   rí   ÚScriptModule.__annotate__$  s   ø€ ÷ 	ñ 	˜dñ 	r3   c                ó$   <€ \         SV `  4        R # r8   ©r�   rN   )rM   rB   s   &€r1   rN   ÚScriptModule.__init__$  ó   ø€ Ü‰GÑÖr3   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ró   rõ   )rì   r}   s   "€r1   rí   r;  )  s   ø€ ÷ 	=ñ 	=¡Cð 	=©Cñ 	=r3   c                óp   <€ R V P                   9  d   \        SV `	  V4      # \        V P                  V4      # )r¨   )rC   r�   rÌ   r>   r¨   r  s   &&€r1   rÌ   ÚScriptModule.__getattr__)  s2   ø€ Ø&¨d¯m©mÔ;Ü‘wÑ*¨4Ó0Ð0Ü˜4×5Ñ5°tÓ<Ð<r3   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# r  rõ   )rì   r}   s   "€r1   rí   r;  .  s"   ø€ ÷ 	=ñ 	=¡Cð 	=±ð 	=¸ñ 	=r3   c                óB  <€ R V P                   9  dw   \        V\        4      '       dR   RV P                  P                   9  d   / V P                  n        VP
                  V P                  V&   VP                  p\        SV `!  W4      # \        V P                  W4       R# )r¨   Ú__annotations__N)rC   r‘   r4   rB   rE  r6   r5   r�   r  rk   r¨   r  s   &&&€r1   r  ÚScriptModule.__setattr__.  s{   ø€ Ø&¨d¯m©mÔ;ô ˜e¤Y×/Ò/ð
 )°·±×0GÑ0GÔGØ9;˜Ÿ™Ô6Ø16·±�D×(Ñ(¨Ñ.Ø!ŸK™K�EÜ‘wÑ*¨4Ó7Ð7ä�D×.Ñ.°Ö<r3   c                ó,  € R V P                   9   d   V P                  P                  V4      # \        P                  ! ^R7      p\
        P                  P                  V4      p\        W#R4      V P                  VP                  4       P                  &   R# )r¨   rÕ   N)rC   r¨   Údefinerß   rà   r‚   rƒ   Ú_parse_source_defr   rœ   r?   )rM   ÚsrcÚrcbrã   s   &&  r1   rH  ÚScriptModule.defineC  sl   € Ø&¨$¯-©-Ô7ð ×1Ñ1×8Ñ8¸Ó=Ð=ô  ×AÒAÈAÔNˆCÜ—(‘(×,Ñ,¨SÓ1ˆCÜ-=¸cÈÓ-MˆD�M‰M˜#Ÿ(™(›*Ÿ/™/Ó*r3   c                ó6   € V P                   P                  4       # r8   )r¨   Ú_replicate_for_data_parallelr_   s   &r1   rN  Ú)ScriptModule._replicate_for_data_parallelY  s   € Ø×-Ñ-×JÑJÓLÐLr3   c                ó    <€ V ^8„  d   QhRS[ /# )rè   Úexporter)r$   )rì   r}   s   "€r1   rí   r;  \  s   ø€ ÷ 	Bñ 	B©ñ 	Br3   c                ó’   € VP                  4       pVP                  P                  V P                  \	        V4      4       \
        V33# )ap  Save a ScriptModule inside of a ``torch.package`` archive.

Called by ``torch.package.PackageExporter``'s Pickler's ``persistent_id`` when
saving TorchScript objects. Performs act of saving a ScriptModule inside of
a ``torch.package`` archive.

Returns method to load the ScriptModule from a ``torch.package.PackageImporter``'s
Pickler's ``persistent_load`` function.
)Úget_unique_idÚscript_module_serializerÚ	serializerL   Úintr  )rM   rQ  rú   s   && r1   Ú__reduce_package__ÚScriptModule.__reduce_package__\  sB   € ð  (×5Ñ5Ó7ÐØ×-Ñ-×7Ñ7¸¿¹ÄÐEUÓAVÔWÜ+Ð.>Ð-@ÐAÐAr3   c                ó:   <€ V ^8„  d   Qh/ S[ RS[3,          ;R&   # )rè   .rË   )r   r   )rì   r}   s   "€r1   rí   r;    s   ø‡ ‚ ñ& ˜#™s˜(Õ#Ñ6ò' r3   r9   )ÚcodeÚcode_with_constantsÚgraphÚinlined_graphÚoriginal_name)rv   rw   rx   ry   r4  Ú__jit_unused_properties__rN   rÉ   rË   rÌ   r  rH  rN  rW  Ú__annotate_func__rz   r{   r–   r—   s   @@r1   r’   r’     sZ   ù‡ € ñ	ò%
Ð!÷	ó 	ñ '5Ó&6ˆ÷	=ó 	=÷
	=ó 	=ò*	Nò,	M÷	Bð 	B÷Q … r3   r’   )Ú	metaclassc                   óö  a a€ ] tR tRt oRtRtV 3R lt]R 4       t]R 4       t	R t
]R 4       t]R	 4       t]R
 4       t]R 4       tR t]! R4      R 4       t]! R4      R 4       tV3R lR ltV3R lR ltV3R lR ltV3R lR lt]R 4       tR tV3R lV 3R lltV3R lV 3R lltV3R lR ltV3R  lR! ltV3R" lR# ltV3R$ lR% ltV3R& lR' lt R( t!R) t"V3R* lV 3R+ llt#R, t$R- t%R.t&Vt'V ;t(# )/ÚRecursiveScriptModuleij  aÊ  Retain the existing isinstance(ScriptModule) behavior.

The core data structure in TorchScript is the ``ScriptModule``. It is an
analogue of torch's ``nn.Module`` and represents an entire model as a tree of
submodules. Like normal modules, each individual module in a ``ScriptModule`` can
have submodules, parameters, and methods. In ``nn.Module``\s methods are implemented
as Python functions, but in ``ScriptModule``\s methods are implemented as
TorchScript functions, a statically-typed subset of Python that contains all
of PyTorch's built-in Tensor operations. This difference allows your
``ScriptModule``\s code to run without the need for a Python interpreter.

``ScriptModule``\s should not be created manually, instead use
either :func:`tracing <torch.jit.trace>` or :func:`scripting <torch.jit.script>`.
Tracing and scripting can be applied incrementally and :ref:`composed as necessary <Types>`.

* Tracing records the tensor operations as executed with a set of example inputs and uses these
  operations to construct a computation graph. You can use the full dynamic behavior of Python with tracing,
  but values other than Tensors and control flow aren't captured in the graph.

* Scripting inspects the Python code of the model
  and compiles it to TorchScript. Scripting allows the use of many `types`_ of values and supports dynamic control flow.
  Many, but not all features of Python are supported by the compiler, so changes to the source code may be necessary.
Tc                óf   <€ R V P                   R&   Wn        \        SV `  4        \	        V R4       R# )Tr	  ÚtrainingN)rC   rL   r�   rN   r±   )rM   r  rB   s   &&€r1   rN   ÚRecursiveScriptModule.__init__ˆ  s-   ø€ Ø-1ˆD�M‰M˜/Ñ*Ø ŒGÜ‰GÑÔô �D˜*Ö%r3   c                óV   € \        V 4      pV! V4       \         P                  V4       V# )a  
Construct a RecursiveScriptModule that's ready for use.

PyTorch code should use this to construct a RecursiveScriptModule instead
of instead of calling `__init__` directly, as it makes sure the
object is properly finalized (and in the future, we may take
control of how the RecursiveScriptModule instance is created).

Args:
    cpp_module:  The C++ Module that will hold the actual state of
                 this RecursiveScriptModule instance.
    init_fn:  Lambda that initializes the RecursiveScriptModule passed to it.
)rc  Ú_finalize_scriptmodule)r  Úinit_fnÚscript_modules   && r1   Ú
_constructÚ RecursiveScriptModule._construct‘  s,   € ô 2°*Ó=ˆMÙ�MÔ"ô
 "×8Ñ8¸ÔGØ Ð r3   c                ó:  € \        \        P                  P                  V P                  4      4      V n        \        \        P                  P                  V P                  4      4      V n        \        V P                  V P                  4      V n	        R V n
        R# )FN)rI   r‚   rƒ   ÚParameterDictrL   r©   Ú
BufferDictrª   r   r«   r	  ©rj  s   &r1   rh  Ú,RecursiveScriptModule._finalize_scriptmodule©  sx   € ä(:Ü—‘×&Ñ& }×'7Ñ'7Ó8ó)ˆMÔ%ô &8Ü—‘×#Ñ# M×$4Ñ$4Ó5ó&ˆMÔ"ô &7Ø× Ñ  -×"8Ñ"8ó&ˆMÔ"ð +0ˆMÖ'r3   c                óL  € V P                  V4       \        P                  P                  P	                  V P
                  P                  4       4      V n        / p\        P                  P                  V P
                  4      P                  4        F  w  r1\        V4      W#&   K  	  \        V P
                  V4      V n        \        \        P                  P                  V P
                  4      4      V n        \        \        P                  P!                  V P
                  4      4      V n        V P$                  P                  4        UUu/ uF3  w  rE\'        V\        P                  P(                  4      '       d   K1  WEbK5  	  uppV n        RV P$                  R&   R# u uppi )z´
Re-construct an instance of RecursiveScriptModule using an instance of a C++ module.

Args:
    cpp_module: The C++ module that this RecursiveScriptModule will be rebuilt around.
Fr	  N)rN   r‚   rƒ   ÚConcreteModuleTypeÚfrom_jit_typerL   Ú_typer¯   r„   rR   r   r   r«   rI   rn  r©   ro  rª   rC   r‘   ÚScriptMethod)rM   r  Úmodulesr?   rT   rU   s   &&    r1   Ú_reconstructÚ"RecursiveScriptModule._reconstruct¶  s)  € ð �M‰M˜*Ô%ô #(§(¡(×"=Ñ"=×"KÑ"KØ—‘—‘“ó#ˆDÔð
 ˆGÜ$)§H¡H×$7Ñ$7¸¿¹Ó$@×$FÑ$FÖ$HÑ �Ü /°
Ó ;�“ñ %Iä-¨d¯g©g°wÓ?ˆDŒMô  2´%·(±(×2HÑ2HÈÏÉÓ2QÓRˆDÔÜ.¬u¯x©x×/BÑ/BÀ4Ç7Á7Ó/KÓLˆDŒMð
 !ŸM™M×/Ñ/Ô1ôá1‘D�AÜ! !¤U§X¡X×%:Ñ%:×;ô �’Ù1òˆDŒMð
 .3ˆD�M‰M˜/Ó*ùós   Å.F Æ F c                óL   € V P                   P                  R4      P                  # )zPReturn a string representation of the internal graph for the ``forward`` method.rË   )rL   Ú_get_methodr\  r_   s   &r1   r\  ÚRecursiveScriptModule.graphÖ  s   € ð —7‘7×&Ñ& yÓ1×7Ñ7Ð7r3   c                ó.   € V P                   P                  # )zœ
Return a string representation of the internal graph for the ``forward`` method.

This graph will be preprocessed to inline all function and method calls.
)rË   r]  r_   s   &r1   r]  Ú#RecursiveScriptModule.inlined_graphÛ  s   € ð —<‘<×-Ñ-Ð-r3   c                ó.   € V P                   P                  # )zt
Return a pretty-printed representation (as valid Python syntax) of the internal graph for the ``forward`` method.

)rË   rZ  r_   s   &r1   rZ  ÚRecursiveScriptModule.codeä  s   € ð —<‘<×$Ñ$Ð$r3   c                ód   € V P                   P                  pV^ ,          \        V^,          4      3# )a4  Return a tuple.

Returns a tuple of:

[0] a pretty-printed representation (as valid Python syntax) of
the internal graph for the ``forward`` method. See `code`.
[1] a ConstMap following the CONSTANT.cN format of the output in [0].
The indices in the [0] output are keys to the underlying constant's values.

)rË   r[  ræ   rŠ   s   & r1   r[  Ú)RecursiveScriptModule.code_with_constantsì  s*   € ð —‘×0Ñ0ˆAØ�a•Dœ( 1 Q¥4›.Ð)Ð)r3   c                óN   € V P                   P                  ! \        V4      3/ VB # )a1  Save with a file-like object.

save(f, _extra_files={})

See :func:`torch.jit.save <torch.jit.save>` which accepts a file-like object.
This function, torch.save(), converts the object to a string, treating it as a path.
DO NOT confuse these two functions when it comes to the 'f' parameter functionality.
)rL   Úsaverë   )rM   Úfr´   s   &&,r1   r„  ÚRecursiveScriptModule.saveû  s    € ð —7‘7—<’<¤ A£Ñ1¨&Ñ1Ð1r3   z”Lite Interpreter is deprecated. Please consider switching to ExecuTorch.             https://docs.pytorch.org/executorch/stable/getting-started.htmlc                ót   € \         P                  ! R\        ^R7       V P                  P                  ! V/ VB # )a&  Add (or update) the bytecode session to the script model.

_save_for_lite_interpreter(f)

The updated model is used
in lite interpreter for mobile applications.

Args:
    f: a string containing a file name.
    _extra_files: Map from filename to contents which will be stored as part of 'f'.

ú˜Lite Interpreter is deprecated. Please consider switching to ExecuTorch.                 https://docs.pytorch.org/executorch/stable/getting-started.html©Ú
stacklevel)rÜ   rÝ   rÞ   rL   Ú_save_for_mobiler6  s   &*,r1   Ú_save_for_lite_interpreterÚ0RecursiveScriptModule._save_for_lite_interpreter  s8   € ô" �MŠMðQäØõ	ð —7‘7×+Ò+¨TÐ<°VÑ<Ð<r3   c                ót   € \         P                  ! R \        ^R7       V P                  P                  ! V/ VB # )rˆ  r‰  )rÜ   rÝ   rÞ   rL   Ú_save_to_buffer_for_mobiler6  s   &*,r1   Ú$_save_to_buffer_for_lite_interpreterÚ:RecursiveScriptModule._save_to_buffer_for_lite_interpreter  s8   € ô
 �MŠMðQäØõ	ð —7‘7×5Ò5°tÐF¸vÑFÐFr3   c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[ /# ©rè   r³   r´   rê   ©r   )rì   r}   s   "€r1   rí   Ú"RecursiveScriptModule.__annotate__,  s"   ø€ ÷ 	;ñ 	;©ð 	;±sð 	;¹sñ 	;r3   c                ó:   € V P                   P                  ! V/ VB # r8   )rL   Úsave_to_bufferr6  s   &*,r1   r—  Ú$RecursiveScriptModule.save_to_buffer,  s   € Ø—7‘7×)Ò)¨4Ð:°6Ñ:Ð:r3   c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[ /# r“  r”  )rì   r}   s   "€r1   rí   r•  /  s"   ø€ ÷ 	-ñ 	-©ð 	-¹ð 	-Áñ 	-r3   c                ó6   € V P                   P                  4       # r8   )rL   Úget_debug_stater6  s   &*,r1   r›  Ú%RecursiveScriptModule.get_debug_state/  s   € Ø—7‘7×*Ñ*Ó,Ð,r3   c                ó    <€ V ^8„  d   QhRS[ /# ©rè   rê   ©rë   )rì   r}   s   "€r1   rí   r•  2  s   ø€ ÷ 	9ñ 	9¡ñ 	9r3   c                ó    € R V P                    2# )zoriginal_name=)r^  r_   s   &r1   Ú
extra_reprÚ RecursiveScriptModule.extra_repr2  s   € Ø# D×$6Ñ$6Ð#7Ð8Ð8r3   c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[ /# r“  r”  )rì   r}   s   "€r1   rí   r•  5  s'   ø€ ÷ 	Añ 	A¡3ð 	A±#ð 	A¹#ñ 	Ar3   c                óB   € V P                   P                  ! V .VO5/ VB # r8   )rË   Ú	graph_forr6  s   &*,r1   r¥  ÚRecursiveScriptModule.graph_for5  s!   € Ø—<‘<×)Ò)¨$Ð@°Ò@¸Ñ@Ð@r3   c                óä   € \        V 4      \        V P                  P                  4       P	                  4       4      J d   R # \        V P                  P                  4       P	                  4       4      # ©Ú )r6   rë   rL   ru  r?   r_   s   &r1   r^  Ú#RecursiveScriptModule.original_name8  sI   € ô �D‹zœS §¡§¡£×!5Ñ!5Ó!7Ó8Ó8ÙÜ�t—w‘w—}‘}“×+Ñ+Ó-Ó.Ð.r3   c                ó€   € \         P                  ! ^R7      pV P                  P                  V P                  W4       R# )é   rÕ   N)rß   rà   rL   Ú_definer¯   )rM   rJ  rK  s   && r1   rH  ÚRecursiveScriptModule.define?  s,   € ô  ×AÒAÈAÔNˆCØ�G‰G�O‰O˜D×/Ñ/°Ö:r3   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ró   rõ   )rì   r}   s   "€r1   rí   r•  K  s   ø€ ÷ 	-ñ 	-¡Cð 	-©Cñ 	-r3   c                óò  <€ R V P                   9  d   \        R4      hV P                  '       d   \        SV `  V4      # WP
                  9   d   V P
                  V,          # V P                  P                  V4      '       d   V P                  P                  V4      # V P                  P                  V4      '       d,   V P                  P                  V4      pW P                   V&   V# \        SV `  V4      # )r	  zKScriptModule has not been initialized, did you forget to call super's init?)rC   rd   r	  r�   rÌ   r«   rL   rE   r>   r$  r{  )rM   rô   rä   rB   s   && €r1   rÌ   Ú!RecursiveScriptModule.__getattr__K  sË   ø€ Ø d§m¡mÔ3Ü"Øaóð ð ×!×!Ð!Ü‘wÑ*¨4Ó0Ð0ð —}‘}Ô$Ø—}‘} TÕ*Ð*Ø—‘—‘ ×&Ò&Ø—w‘w—‘ tÓ,Ð,Ø—‘×$Ñ$ T×*Ò*Ø $§¡× 3Ñ 3°DÓ 9�ð '4—‘˜dÑ#Ø$Ð$ä‘7Ñ& tÓ,Ð,r3   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# r  rõ   )rì   r}   s   "€r1   rí   r•  c  s"   ø€ ÷ 	8ñ 	8¡Cð 	8±ð 	8¸ñ 	8r3   c                ó¤  <€ V P                   '       d   \        SV `	  W4      # WP                  9   d   W P                  V&   R# V P                  P                  V4      '       d   V P                  P                  W4       R# \        V R 4      '       d1   WP                  P                  4       9   d   \        RV RV R24      h\        SV `	  W4      # )r¯   z+Cannot mutate TorchScript constant value: 'z'. Value: 'Ú'N)
r	  r�   r  r«   rL   rE   rk   r¯   Úget_constantsÚAttributeErrorr  s   &&&€r1   r  Ú!RecursiveScriptModule.__setattr__c  s±   ø€ Ø×!×!Ð!Ü‘wÑ*¨4Ó7Ð7à—}‘}Ô$Ø&+—‘˜dÓ#Ø—‘—‘ ×&Ò&Ø—‘—‘ Ö,ä˜Ð.×/Ò/Ø×/Ñ/×=Ñ=Ó?Ô?ô %ØAÀ$ÀÀ{ÐSXÐRYÐYZÐ[óð ô ‘wÑ*¨4Ó7Ð7r3   c                ó    <€ V ^8„  d   QhRS[ /# rž  r/  )rì   r}   s   "€r1   rí   r•  ~  s   ø€ ÷ 	Lñ 	L™dñ 	Lr3   c                ó�   € \         P                  P                  P                  \        P                  ! V P
                  4      4      # r8   )r‚   r¬   r­   r   ÚcopyrL   r_   s   &r1   Ú__copy__ÚRecursiveScriptModule.__copy__~  s*   € Ü—9‘9×'Ñ'×7Ñ7¼¿	º	À$Ç'Á'Ó8JÓKÐKr3   c                óJ   <€ V ^8„  d   QhRS[ S[S[3,          R,          RS[/# )rè   ÚmemoNrê   )ÚdictrV  r   r	   )rì   r}   s   "€r1   rí   r•  �  s,   ø€ ÷ 	Vñ 	V¡T©#©s¨(¥^°dÕ%:ð 	V¹tñ 	Vr3   c                ó’   € \         P                  P                  P                  \        P
                  ! V P                  V4      4      # r8   )r‚   r¬   r­   r   rº  ÚdeepcopyrL   )rM   r¾  s   &&r1   Ú__deepcopy__Ú"RecursiveScriptModule.__deepcopy__�  s,   € Ü—9‘9×'Ñ'×7Ñ7¼¿ºÀdÇgÁgÈtÓ8TÓUÐUr3   c                ó2   <€ V ^8„  d   QhRS[ RS[RS[RS[/# r!  rõ   )rì   r}   s   "€r1   rí   r•  ˆ  s-   ø€ ÷ 	0ñ 	0Ù"ð	0Ù+.ð	0Ù:=ð	0áñ	0r3   c                ót   € \        W4      p\        VR R4      \        \        V4      8X  d   \        hV! V/ VB # )Ú__func__N)r>   rc  ÚNotImplementedErrorr&  s   &&*, r1   r(  Ú*RecursiveScriptModule.forward_magic_methodˆ  sC   € ô " $Ó4ˆKÜ�{ J°Ó5¼Ü% {ó:ô ô *Ð)Ù Ð/¨Ñ/Ð/r3   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rž  )r   r   )rì   r}   s   "€r1   rí   r•  ’  s   ø€ ÷ 	9ñ 	9™h¡s�mñ 	9r3   c                ó$   € V P                  R 4      # )Ú__iter__©r(  r_   s   &r1   rË  ÚRecursiveScriptModule.__iter__’  s   € Ø×,Ñ,¨ZÓ8Ð8r3   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rè   Úidxrê   ©rV  r   )rì   r}   s   "€r1   rí   r•  •  s   ø€ ÷ 	Añ 	A¡3ð 	A©3ñ 	Ar3   c                ó&   € V P                  R V4      # )rt   rÌ  )rM   rÏ  s   &&r1   rt   Ú!RecursiveScriptModule.__getitem__•  s   € Ø×,Ñ,¨]¸CÓ@Ð@r3   c                ó$   € V P                  R 4      # )r`   rÌ  r_   s   &r1   r`   ÚRecursiveScriptModule.__len__˜  s   € Ø×,Ñ,¨YÓ7Ð7r3   c                ó&   € V P                  R V4      # )rp   rÌ  )rM   Úkeys   &&r1   rp   Ú"RecursiveScriptModule.__contains__›  s   € Ø×,Ñ,¨^¸SÓAÐAr3   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rž  )r   rë   )rì   r}   s   "€r1   rí   r•     s   ø€ ÷ 	!ñ 	!™X¡c�]ñ 	!r3   c                ó‚   <€ V P                   pVP                  \        \        R 4      J d   \        SV `  4       # V! 4       # )Ú__dir__)rÚ  rÆ  r@   rc  r�   )rM   r'  rB   s   & €r1   rÚ  ÚRecursiveScriptModule.__dir__   s=   ø€ ØŸ,™,ˆKà×$Ñ$Ü*Ô+@À)ÓLóMô ‘w‘Ó(Ð(Ù“=Ð r3   c                óh   € V P                   pVP                  \        \        R 4      J d   R# V! 4       # )Ú__bool__T)rÝ  rÆ  r@   rc  )rM   r'  s   & r1   rÝ  ÚRecursiveScriptModule.__bool__¬  s2   € ØŸ-™-ˆKà×$Ñ$Ü*Ô+@À*ÓMóNñ Ù“=Ð r3   c                ód   € R  p\         P                  V P                  P                  4       V4      # )c                 ó   € R # r8   r9   rp  s   &r1   ri  ÚCRecursiveScriptModule._replicate_for_data_parallel.<locals>.init_fn¸  s   € ár3   )rc  rk  rL   rN  )rM   ri  s   & r1   rN  Ú2RecursiveScriptModule._replicate_for_data_parallelµ  s.   € òô
 )×3Ñ3Ø—‘×4Ñ4Ó6¸óð r3   )rC   rª   rL   r¯   r«   r©   ))rv   rw   rx   ry   r4  rž   rN   Ústaticmethodrk  rh  rx  r  r\  r]  rZ  r[  r„  r   rŒ  r�  r—  r›  r¡  r¥  r^  rH  rÌ   r  r»  rÂ  r(  rË  rt   r`   rp   rÚ  rÝ  rN  rz   r{   r–   r—   s   @@r1   rc  rc  j  s�  ù‡ € ñ	ð0  $Ðõ	&ð 
ñ	!ó 
ð	!ð. 
ñ
	0ó 
ð
	0ò	3ð@ 
ñ	8ó 
ð	8ð 
ñ	.ó 
ð	.ð 
ñ	%ó 
ð	%ð 
ñ	*ó 
ð	*ò		2ñ 
ðMó

ñ	=ó	

ð	=ñ* 
ðMó

ñ	Gó	

ð	G÷	;ð 	;÷	-ð 	-÷	9ð 	9÷	Að 	Að 
ñ	/ó 
ð	/ò
	;÷	-ó 	-÷0	8ó 	8÷6	Lð 	L÷	Vð 	V÷	0ð 	0÷	9ð 	9÷	Að 	Aò	8ò	B÷
	!ó 	!ò	!÷
	ò 
	r3   rc  Ú__c                 ó<   a€ ^ RI oSP                  ! V V3R lR7      # )é    Nc                 ó\   <€ SP                   ! V 4      ;'       g    SP                  ! V 4      # r8   )Ú
isfunctionÚismethod)ÚxÚinspects   &€r1   r    Ú_get_methods.<locals>.<lambda>Ö  s&   ø€  W×%7Ò%7¸Ó%:×%QÐ%Q¸g×>NÒ>NÈqÓ>QÐ%Qr3   )Ú	predicate)rë  Ú
getmembers)r0   rë  s   &@r1   Ú_get_methodsrï  Ñ  s!   ø€ Ûð ×!Ò!ØÔQô
ð 	
r3   rË   Úregister_bufferÚregister_parameterÚregister_moduleÚ
add_moduleÚ_applyÚapplyÚcudaÚcpuÚtoÚfloatÚdoubleÚhalfÚ
state_dictÚ_save_to_state_dictÚload_state_dictÚ_load_from_state_dictÚ_named_membersÚ
parametersÚnamed_parametersÚbuffersÚnamed_buffersÚchildrenÚnamed_childrenrw  Únamed_modulesÚ	zero_gradÚshare_memoryÚ	_get_namer¡  Ú_slow_forwardÚ_tracing_nameÚevalÚtrainÚget_extra_stateÚset_extra_statec                 ó   a € V 3R  lpV# )c                 ó(   <€ \        SR ,           4      h)z" is not supported on ScriptModulesrc   )rM   r³   r´   r?   s   &*,€r1   ÚfailÚ_make_fail.<locals>.fail  s   ø€ Ü˜tÐ&JÕJÓKÐKr3   r9   )r?   r  s   f r1   Ú
_make_failr    s   ø€ õ	Lð ˆr3   Ú
_call_implc                   ó   € ] tR tRtRtR# )r  i  r9   NrÒ   r9   r3   r1   r  r    s   † Ûr3   c                   ó6   a a€ ] tR tRt oRV 3R lltRtVtV ;t# )r’   i  c                ó$   <€ \         SV `  4        R # r8   r=  ©rM   ÚargrB   s   &&€r1   rN   r>    r?  r3   r9   r8   rÇ   r—   s   @@r1   r’   r’     ó   ù‡ € ÷	÷ 	r3   c                   ó6   a a€ ] tR tRt oRV 3R lltRtVtV ;t# )rc  i  c                ó$   <€ \         SV `  4        R # r8   r=  r  s   &&€r1   rN   rf    r?  r3   r9   r8   rÇ   r—   s   @@r1   rc  rc    r  r3   c                 ó  € \        V \        P                  P                  4      '       g   V # \	        V 4      pW!9   d   V\	        V 4      ,          # \        V R 4      '       d   V P                  4       MT p WV&   / pV P                  P                  4        FÏ  w  rEVR8X  dq   VP                  4        FV  w  rg\        V\        P                  P                  4      '       g   K1  \        V\        4      '       d   KI  \        Wq4      WV&   KX  	  WSV&   K|  \        V\        P                  P                  4      '       d&   \        V\        4      '       g   \        WQ4      W4&   KË  WSV&   KÑ  	  VP                  4        F  pWpP                  X&   K  	  V # )Ú__prepare_scriptable__r«   )r‘   r‚   rû   r    ÚidrE   r   rC   rR   r’   Ú!call_prepare_scriptable_func_implr[   )rÍ   r¾  Úobj_idÚnew_obj_dictr?   Ú
sub_modulerT   rU   s   &&      r1   r"  r"     sA  € Ü�cœ5Ÿ8™8Ÿ?™?×+Ò+Øˆ
ä�‹W€Fð „~Ø”B�s“G�}Ðô )0°Ð5M×(NÒ(Nˆ×"Ñ"Ô$ÐTWð ð ˆ�Là€LàŸL™L×.Ñ.Ö0ÑˆØ�:ÔØ"×(Ñ(Ö*‘�ô ˜a¤§¡§¡×1Ô1¼*ÀQÌ×:UÔ:UÜ$EÀaÓ$N�J“Mñ	 +ð
 ",˜ÓÜ˜
¤E§H¡H§O¡O×4Ò4¼ZØœ÷>
ò >
ô "CÀ:Ó!TˆLÓà!+˜Óñ 1ð × Ñ Ö"ˆØ�‰�TÓñ #ð €Jr3   c                 ó   € / p\        W4      # r8   )r"  )rÍ   r¾  s   & r1   Úcall_prepare_scriptable_funcr'  J  s   € Ø')€DÜ,¨SÓ7Ð7r3   c                ó@   € \         P                  P                  V 4      # )aŽ  
Create a ``torch._C.ScriptDict`` instance with the data from ``obj``.

Args:
    obj (dict): The Python dictionary that is used to initialize the ``ScriptDict``
                returned by this function.

Returns:
    An instance of ``torch._C.ScriptDict`` that has the same data as ``obj``
    and can be passed between Python and TorchScript with reference semantics and
    zero copy overhead.
)r‚   rƒ   Ú
ScriptDict)rÍ   s   &r1   Úcreate_script_dictr*  O  s   € ô �8‰8×Ñ˜sÓ#Ð#r3   c                ó@   € \         P                  P                  V 4      # )a‡  
Create a ``torch._C.ScriptList`` instance with the data from ``obj``.

Args:
    obj (dict): The Python list that is used to initialize the ``ScriptList``
                returned by this function.
Returns:
    An instance of ``torch._C.ScriptList`` that has the same data as ``obj``
    and can be passed between Python and TorchScript with reference semantics and
    zero copy overhead.
)r‚   rƒ   Ú
ScriptList)rÍ   Ú	type_hints   &&r1   Úcreate_script_listr.  _  s   € ô �8‰8×Ñ˜sÓ#Ð#r3   Tc                ó–   € V ^8„  d   QhR\         \        ,          \        \        \         \        ,          3,          ,          R,          /# )rè   Úexample_inputsN)ÚlistÚtupler¿  r   )rì   s   "r1   rí   rí   q  s5   € ÷ H=ñ H=ô
 œ•K¤$¤x´´eµÐ'<Õ"=Õ=ÀÕDñH=r3   c                 óZ	  € Ve   \         P                  ! R\        ^R7       \        V \        4      '       d   V # \        V \
        4      '       d   V # \        V \        4      '       d   V # V'       dË   \        4       s\        '       d�   \        \        4      p\        V4      ;_uu_ 4        \        V\        4      '       d*   VP                  4        F  w  rgV F	  pV! V!   K  	  K  	  M1\        V\        4      '       d   V F	  p	V ! V	!   K  	  M\        R4      hR R R 4       M\         P                  ! R^R7       \        V \        P                   P"                  4      '       dX   \%        V 4      p \        P&                  P(                  P+                  V \        P&                  P(                  P,                  4      # \/        V R4      '       d   V P1                  4       MT p \        V \        4      '       d   \3        V 4      # \        V \        4      '       d   \5        V 4      # \6        P8                  ! V 4      '       dÛ   \;        V 4      p
\=        V \        P                   P"                  4      '       d   \?        RV  R24      h\=        V \@        PB                  4      '       d   V # \E        V 4      '       g   \?        R4      h\G        V PI                  4       4      ^8”  d   \?        R	4      hVf   \J        PL                  ! V^,           4      p\O        WV
4       V # \6        PP                  ! V 4      '       g   \6        PR                  ! V 4      '       Ed   \;        V 4      p
\/        V R
4      '       d#   V PT                  p \J        PV                  ! V 4      p\/        V R4      '       d   \?        RV PX                  ,           4      h\[        V 4       \]        V 4      pV'       d	   Wn/        V# \a        W Pb                  4      pVf   \J        PV                  ! V 4      p\        Pd                  Pg                  W¬V\i        V 4      4      pV Pj                  Vn5        RVn1        RVn6        Wn/        \o        W4       V# \        P&                  P(                  Pq                  V 4      #   + '       g   i     ELn; i)Nz^`optimize` is deprecated and has no effect. Use `with torch.jit.optimized_execution()` insteadr‰  zˆError: Unable to infer types. Please format the inputs to type `List[Tuple]` or `Dict[Callable, List[Tuple]]` to be run with MonkeyType.zîWarning: monkeytype is not installed. Please install https://github.com/Instagram/MonkeyType to enable Profile-Directed Typing in TorchScript. Refer to https://github.com/Instagram/MonkeyType/blob/master/README.rst to install MonkeyType. r   zType 'zO' cannot be compiled since it inherits from nn.Module, pass an instance insteadzLTorchScript classes must be new-style classes. Please inherit from 'object'.z\TorchScript classes does not support inheritance yet. Please directly inherit from 'object'.Ú__script_if_tracing_wrapperÚ__script_unsupportedzTorchScript error: r)   r*   )9rÜ   rÝ   rÞ   r‘   r  r’   r)   r   r;   r   r   r¿  rR   r1  Ú
ValueErrorr‚   rû   r    r'  r¬   r­   r®   r   rE   r   r*  r.  rë  Úisclassr   Ú
issubclassrd   ÚenumÚEnumrG   r^   Úmrorß   rà   r   rè  ré  Ú__original_fnÚ#createResolutionCallbackFromClosurer5  Ú"_check_directly_compile_overloadedr   Ú_torchdynamo_inliner   rv   rƒ   Ú_jit_script_compiler   r4  rx   r   Úcreate_script_class)rÍ   ÚoptimizeÚ
_frames_uprâ   r0  Úmonkeytype_configr†   Úexample_inputÚexampleÚexamplesÚqualified_nameÚmaybe_already_compiled_fnrã   rá   s   &&&&&         r1   Ú_script_implrJ  q  sÆ  € ð ÒÜ�ŠðAäØõ		
ô �#Ô+×,Ò,Øˆ
Ü�#”|×$Ò$Øˆ
Ü�#”~×&Ò&Øˆ
çô
 *Ó+ˆßÓä 2´=Ó AÐÜ!Ð"3×4Õ4Ü˜n¬d×3Ò3ð 2@×1EÑ1EÖ1GÑ-˜Û'4˜GÙ" GÔ,ó (5ò 2Hô   ´×5Ò5Û$2˜Ù˜Xœò %3ô %ðWóð ÷ 5Ð4ô& �MŠMðið õ	ô �#”u—x‘x—‘×'Ò'Ü*¨3Ó/ˆÜ�y‰y×#Ñ#×8Ñ8Ø”—‘×%Ñ%×>Ñ>ó
ð 	
ô �sÐ4×5Ò5ð ×&Ñ&Ô(àð 	ô �#”t×ÒÜ! #Ó&Ð&Ü�#”t×ÒÜ! #Ó&Ð&ä‡‚�s×ÒÜ(¨Ó-ˆô �cœ5Ÿ8™8Ÿ?™?×+Ò+ÜØ˜˜ÐlÐmóð ô �cœ4Ÿ9™9×%Ò%ØˆJä" 3×'Ò'Üð0óð ô ˆs�w‰w‹y‹>˜AÔÜð9óð ð Š<Ü ×BÒBÀ:ÐPQÅ>ÓRˆDÜ# C¨~Ô>Øˆ
Ü	×	Ò	˜C×	 Ò	 ¤G×$4Ò$4°S×$9Ó$9Ü(¨Ó-ˆä�3Ð5×6Ò6Ø×#Ñ#ˆCÜ ×DÒDÀSÓIˆDô �3Ð.×/Ò/ÜÐ4°s×7OÑ7OÕOÓPÐPä*¨3Ô/Ü$@ÀÓ$EÐ!ß$Ø<?Ô9Ø,Ð,Ü˜#Ÿ|™|Ó,ˆØŠ<Ü ×DÒDÀSÓIˆDÜ�X‰X×)Ñ)Ø Ô'7¸Ó'<ó
ˆð —[‘[ˆŒ
Ø&ˆŒØ4ˆŒà!$ÔÜ Ô(Øˆ	ä�y‰y×#Ñ#×7Ñ7¸Ó<Ð<÷M 5×4Ð4ús   Â*A1RÒR*	c                óü   € V ^8„  d   QhR\         RRR\        R\        \        .\         3,          R,          R\        \
        ,          \        \        \        \
        ,          3,          ,          R,          R\         /# )rè   rÍ   rB  NrC  râ   r0  rê   )r   rV  r   rë   r1  r2  r¿  )rì   s   "r1   rí   rí   ü  sx   € ÷ nñ nÜ	ðnàðnô ðnô ”C�5œ#�:Õ
 Õ
%ð	nô
 œ•K¤$¤x´´eµÐ'<Õ"=Õ=ÀÕDðnô 	ñnr3   c                óH  € \         P                  R8¼  d   \        P                  ! R\        4       M\        P                  ! R\        4       \
        '       g   V #  \        pRs\        V VV^,           VVR7      pV'       d   \        R\        V4      R7       VVs#   Xsi ; i)ay  Script the function.

Scripting a function or ``nn.Module`` will inspect the source code, compile
it as TorchScript code using the TorchScript compiler, and return a :class:`ScriptModule` or
:class:`ScriptFunction`. TorchScript itself is a subset of the Python language, so not all
features in Python work, but we provide enough functionality to compute on
tensors and do control-dependent operations. For a complete guide, see the
:ref:`language-reference`.

Scripting a dictionary or list copies the data inside it into a TorchScript instance than can be
subsequently passed by reference between Python and TorchScript with zero copy overhead.

``torch.jit.script`` can be used as a function for modules, functions, dictionaries and lists
 and as a decorator ``@torch.jit.script`` for torchscript-classes and functions.

Args:
    obj (Callable, class, or nn.Module):  The ``nn.Module``, function, class type,
                                              dictionary, or list to compile.
    example_inputs (Union[List[Tuple], Dict[Callable, List[Tuple]], None]): Provide example inputs
        to annotate the arguments for a function or ``nn.Module``.

Returns:
    If ``obj`` is ``nn.Module``, ``script`` returns
    a :class:`ScriptModule` object. The returned :class:`ScriptModule` will
    have the same set of sub-modules and parameters as the
    original ``nn.Module``. If ``obj`` is a standalone function,
    a :class:`ScriptFunction` will be returned. If ``obj`` is a ``dict``, then
    ``script`` returns an instance of `torch._C.ScriptDict`. If ``obj`` is a ``list``,
    then ``script`` returns an instance of `torch._C.ScriptList`.

**Scripting a function**
    The ``@torch.jit.script`` decorator will construct a :class:`ScriptFunction`
    by compiling the body of the function.

    Example (scripting a function):

    .. testcode::

        import torch

        @torch.jit.script
        def foo(x, y):
            if x.max() > y.max():
                r = x
            else:
                r = y
            return r

        print(type(foo))  # torch.jit.ScriptFunction

        # See the compiled graph as Python code
        print(foo.code)

        # Call the function using the TorchScript interpreter
        foo(torch.ones(2, 2), torch.ones(2, 2))

    .. testoutput::
        :hide:

        ...

****Scripting a function using example_inputs**
    Example inputs can be used to annotate a function arguments.

    Example (annotating a function before scripting):

    .. testcode::

        import torch

        def test_sum(a, b):
            return a + b

        # Annotate the arguments to be int
        scripted_fn = torch.jit.script(test_sum, example_inputs=[(3, 4)])

        print(type(scripted_fn))  # torch.jit.ScriptFunction

        # See the compiled graph as Python code
        print(scripted_fn.code)

        # Call the function using the TorchScript interpreter
        scripted_fn(20, 100)

    .. testoutput::
        :hide:

        ...

**Scripting an nn.Module**
    Scripting an ``nn.Module`` by default will compile the ``forward`` method and recursively
    compile any methods, submodules, and functions called by ``forward``. If a ``nn.Module`` only uses
    features supported in TorchScript, no changes to the original module code should be necessary. ``script``
    will construct :class:`ScriptModule` that has copies of the attributes, parameters, and methods of
    the original module.

    Example (scripting a simple module with a Parameter):

    .. testcode::

        import torch

        class MyModule(torch.nn.Module):
            def __init__(self, N, M):
                super().__init__()
                # This parameter will be copied to the new ScriptModule
                self.weight = torch.nn.Parameter(torch.rand(N, M))

                # When this submodule is used, it will be compiled
                self.linear = torch.nn.Linear(N, M)

            def forward(self, input):
                output = self.weight.mv(input)

                # This calls the `forward` method of the `nn.Linear` module, which will
                # cause the `self.linear` submodule to be compiled to a `ScriptModule` here
                output = self.linear(output)
                return output

        scripted_module = torch.jit.script(MyModule(2, 3))

    Example (scripting a module with traced submodules):

    .. testcode::

        import torch
        import torch.nn as nn
        import torch.nn.functional as F

        class MyModule(nn.Module):
            def __init__(self) -> None:
                super().__init__()
                # torch.jit.trace produces a ScriptModule's conv1 and conv2
                self.conv1 = torch.jit.trace(nn.Conv2d(1, 20, 5), torch.rand(1, 1, 16, 16))
                self.conv2 = torch.jit.trace(nn.Conv2d(20, 20, 5), torch.rand(1, 20, 16, 16))

            def forward(self, input):
                input = F.relu(self.conv1(input))
                input = F.relu(self.conv2(input))
                return input

        scripted_module = torch.jit.script(MyModule())

    To compile a method other than ``forward`` (and recursively compile anything it calls), add
    the :func:`@torch.jit.export <torch.jit.export>` decorator to the method. To opt out of compilation
    use :func:`@torch.jit.ignore <torch.jit.ignore>` or :func:`@torch.jit.unused <torch.jit.unused>`.

    Example (an exported and ignored method in a module)::

        import torch
        import torch.nn as nn


        class MyModule(nn.Module):
            def __init__(self) -> None:
                super().__init__()

            @torch.jit.export
            def some_entry_point(self, input):
                return input + 10

            @torch.jit.ignore
            def python_only_fn(self, input):
                # This function won't be compiled, so any
                # Python APIs can be used
                import pdb

                pdb.set_trace()

            def forward(self, input):
                if self.training:
                    self.python_only_fn(input)
                return input * 99


        scripted_module = torch.jit.script(MyModule())
        print(scripted_module.some_entry_point(torch.randn(2, 2)))
        print(scripted_module(torch.randn(2, 2)))

    Example ( Annotating forward of nn.Module using example_inputs)::

        import torch
        import torch.nn as nn
        from typing import NamedTuple

        class MyModule(NamedTuple):
        result: List[int]

        class TestNNModule(torch.nn.Module):
            def forward(self, a) -> MyModule:
                result = MyModule(result=a)
                return result

        pdt_model = TestNNModule()

        # Runs the pdt_model in eager model with the inputs provided and annotates the arguments of forward
        scripted_model = torch.jit.script(pdt_model, example_inputs={pdt_model: [([10, 20, ], ), ], })

        # Run the scripted_model with actual inputs
        print(scripted_model([20]))
zv`torch.jit.script` is not supported in Python 3.14+ and may break. Please switch to `torch.compile` or `torch.export`.zU`torch.jit.script` is deprecated. Please switch to `torch.compile` or `torch.export`.F)rÍ   rB  rC  râ   r0  Úscript)Úmodel_idrØ   )
rÚ   rÛ   rÜ   rÝ   rÞ   r   Ú	_TOPLEVELrJ  r   r   )rÍ   rB  rC  râ   r0  ÚprevÚrets   &&&&&  r1   rM  rM  ü  s–   € ô` ×Ñ˜7Ô"Ü�ŠðBäõ	
ô 	�ŠØcÜô	
÷ ‹8Øˆ
ðäˆØˆ	ÜØØØ! A•~ØØ)ô
ˆ÷ Ü! (´]À3Ó5GÕHàà‰	ø�D‰	ús   Á>B ÂB!c                 ó¸   € VP                  4        FE  w  r4W09  g   W,          V8w  g   K  \        P                  P                  P	                  VR V 24      h	  R# )z™Default parameters on overloads do not affect the runtime so they must equal to the default parameter on the implementation function. Found on parameter N)rR   r‚   r¬   ÚfrontendÚFrontendError)Úimpl_defaultsÚoverload_defaultsÚlocr?   Úoverload_values   &&&  r1   Ú_check_overload_defaultsrY  ñ  sW   € Ø 1× 7Ñ 7Ö 9ÑˆØÔ$¨Õ(;¸~Ö(MÜ—)‘)×$Ñ$×2Ñ2Øðà!˜Fð$óð ó !:r3   c                 óÊ  € \        W P                  4      P                  4       p\        P                  P
                  P                  V R R \        P                  ! V 4      4      p\        W"P                  4      p\        V 4      p\        V4      p\        P                  ! V4      p\        WvVP                  4       4       \        P                  P                  VVVVVV4      p	V	# r8   )r   rv   Údeclr‚   r¬   ÚannotationsÚget_signaturerë  ré  r   rß   r=  rY  Úrangerƒ   Ú_jit_script_compile_overload)
Úoverload_fnÚ	qual_nameÚimpl_fnÚoverload_declÚoverload_signatureÚimpl_astrV  Úimplementation_defaultsrâ   rá   s
   &&&       r1   Ú_compile_function_with_overloadrg  ü  sÇ   € Ü ×-AÑ-AÓB×GÑGÓI€MÜŸ™×.Ñ.×<Ñ<Ø�T˜4¤×!1Ò!1°+Ó!>óÐô ˜7×$4Ñ$4Ó5€HÜ(¨Ó5ÐÜ.¨wÓ7ÐÜ×<Ò<¸WÓE€DÜØ°M×4GÑ4GÓ4Iôô 
�‰×	.Ñ	.ØØØØØØó
€Bð €Ir3   c                 óX  € \        V 4      p\        V 4      p\        P                  ! V4      pVf   V# W9   d!   \	        \        P
                  ! RV 4      4      hV Uu. uF  p\        WBV 4      NK  	  ppV'       d	   W,           p\        W4       \        P                  ! V4       V# u upi )NÚfunction)	r   r   rß   Ú_get_fn_overloadsrd   Ú,get_overload_no_implementation_error_messagerg  r   Ú_clear_fn_overloads)rÍ   Úexisting_compiled_fnsra  Úuncompiled_overloadsr`  Úcompiled_fnss   &     r1   Ú_get_overloadsrp    s±   € ä9¸#Ó>ÐÜ Ó$€IÜ(×:Ò:¸9ÓEÐØÒ#Ø$Ð$à
Ô"ÜÜ×FÒFÀzÐSVÓWó
ð 	
ñ 0óá/ˆKô 	(¨ÀÖDÙ/ð ð ÷
 Ø,Õ;ˆô ˜CÔ.Ü×%Ò% iÔ0ØÐùòs   ÁB'c                 ó”   € \        V 4      p\        P                  ! V4      '       g   \        V 4      '       d   \	        R V R24      hR# )z	Function z˜ cannot be directly compiled because it is overloaded. It must be used in a context of a function where its inputs can determine which overload to call.N)r   rß   rj  r   rd   )rÍ   ra  s   & r1   r>  r>  .  sO   € Ü Ó$€IÜ×&Ò& y×1Ò1Ô5RÐSV×5WÒ5WÜØ˜	�{ð #Fð Fó
ð 	
ñ 6Xr3   c                ó0   € V ^8„  d   QhR\         R\         /# )rè   rÍ   rê   )r(   )rì   s   "r1   rí   rí   8  s   € ÷ Rñ R”2ð Rœ"ñ Rr3   c                ól  € \         P                  ! R\        4       \        P                  ! V 4      '       g   \        R4      h\        V 4      '       g   \        R4      h\        V \        P                  P                  4      ;'       d    \        V P                  4       4      ^8H  pV'       g*   \        V P                  4       4      ^8”  d   \        R4      h\        V 4      p\        P                  ! ^4      p\!        W P"                  4      p\        P$                  P'                  W$W14      pWPn        V # )a$  Decorate to annotate classes or modules of different types.

.. deprecated:: 2.5
    TorchScript is deprecated, please use ``torch.compile`` instead.

This decorator can be used to define an interface that can be used to annotate
classes or modules of different types. This can be used for to annotate a submodule
or attribute class that could have different types that implement the same
interface, or which could be swapped at runtime; or to store a list of modules or
classes of varying types.

It is sometimes used to implement "Callables" - functions or modules that implement
an interface but whose implementations differ and which can be swapped out.

Example:
.. testcode::

    import torch
    from typing import List

    @torch.jit.interface
    class InterfaceType:
        def run(self, x: torch.Tensor) -> torch.Tensor:
            pass

    # implements InterfaceType
    @torch.jit.script
    class Impl1:
        def run(self, x: torch.Tensor) -> torch.Tensor:
            return x.relu()

    class Impl2(torch.nn.Module):
        def __init__(self) -> None:
            super().__init__()
            self.val = torch.rand(())

        @torch.jit.export
        def run(self, x: torch.Tensor) -> torch.Tensor:
            return x + self.val

    def user_fn(impls: List[InterfaceType], idx: int, val: torch.Tensor) -> torch.Tensor:
        return impls[idx].run(val)

    user_fn_jit = torch.jit.script(user_fn)

    impls = [Impl1(), torch.jit.script(Impl2())]
    val = torch.rand(4, 4)
    user_fn_jit(impls, 0, val)
    user_fn_jit(impls, 1, val)
zH`torch.jit.interface` is deprecated. Please use `torch.compile` instead.z$interface must be applied to a classz1TorchScript interfaces must inherit from 'object'zmTorchScript interface does not support inheritance yet. Please directly inherit from 'object' or 'nn.Module'.)rÜ   rÝ   rÞ   rë  r7  rd   rG   r8  r‚   rû   r    r^   r;  r   rß   rà   r   rv   rƒ   Ú_jit_script_interface_compileÚ__torch_script_interface__)rÍ   Úis_module_interfacerH  rK  rã   Úmangled_classnames   &     r1   Ú	interfacerx  8  sô   € ôf ‡M‚MØRÜôô �?Š?˜3×ÒÜÐAÓBÐBÜ˜s×#Ò#ÜÐNÓOÐOô % S¬%¯(©(¯/©/Ó:×RÐR¼sÀ3Ç7Á7Ã9»~ÐQRÑ?RÐç¤3 s§w¡w£y£>°AÔ#5ÜðDó
ð 	
ô
 % SÓ)€NÜ
×
9Ò
9¸!Ó
<€Cô ˜C§¡Ó
.€CÜŸ™×>Ñ>Ø˜SóÐð &7Ô"Ø€Jr3   c                 óš   € \        V 4      p\        P                  P                  W!4      p\        P
                  ! V 4      p\        WV4      # r8   )r   r‚   rƒ   Ú	CallStackrß   Ú'createResolutionCallbackForClassMethodsr   )rÍ   rW  Ú
_qual_nameÚerror_stackrK  s   &&   r1   Ú_recursive_compile_classr~  �  s?   € Ü  Ó%€Jô —(‘(×$Ñ$ ZÓ5€KÜ
×
?Ò
?ÀÓ
D€CÜ& s°Ó<Ð<r3   c                óH   € V ^8„  d   QhR\         R\        R\        R\         /# )rè   ÚsÚpaddingÚoffsetÚchar©rë   rV  )rì   s   "r1   rí   rí   š  s.   € ÷ @ñ @Œ3ð @œð @¤cð @´Sñ @r3   c                 ó¼   € V\        V 4      8¼  d   V\        V 4      ,          pR P                  \        W,           4       Uu. uF  qCNK  	  up4      V ,           # u upi r¨  )r^   Újoinr^  )r€  r�  r‚  rƒ  r¸   s   &&&& r1   Úpadr‡  š  sL   € Ø”#�a“&ÔØ”3�q“6ÕˆØ�7‰7¤%¨Õ(8Ô"9Ó:Ñ"9˜Q’DÑ"9Ñ:Ó;¸aÕ?Ð?ùÒ:s   Á
Ac                   óN   a € ] tR tRt o R	V 3R lR lltV 3R lR ltR tRtV tR# )
Ú_ScriptProfileColumni   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )rè   ÚheaderÚ	alignmentr‚  r„  )rì   r}   s   "€r1   rí   Ú!_ScriptProfileColumn.__annotate__¡  s"   ø€ ÷ 'ñ '™sð '©sð 'Áñ 'r3   c                ó8   € Wn         W n        W0n        / V n        R # r8   )r‹  rŒ  r‚  Úrows)rM   r‹  rŒ  r‚  s   &&&&r1   rN   Ú_ScriptProfileColumn.__init__¡  s   € ØŒØ"ŒØŒØ$&ˆŽ	r3   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rè   Úlinenor5   rÐ  )rì   r}   s   "€r1   rí   r�  §  s   ø€ ÷ "ñ "™cð "©#ñ "r3   c                ó"   € W P                   V&   R # r8   )r�  )rM   r’  r5   s   &&&r1   Úadd_rowÚ_ScriptProfileColumn.add_row§  s   € Ø!�	‰	�&Ór3   c           
     óþ  € \        V P                  4      p. pV P                  P                  4        F7  w  r4\	        V4      pVP                  W534       \        \        V4      V4      pK9  	  V P                  ^ 8”  d-   WP                  ,           pWfV P                  ,          ,          pM^ pV UUu. uF  w  r5V\        WVV P                  4      3NK  	  ppp\        V P                  W`P                  4      V3# u uppi )ræ  )
r^   r‹  r�  rR   rë   ÚappendÚmaxrŒ  r‡  r‚  )rM   Ú
max_lengthr�  rÖ  r5   Úcellr�  s   &      r1   ÚmaterializeÚ _ScriptProfileColumn.materializeª  sÉ   € Ü˜Ÿ™Ó%ˆ
Ø&(ˆØŸ)™)Ÿ/™/Ö+‰JˆCÜ�u“:ˆDØ�K‰K˜˜Ô$ÜœS ›Y¨
Ó3ŠJñ ,ð
 �>‰>˜AÔØ §>¡>Õ1ˆGØ §¡Õ/Õ/‰GàˆGáHLÔMÉ¹9¸3�”c˜$¨¯©Ó5Ó6ÉˆÑMÜ�4—;‘; ¯©Ó5°tÐ;Ð;ùó Ns   Â1#C9)rŒ  r‹  r‚  r�  N)é   ræ  )	rv   rw   rx   ry   rN   r”  r›  rz   r{   r|   s   @r1   r‰  r‰     s#   ø‡ € ÷'ò '÷"ð "÷<ð <r3   r‰  c                   ó8   a € ] tR tRt o V 3R lR ltR tRtV tR# )Ú_ScriptProfileTablei¼  c                óF   <€ V ^8„  d   QhRS[ S[,          RS[ S[,          /# )rè   ÚcolsÚsource_range)r1  r‰  rV  )rì   r}   s   "€r1   rí   Ú _ScriptProfileTable.__annotate__½  s%   ø€ ÷ )ñ )™TÑ"6Õ7ð )ÁtÉCÅyñ )r3   c                ó   € Wn         W n        R # r8   ©r¡  r¢  )rM   r¡  r¢  s   &&&r1   rN   Ú_ScriptProfileTable.__init__½  s   € ØŒ	Ø(Ör3   c           	     ó  € . p. pR pV P                    F9  pVP                  4       w  rVW5,          pVP                  V\        V4      34       K;  	  VP                  V4       VP                  \	        R \        V4      ^ R4      4       V P                   F\  pR pV F@  w  rVVP                  V4      p	V	f   V\	        R \        V4      4      ,          pK8  W‰,          pKB  	  VP                  V4       K^  	  RP                  V4      # )r©  Ú=Ú
)	r¡  r›  r—  r¿  r‡  r^   r¢  r  r†  )
rM   ÚoutputsÚcellsÚheader_bufferÚcolr‹  r�  ÚlineÚ
row_bufferrš  s
   &         r1   Údump_stringÚ_ScriptProfileTable.dump_stringÁ  sã   € ØˆØ24ˆØˆØ—9”9ˆCØŸ?™?Ó,‰LˆFØÕ#ˆMØ�L‰L˜&¤$ t£*Ð-Ö.ñ ð
 	�‰�}Ô%Ø�‰”s˜2œs =Ó1°1°cÓ:Ô;Ø×%Ô%ˆDØˆJÛ %‘�Ø—x‘x “~�Ø’<Ø¤# b¬#¨f«+Ó"6Õ6’JàÕ&’Jñ !&ð �N‰N˜:Ö&ñ &ð �y‰y˜Ó!Ð!r3   r¥  N)rv   rw   rx   ry   rN   r°  rz   r{   r|   s   @r1   rŸ  rŸ  ¼  s   ø‡ € ÷)ð )÷"ð "r3   rŸ  c                   óV   a € ] tR tRt o V 3R lR ltR tR tV 3R lR ltR tR	t	V t
R
# )Ú_ScriptProfileiØ  c                ó   <€ V ^8„  d   QhRR/# r:  r9   )rì   r}   s   "€r1   rí   Ú_ScriptProfile.__annotate__Ù  s   ø€ ÷ :ñ :˜$ñ :r3   c                óL   € \         P                  P                  4       V n        R # r8   )r
   Ú	profilingr³  Úprofiler_   s   &r1   rN   Ú_ScriptProfile.__init__Ù  s   € Ü×(Ñ(×7Ñ7Ó9ˆŽr3   c                ó:   € V P                   P                  4        R # r8   )r¸  Úenabler_   s   &r1   r»  Ú_ScriptProfile.enableÜ  s   € Ø�‰×ÑÖr3   c                ó:   € V P                   P                  4        R # r8   )r¸  Údisabler_   s   &r1   r¾  Ú_ScriptProfile.disableß  s   € Ø�‰×ÑÖr3   c                ó    <€ V ^8„  d   QhRS[ /# rž  rŸ  )rì   r}   s   "€r1   rí   rµ  â  s   ø€ ÷ $ñ $™Sñ $r3   c                óz  € . pV P                   P                  4        EF…  pVP                  4       pVP                  4       P	                  4       p\        R  V 4       4      pV Uu. uF  qfVR NK	  	  ppVP                  4       pV\        V4      ,           p\        Wx4      p	\        R4      p
\        R4      p\        R4      p\        R^ ^4      pVP                  4       pV	 F‡  pV
P                  Wf4       VP                  WdWg,
          ,          4       VP                  V4      pVf   KI  VP                  WoP                  4       4       VP                  WoP                  4       4       K‰  	  \        W«WÍ.\!        V	4      4      pVP#                  VP%                  4       4       EKˆ  	  RP'                  V4      # u upi )c              3   óv   "  € T F/  p\        V4      \        VP                  R 4      4      ,
          x € K1  	  R# 5i)Ú N)r^   Úlstrip)Ú.0r®  s   & r1   Ú	<genexpr>Ú-_ScriptProfile.dump_string.<locals>.<genexpr>ç  s*   é € ÐTÁ|¸tœ˜T›¤S¨¯©°SÓ)9Ó%:×:Ò:Ã|ùs   ‚79NzLine #ÚHitsz	Time (ns)zLine Contentsz

)r¸  Ú_dump_statsÚsourceÚtextÚ
splitlinesÚminÚstarting_linenor^   r^  r‰  Úline_mapr”  r  ÚcountÚduration_nsrŸ  r1  r—  r°  r†  )rM   rª  Úsource_statsÚ
source_refÚsource_linesÚdedentr®  Ú
start_lineÚend_liner¢  r’  ÚhitsÚtime_nsÚline_contentsÚstatsÚstatÚtables   &                r1   r°  Ú_ScriptProfile.dump_stringâ  sy  € ØˆØ ŸL™L×4Ñ4×6ˆLØ%×,Ñ,Ó.ˆJØ%Ÿ?™?Ó,×7Ñ7Ó9ˆLÜÑTÁ|ÓTÓTˆFÙ6BÓC±l¨d  ›M±lˆLÐCà#×3Ñ3Ó5ˆJØ!¤C¨Ó$5Õ5ˆHÜ  Ó6ˆLÜ)¨(Ó3ˆFÜ'¨Ó/ˆDÜ*¨;Ó7ˆGÜ0°À!ÀQÓGˆMØ ×)Ñ)Ó+ˆEÛ$�Ø—‘˜tÔ*Ø×%Ñ% d¸Õ9JÕ,KÔLØ—y‘y “�ØÔ#Ø—L‘L §z¡z£|Ô4Ø—O‘O D×*:Ñ*:Ó*<Ö=ñ %ô (Ø˜wÐ6¼¸\Ó8JóˆEð �N‰N˜5×,Ñ,Ó.×/ñ3 7ð4 �{‰{˜7Ó#Ð#ùò- Ds   Á%F8c                ó8   € \        V P                  4       4       R # r8   )Úprintr°  r_   s   &r1   ÚdumpÚ_ScriptProfile.dump   s   € Üˆd×ÑÓ Ö!r3   )r¸  N)rv   rw   rx   ry   rN   r»  r¾  r°  rá  rz   r{   r|   s   @r1   r³  r³  Ø  s-   ø‡ € ÷:ð :òò÷$ð $÷<"ð "r3   r³  c                 ó$   € V f   \        R4      hV # )NzUnwrapping null optional)ÚAssertionError)rê  s   &r1   Ú_unwrap_optionalrå    s   € Ø‚yÜÐ7Ó8Ð8Ø€Hr3   zaten::_unwrap_optionalzaten::is_scriptingzaten::has_torch_functionc                ó@   € V ^8„  d   Qh/ ^ \         9   d
   \        ;R&   # )rè   rO  )Ú__conditional_annotations__Úbool)rì   s   "r1   rí   rí      s    € ÷ ñ ÷Z# Ò Œ4Ñ ò[#r3   )rË  r`   Ú__neg__Ú__mul__rp   r2  Ú__sub__Ú__pow__Ú__truediv__Ú__mod__Ú__ne__Ú__eq__Ú__lt__Ú__gt__Ú__le__Ú__ge__Ú__and__Ú__or__Ú__xor__rt   rl   Ú__call__Ú__int__Ú	__float__rÝ  Ú__str__Ú	__enter__Ú__exit__r8   )Nræ  NN)ræ  rÃ  )‡rç  r4  Úcollectionsrº  r9  rÀ   rë  r-   rÚ   rÜ   Úcollections.abcr   r   r   r   Útypingr   r   Útyping_extensionsr   r	   r‚   Útorch._jit_internalrß   Útorch._classesr
   r   r   Útorch._utils_internalr   Útorch.jit._builtinsr   Útorch.jit._fuserr   r   Útorch.jit._monkeytype_configr   r   r   Útorch.jit._recursiver   r   r   r   Útorch.jit._stater   r   r   r   r   Útorch.jit.frontendr   r   r   Útorch.nnr    Útorch.overridesr!   r"   r#   Útorch.packager$   r%   Útorch.utilsr&   Ú_serializationr'   r(   r;   rƒ   rv  r¥  r)   rv   rx   r2   Ú
__reduce__Ú
namedtupler4   r<   r@   rG   rI   r   r6   r™   rÉ   ÚWarningrÑ   rä   ræ   r  Ú_magic_methodsr  r"  r7  rk   r’   rc  rC   rR   r?   ÚitemÚcallabler‘   r  Ú
startswithrE   rï  Ú_compiled_methods_allowlistr  rû   ÚmethodÚendswithr"  r'  r*  r.  rO  rJ  rM  rY  rg  rp  r>  rx  r~  rÿ   r‡  r‰  rŸ  r³  rå  Úis_scriptingrí   )rç  s   @r1   Ú<module>r     sJ  øðöó Û Û Û Û Û Û 
Û ß AÓ Aß ß .ã Ý +Ý "ß >Ý 7Ý 1ß A÷ñ ÷
ó ÷õ ÷ PÑ OÝ ÷ñ ÷
 ;Ý "å 1ñ ˆTƒ]€ñ "Ó#€à":€‡�× Ñ Ô Ø$.€‡�× Ñ Ô !Ø—‘×(Ñ(€ð€Ô ð +€Ô Ø8€Ô Ù 
ˆ>˜;Ô 'ò
Að $€Ô ÷ Ø×&Ò& {°W¸fÐ4EÓF�IòðI€	Ô òXò$òC÷( "ñ  "ôF&'Ð*ô &'ôb;-�ô ;-÷|+ñ +ô
	�Gô 	ò+÷>(ñ (õ'÷0 €8ò€N÷>?Cñ ?CóB &ˆò	Kñ 	Ð$ k°?ÖCñ &ôTB�v¨õ TBôlU ô Uðz
 ,×4Ñ4×:Ñ:Ö<‰
ˆˆdÙ˜�~Š~¡j°°x×&@Ò&@ÙØ�?‰?˜4× Ò ¡G¨L¸$×$?Ò$?Ùñ 	�˜d DÖ)ñ =ò
ð&#Øð&#àð&#ð 	ð&#ð 	ð	&#ð
 	ð&#ð 	ð&#ð 	ð&#ð 	ð&#ð 	ð&#ð 	ð&#ð 	ð&#ð 	ð&#ð 	ð&#ð 	ð&#ð 	ð&#ð  	ð!&#ð" 	ð#&#ð$ 	 ð%&#ð& 	ð'&#ð( 	ð)&#ð* 	ð+&#ð, 	ð-&#ð. 	ð/&#ð0 	ð1&#ð2 	ð3&#ð4 	ð5&#ð6 	ð7&#ð8 	ð9&#ð: 	ð;&#ð< 	ð=&#ð> 	ð?&#ð@ 	ðA&#ðB 	ðC&#ðD 	ðE&#ðF 	ðG&#ðH 	ðI&#ðJ 	ðK&#ÐòPñ % U§X¡X§_¡_Ö5‰ˆˆfØ�?‰?˜4× Ò  D§M¡M°,×$?Ò$?Ùð Ð-×6Ñ6Ö6ØÐ7Ö7áÐ)¨6¯?©?¹JÀtÓ<LÖMò 6÷ñ ô�u—x‘x—‘ô ô ô ò
'òT8ò
$ô $ð €	Ó ÷H=÷Vnòjòò.ò6
õRòj=ð —(‘(×*Ñ*€Ù 
ˆ?˜KÔ (÷@÷<ñ <÷8"ñ "÷8)"ñ )"òXñ Ð"Ð$<Ô =Ù �-×,Ò,Ð.BÔ CÙ Ð$Ð&@Ô AÙ Ð*Ð,FÔ GÙ Ð-Ð/IÖ Jr3   