+
    –°³jœk  ã                   óV  € ^ RI t ^ RIHt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 ]'       d   ^ RIt^ RIHt . R(Ot] P(                   ! R R4      4       t] P(                   ! R R4      4       t] P(                   ! R R4      4       t] P(                   ! R R4      4       t] P(                   ! R R4      4       t] P(                   ! R R
4      4       t] P(                   ! R R	4      4       t]],          ],          ],          ],          ],          ],          t ! R R]4      t] P(                   ! R R4      4       t ! R R]4      t] P(                   ! R  R4      4       t ] P(                   ! R! R4      4       t!] P(                   ! R" R4      4       t"R# t#R$ R% lt$R& R' lt%R# ))é    N)Ú
CollectionÚMapping)ÚautoÚEnum)ÚTYPE_CHECKING©ÚFakeScriptObject)Úget_opaque_type_nameÚis_custom_class)Úis_fake)ÚGraphSignatureÚConstantArgumentÚCustomObjArgumentÚExportBackwardSignatureÚExportGraphSignatureÚ	InputKindÚ	InputSpecÚ
OutputKindÚ
OutputSpecÚSymIntArgumentÚSymFloatArgumentÚSymBoolArgumentÚTensorArgumentc                   ó,   a € ] tR t^ t o V 3R ltRtV tR# )r   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # ©é   Úname©Ústr)ÚformatÚ__classdict__s   "€Ú]/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/export/graph_signature.pyÚ__annotate__ÚTensorArgument.__annotate__    ó   ø‡ ‚ á
�Iò ó    © N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r"   s   @r#   r   r       ó   ø‡ ‡ „ r'   c                   ó,   a € ] tR t^%t o V 3R ltRtV tR# )ÚTokenArgumentc                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # r   r   )r!   r"   s   "€r#   r$   ÚTokenArgument.__annotate__%   r&   r'   r(   Nr)   r1   s   @r#   r4   r4   %   r2   r'   r4   c                   ó,   a € ] tR t^*t o V 3R ltRtV tR# )r   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # r   r   )r!   r"   s   "€r#   r$   ÚSymIntArgument.__annotate__*   r&   r'   r(   Nr)   r1   s   @r#   r   r   *   r2   r'   c                   ó,   a € ] tR t^/t o V 3R ltRtV tR# )r   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # r   r   )r!   r"   s   "€r#   r$   ÚSymFloatArgument.__annotate__/   r&   r'   r(   Nr)   r1   s   @r#   r   r   /   r2   r'   c                   ó,   a € ] tR t^4t o V 3R ltRtV tR# )r   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # r   r   )r!   r"   s   "€r#   r$   ÚSymBoolArgument.__annotate__4   r&   r'   r(   Nr)   r1   s   @r#   r   r   4   r2   r'   c                   ó0   a € ] tR t^9t o RtV 3R ltRtV tR# )r   Nc                óL   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[R,          ;R&   # )r   r   Ú	class_fqnNÚfake_val)r    r	   )r!   r"   s   "€r#   r$   ÚCustomObjArgument.__annotate__9   s-   ø‡ ‚ á
�Iñ ñ �Nñ ñ  Õ%Ñ,ò	 r'   r(   )r*   r+   r,   r-   rC   r.   r/   r0   r1   s   @r#   r   r   9   s   ø‡ € ð )-€H÷	 ƒ r'   c                   ó,   a € ] tR t^@t o V 3R ltRtV tR# )r   c                óp   <€ V ^8„  d   Qh/ S[ ;R&   S[S[,          S[,          S[ ,          R,          ;R&   # )r   r   NÚvalue)r    ÚintÚfloatÚbool)r!   r"   s   "€r#   r$   ÚConstantArgument.__annotate__@   s/   ø‡ ‚ á
�Iñ ñ ‘�;™Õ¡Õ# dÕ*Ñ*ò r'   r(   Nr)   r1   s   @r#   r   r   @   r2   r'   c                   ój   € ] tR t^Qt]! 4       t]! 4       t]! 4       t]! 4       t]! 4       t	]! 4       t
RtR# )r   r(   N)r*   r+   r,   r-   r   Ú
USER_INPUTÚ	PARAMETERÚBUFFERÚCONSTANT_TENSORÚ
CUSTOM_OBJÚTOKENr/   r(   r'   r#   r   r   Q   s,   † Ù“€JÙ“€IÙ‹V€FÙ“f€OÙ“€JÙ‹F„Er'   c                   ó<   a € ] tR t^Zt o RtR tR tV 3R ltRtV t	R# )r   Nc           
     ó6  € V P                   \        P                  8X  d   V P                  f   \	        R4      h\        V P                  \        \        \        \        \        \        \        34      '       g"   \	        R\        V P                  4       24      hR # )Nz,Failed to specify persistent flag on BUFFER.úexpected valid arg type, got )Úkindr   rO   Ú
persistentÚAssertionErrorÚ
isinstanceÚargr   r   r   r   r   r   r4   Útype©Úselfs   &r#   Ú__post_init__ÚInputSpec.__post_init__a   s{   € Ø�9‰9œ	×(Ñ(Ô(Ø�‰Ò&Ü$Ð%SÓTÐTÜØ�H‰HäÜÜ ÜÜ Ü!Üð÷
ò 
ô !Ð#@ÄÀdÇhÁhÃÐ@PÐ!QÓRÐRñ
r'   c                ó
  € V P                   f   RMRV P                    R2pV P                  f   RMRV P                   2p\        V P                  P                  4       R\        V P
                  P                  4       V V 2# )NÚ ú	 target='Ú'z persistent=ú: )ÚtargetrW   r    rZ   r   rV   )r]   re   rW   s   &  r#   Ú__str__ÚInputSpec.__str__s   sp   € Ø—{‘{Ò*‘°)¸D¿K¹K¸=ÈÐ0JˆØŸ?™?Ò2‘R¸,ÀtÇÁÐFWÐ8Xˆ
Ü�d—h‘h—m‘mÓ$Ð% R¬¨D¯I©I¯N©NÓ(;Ð'<¸V¸HÀZÀLÐQÐQr'   c                óf   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[R,          ;R&   S[R,          ;R&   # )r   rV   rZ   Nre   rW   )r   ÚArgumentSpecr    rJ   )r!   r"   s   "€r#   r$   ÚInputSpec.__annotate__Z   s>   ø‡ ‚ á
�Oñ ñ 
Ññ ñ �$�JÑñ	 ñ
 �t•Ñ"ò r'   r(   )
r*   r+   r,   r-   rW   r^   rf   r.   r/   r0   r1   s   @r#   r   r   Z   s   ø‡ € ð
 #€JòSò$R÷3 ƒ r'   c                   ó†   € ] tR t^yt]! 4       t]! 4       t]! 4       t]! 4       t]! 4       t	]! 4       t
]! 4       t]! 4       tRtR# )r   r(   N)r*   r+   r,   r-   r   ÚUSER_OUTPUTÚLOSS_OUTPUTÚBUFFER_MUTATIONÚPARAMETER_MUTATIONÚGRADIENT_TO_PARAMETERÚGRADIENT_TO_USER_INPUTÚUSER_INPUT_MUTATIONrR   r/   r(   r'   r#   r   r   y   s>   † Ù“&€KÙ“&€KÙ“f€OÙ›ÐÙ ›FÐÙ!›VÐÙ›&ÐÙ‹F„Er'   c                   ó8   a € ] tR t^„t o R tR tV 3R ltRtV tR# )r   c           
     ó´   € \        V P                  \        \        \        \
        \        \        \        34      '       g   \        R V P                   24      hR# )rU   N)
rY   rZ   r   r   r   r   r   r4   r   rX   r\   s   &r#   r^   ÚOutputSpec.__post_init__Š   sN   € ÜØ�H‰HäÜÜ ÜÜ ÜÜ!ð÷
ò 
ô !Ð#@ÀÇÁÀ
Ð!KÓLÐLñ
r'   c                óÈ   € V P                   f   RMRV P                    R2p\        V P                  P                  4       R\        V P                  P                  4       V 2# )Nra   rb   rc   rd   )re   r    rZ   r   rV   )r]   re   s   & r#   rf   ÚOutputSpec.__str__™   sP   € Ø—{‘{Ò*‘°)¸D¿K¹K¸=ÈÐ0JˆÜ�d—h‘h—m‘mÓ$Ð% R¬¨D¯I©I¯N©NÓ(;Ð'<¸V¸HÐEÐEr'   c                óL   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[R,          ;R&   # )r   rV   rZ   Nre   )r   ri   r    )r!   r"   s   "€r#   r$   ÚOutputSpec.__annotate__„   s.   ø‡ ‚ á
Ññ ñ 
Ññ ñ �$�JÑò	 r'   r(   N)	r*   r+   r,   r-   r^   rf   r.   r/   r0   r1   s   @r#   r   r   „   s   ø‡ € òMòF÷+ ƒ r'   c                   ó,   a € ] tR t^žt o V 3R ltRtV tR# )r   c                ój   <€ V ^8„  d   Qh/ S[ S[S[3,          ;R&   S[ S[S[3,          ;R&   S[;R&   # )r   Úgradients_to_parametersÚgradients_to_user_inputsÚloss_output)Údictr    )r!   r"   s   "€r#   r$   Ú$ExportBackwardSignature.__annotate__ž   s:   ø‡ ‚ á!¡#¡s (�^Ñ+ñ ñ #¡3© 8�nÑ,ñ ñ Ñò	 r'   r(   Nr)   r1   s   @r#   r   r   ž   r2   r'   c                   ó\  a € ] tR t^¥t o Rt]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR	 l4       t	]V 3R
 lR l4       t
]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R  lR! l4       t]V 3R" lR# l4       t]V 3R$ lR% l4       tV 3R& lR' ltV 3R( lR) ltR/R* ltR+ tV 3R, ltR-tV tR.# )0r   aî  
:class:`ExportGraphSignature` models the input/output signature of Export Graph,
which is a fx.Graph with stronger invariants guarantees.

Export Graph is functional and does not access "states" like parameters
or buffers within the graph via ``getattr`` nodes. Instead, :func:`export`
guarantees that parameters, buffers, and constant tensors are lifted out of
the graph as inputs.  Similarly, any mutations to buffers are not included
in the graph either, instead the updated values of mutated buffers are
modeled as additional outputs of Export Graph.

The ordering of all inputs and outputs are::

    Inputs = [*parameters_buffers_constant_tensors, *flattened_user_inputs]
    Outputs = [*mutated_inputs, *flattened_user_outputs]

e.g. If following module is exported::

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

            # Define a parameter
            self.my_parameter = nn.Parameter(torch.tensor(2.0))

            # Define two buffers
            self.register_buffer("my_buffer1", torch.tensor(3.0))
            self.register_buffer("my_buffer2", torch.tensor(4.0))

        def forward(self, x1, x2):
            # Use the parameter, buffers, and both inputs in the forward method
            output = (
                x1 + self.my_parameter
            ) * self.my_buffer1 + x2 * self.my_buffer2

            # Mutate one of the buffers (e.g., increment it by 1)
            self.my_buffer2.add_(1.0)  # In-place addition

            return output


    mod = CustomModule()
    ep = torch.export.export(mod, (torch.tensor(1.0), torch.tensor(2.0)))

Resulting Graph is non-functional::

    graph():
        %p_my_parameter : [num_users=1] = placeholder[target=p_my_parameter]
        %b_my_buffer1 : [num_users=1] = placeholder[target=b_my_buffer1]
        %b_my_buffer2 : [num_users=2] = placeholder[target=b_my_buffer2]
        %x1 : [num_users=1] = placeholder[target=x1]
        %x2 : [num_users=1] = placeholder[target=x2]
        %add : [num_users=1] = call_function[target=torch.ops.aten.add.Tensor](args = (%x1, %p_my_parameter), kwargs = {})
        %mul : [num_users=1] = call_function[target=torch.ops.aten.mul.Tensor](args = (%add, %b_my_buffer1), kwargs = {})
        %mul_1 : [num_users=1] = call_function[target=torch.ops.aten.mul.Tensor](args = (%x2, %b_my_buffer2), kwargs = {})
        %add_1 : [num_users=1] = call_function[target=torch.ops.aten.add.Tensor](args = (%mul, %mul_1), kwargs = {})
        %add_ : [num_users=0] = call_function[target=torch.ops.aten.add_.Tensor](args = (%b_my_buffer2, 1.0), kwargs = {})
        return (add_1,)

Resulting ExportGraphSignature of the non-functional Graph would be::

    # inputs
    p_my_parameter: PARAMETER target='my_parameter'
    b_my_buffer1: BUFFER target='my_buffer1' persistent=True
    b_my_buffer2: BUFFER target='my_buffer2' persistent=True
    x1: USER_INPUT
    x2: USER_INPUT

    # outputs
    add_1: USER_OUTPUT

To get a functional Graph, you can use :func:`run_decompositions`::

    mod = CustomModule()
    ep = torch.export.export(mod, (torch.tensor(1.0), torch.tensor(2.0)))
    ep = ep.run_decompositions()

Resulting Graph is functional::

    graph():
        %p_my_parameter : [num_users=1] = placeholder[target=p_my_parameter]
        %b_my_buffer1 : [num_users=1] = placeholder[target=b_my_buffer1]
        %b_my_buffer2 : [num_users=2] = placeholder[target=b_my_buffer2]
        %x1 : [num_users=1] = placeholder[target=x1]
        %x2 : [num_users=1] = placeholder[target=x2]
        %add : [num_users=1] = call_function[target=torch.ops.aten.add.Tensor](args = (%x1, %p_my_parameter), kwargs = {})
        %mul : [num_users=1] = call_function[target=torch.ops.aten.mul.Tensor](args = (%add, %b_my_buffer1), kwargs = {})
        %mul_1 : [num_users=1] = call_function[target=torch.ops.aten.mul.Tensor](args = (%x2, %b_my_buffer2), kwargs = {})
        %add_1 : [num_users=1] = call_function[target=torch.ops.aten.add.Tensor](args = (%mul, %mul_1), kwargs = {})
        %add_2 : [num_users=1] = call_function[target=torch.ops.aten.add.Tensor](args = (%b_my_buffer2, 1.0), kwargs = {})
        return (add_2, add_1)

Resulting ExportGraphSignature of the functional Graph would be::

    # inputs
    p_my_parameter: PARAMETER target='my_parameter'
    b_my_buffer1: BUFFER target='my_buffer1' persistent=True
    b_my_buffer2: BUFFER target='my_buffer2' persistent=True
    x1: USER_INPUT
    x2: USER_INPUT

    # outputs
    add_2: BUFFER_MUTATION target='my_buffer2'
    add_1: USER_OUTPUT

c                ó0   <€ V ^8„  d   QhRS[ S[,          /# ©r   Úreturn©r   r    )r!   r"   s   "€r#   r$   Ú!ExportGraphSignature.__annotate__  s   ø€ ÷ 
ñ 
™J¡s�Oñ 
r'   c                ó‚   € \         ;QJ d    . R  V P                   4       F  NK  	  5# ! R  V P                   4       4      # )c              3   óÀ   "  € T FT  pVP                   \        P                  8X  g   K$  \        VP                  \
        4      '       g   KF  VP                  x € KV  	  R # 5i©N)rV   r   rN   rY   re   r    ©Ú.0Úss   & r#   Ú	<genexpr>Ú2ExportGraphSignature.parameters.<locals>.<genexpr>  sD   é € ð 
á%�Ø�v‰vœ×,Ñ,Ñ,ô ô ˜!Ÿ(™(¤C×(ô ˆA�HŽHÛ%ùó   ‚!A¨AÁ
A©ÚtupleÚinput_specsr\   s   &r#   Ú
parametersÚExportGraphSignature.parameters  ó@   € çŒuñ 
à×%Ò%ó
�uð 	
ˆuñ 
à×%Ò%ó
ó 
ð 	
r'   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rƒ   r…   )r!   r"   s   "€r#   r$   r†   !  s   ø€ ÷ 
ñ 
™¡C�ñ 
r'   c                ó‚   € \         ;QJ d    . R  V P                   4       F  NK  	  5# ! R  V P                   4       4      # )c              3   óÀ   "  € T FT  pVP                   \        P                  8X  g   K$  \        VP                  \
        4      '       g   KF  VP                  x € KV  	  R # 5ir‰   )rV   r   rO   rY   re   r    rŠ   s   & r#   r�   Ú/ExportGraphSignature.buffers.<locals>.<genexpr>"  sD   é € ð 
á%�Ø�v‰vœ×)Ñ)Ñ)ô ô ˜!Ÿ(™(¤C×(ô ˆA�HŽHÛ%ùr�   r�   r\   s   &r#   ÚbuffersÚExportGraphSignature.buffers   r•   r'   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rƒ   r…   )r!   r"   s   "€r#   r$   r†   *  s   ø€ ÷ 
ñ 
©
±3­ñ 
r'   c                ó‚   € \         ;QJ d    . R  V P                   4       F  NK  	  5# ! R  V P                   4       4      # )c              3   óä   "  € T Ff  pVP                   \        P                  8X  g   K$  VP                  R J g   K6  \	        VP
                  \        4      '       g   KX  VP
                  x € Kh  	  R# 5i)FN)rV   r   rO   rW   rY   re   r    rŠ   s   & r#   r�   Ú>ExportGraphSignature.non_persistent_buffers.<locals>.<genexpr>+  sW   é € ð 
á%�Ø�v‰vœ×)Ñ)Ñ)ô ð �|‰|˜uÐ$ô ô ˜!Ÿ(™(¤C×(ô	 ˆA�HŽHÛ%ùs   ‚!A0¨A0ºA0ÁA0r�   r\   s   &r#   Únon_persistent_buffersÚ+ExportGraphSignature.non_persistent_buffers)  s@   € çŒuñ 
à×%Ò%ó
�uð 	
ˆuñ 
à×%Ò%ó
ó 
ð 	
r'   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rƒ   r…   )r!   r"   s   "€r#   r$   r†   5  s   ø€ ÷ 
ñ 
©±C­ñ 
r'   c                ó‚   € \         ;QJ d    . R  V P                   4       F  NK  	  5# ! R  V P                   4       4      # )c              3   óÀ   "  € T FT  pVP                   \        P                  8X  g   K$  \        VP                  \
        4      '       g   KF  VP                  x € KV  	  R # 5ir‰   )rV   r   rP   rY   re   r    rŠ   s   & r#   r�   Ú?ExportGraphSignature.lifted_tensor_constants.<locals>.<genexpr>6  sD   é € ð 
á%�Ø�v‰vœ×2Ñ2Ñ2ô ô ˜!Ÿ(™(¤C×(ô ˆA�HŽHÛ%ùr�   r�   r\   s   &r#   Úlifted_tensor_constantsÚ,ExportGraphSignature.lifted_tensor_constants4  r•   r'   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rƒ   r…   )r!   r"   s   "€r#   r$   r†   >  s   ø€ ÷ 
ñ 
¡J©s¥Oñ 
r'   c                ó‚   € \         ;QJ d    . R  V P                   4       F  NK  	  5# ! R  V P                   4       4      # )c              3   óÀ   "  € T FT  pVP                   \        P                  8X  g   K$  \        VP                  \
        4      '       g   KF  VP                  x € KV  	  R # 5ir‰   )rV   r   rQ   rY   re   r    rŠ   s   & r#   r�   Ú:ExportGraphSignature.lifted_custom_objs.<locals>.<genexpr>?  sD   é € ð 
á%�Ø�v‰vœ×-Ñ-Ñ-ô ô ˜!Ÿ(™(¤C×(ô ˆA�HŽHÛ%ùr�   r�   r\   s   &r#   Úlifted_custom_objsÚ'ExportGraphSignature.lifted_custom_objs=  r•   r'   c                ón   <€ V ^8„  d   QhRS[ S[S[,          S[,          S[,          R,          ,          /# ©r   r„   N©r   rH   rI   rJ   r    )r!   r"   s   "€r#   r$   r†   H  s,   ø€ ÷ "ñ "™Z©©e­±dÕ(:¹SÕ(@À4Õ(GÕHñ "r'   c           	     óö  € . pV P                    FÝ  pVP                  \        P                  8w  d   K$  \	        VP
                  \        \        \        \        \        34      '       d(   VP                  VP
                  P                  4       K€  \	        VP
                  \        4      '       d(   VP                  VP
                  P                  4       KÇ  \        VP
                   R 24      h	  \!        V4      # )z is not a valid user input)r’   rV   r   rM   rY   rZ   r   r   r   r   r   Úappendr   r   rG   ÚRuntimeErrorr‘   )r]   Úuser_inputsrŒ   s   &  r#   r´   Ú ExportGraphSignature.user_inputsG  s¸   € à=?ˆØ×!Ô!ˆAØ�v‰vœ×-Ñ-Ô-ÙäØ—‘ä"Ü"Ü$Ü#Ü%ð÷	ò 	ð ×"Ñ" 1§5¡5§:¡:Ö.Ü˜AŸE™EÔ#3×4Ò4Ø×"Ñ" 1§5¡5§;¡;Ö/ä" a§e¡e WÐ,FÐ#GÓHÐHñ% "ô& �[Ó!Ð!r'   c                ón   <€ V ^8„  d   QhRS[ S[S[,          S[,          S[,          R,          ,          /# r¯   r°   )r!   r"   s   "€r#   r$   r†   b  s,   ø€ ÷ #ñ #™j©©u­±tÕ);¹cÕ)AÀDÕ)HÕIñ #r'   c                óž  € . pV P                    EF0  pVP                  \        P                  \        P                  39  d   K5  \        VP                  \        \        \        \        34      '       d(   VP                  VP                  P                  4       KŒ  \        VP                  \        4      '       d(   VP                  VP                  P                  4       KÓ  \        VP                  \        4      '       d)   VP                  VP                  P                  4       EK  \!        VP                   R 24      h	  \#        V4      # )z is not a valid user output)Úoutput_specsrV   r   rl   rm   rY   rZ   r   r   r   r   r²   r   r   rG   r   r³   r‘   )r]   Úuser_outputsrŒ   s   &  r#   r¹   Ú!ExportGraphSignature.user_outputsa  sì   € à>@ˆØ×"Õ"ˆAØ�v‰vÜ×&Ñ&Ü×&Ñ&ðô ñ äØ—‘Ü¤Ô1AÄ?ÐS÷ò ð ×#Ñ# A§E¡E§J¡JÖ/Ü˜AŸE™EÔ#3×4Ò4Ø×#Ñ# A§E¡E§K¡KÖ0Ü˜AŸE™EÔ#4×5Ò5Ø×#Ñ# A§E¡E§J¡J×/ä" a§e¡e WÐ,GÐ#HÓIÐIñ# #ô$ �\Ó"Ð"r'   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# rƒ   ©r   r    )r!   r"   s   "€r#   r$   r†   {  ó   ø€ ÷ 
ñ 
¡g©c±3¨hÕ&7ñ 
r'   c                ó:   € \        R  V P                   4       4      # )c              3   ó0  "  € T FŒ  pVP                   \        P                  8X  g   K$  \        VP                  \
        4      '       g   KF  \        VP                  \        4      '       g   Kh  VP                  P                  VP                  3x € KŽ  	  R # 5ir‰   )	rV   r   rN   rY   rZ   r   re   r    r   rŠ   s   & r#   r�   Ú<ExportGraphSignature.inputs_to_parameters.<locals>.<genexpr>|  sf   é € ð 
á%�Ø�v‰vœ×,Ñ,Ñ,ô #ô ˜1Ÿ5™5¤.×1ô #ô ˜1Ÿ8™8¤S×)ô	 #ˆQ�U‰U�Z‰Z˜Ÿ™Õ"Û%ùó   ‚!B¨BÁ
BÁ,*B©Ú_immutable_dictr’   r\   s   &r#   Úinputs_to_parametersÚ)ExportGraphSignature.inputs_to_parametersz  ó"   € äñ 
à×%Ò%ó
ó 
ð 	
r'   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# rƒ   r¼   )r!   r"   s   "€r#   r$   r†   ‡  ó   ø€ ÷ 
ñ 
¡7©3±¨8Õ#4ñ 
r'   c                ó:   € \        R  V P                   4       4      # )c              3   ó0  "  € T FŒ  pVP                   \        P                  8X  g   K$  \        VP                  \
        4      '       g   KF  \        VP                  \        4      '       g   Kh  VP                  P                  VP                  3x € KŽ  	  R # 5ir‰   )	rV   r   rO   rY   rZ   r   re   r    r   rŠ   s   & r#   r�   Ú9ExportGraphSignature.inputs_to_buffers.<locals>.<genexpr>ˆ  sf   é € ð 
á%�Ø�v‰vœ×)Ñ)Ñ)ô #ô ˜1Ÿ5™5¤.×1ô #ô ˜1Ÿ8™8¤S×)ô	 #ˆQ�U‰U�Z‰Z˜Ÿ™Õ"Û%ùrÁ   rÂ   r\   s   &r#   Úinputs_to_buffersÚ&ExportGraphSignature.inputs_to_buffers†  rÆ   r'   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# rƒ   r¼   )r!   r"   s   "€r#   r$   r†   “  rÈ   r'   c                ó:   € \        R  V P                   4       4      # )c              3   ó0  "  € T FŒ  pVP                   \        P                  8X  g   K$  \        VP                  \
        4      '       g   KF  \        VP                  \        4      '       g   Kh  VP                  P                  VP                  3x € KŽ  	  R # 5ir‰   )	rV   r   rn   rY   rZ   r   re   r    r   rŠ   s   & r#   r�   Ú9ExportGraphSignature.buffers_to_mutate.<locals>.<genexpr>”  sf   é € ð 
á&�Ø�v‰vœ×3Ñ3Ñ3ô #ô ˜1Ÿ5™5¤.×1ô #ô ˜1Ÿ8™8¤S×)ô	 #ˆQ�U‰U�Z‰Z˜Ÿ™Õ"Û&ùrÁ   ©rÃ   r¸   r\   s   &r#   Úbuffers_to_mutateÚ&ExportGraphSignature.buffers_to_mutate’  ó"   € äñ 
à×&Ò&ó
ó 
ð 	
r'   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# rƒ   r¼   )r!   r"   s   "€r#   r$   r†   �  r½   r'   c                ó:   € \        R  V P                   4       4      # )c              3   ó0  "  € T FŒ  pVP                   \        P                  8X  g   K$  \        VP                  \
        4      '       g   KF  \        VP                  \        4      '       g   Kh  VP                  P                  VP                  3x € KŽ  	  R # 5ir‰   )	rV   r   ro   rY   rZ   r   re   r    r   rŠ   s   & r#   r�   Ú<ExportGraphSignature.parameters_to_mutate.<locals>.<genexpr>ž  sf   é € ð 
á&�Ø�v‰vœ×6Ñ6Ñ6ô #ô ˜1Ÿ5™5¤.×1ô #ô ˜1Ÿ8™8¤S×)ô	 #ˆQ�U‰U�Z‰Z˜Ÿ™Õ"Û&ùrÁ   rÒ   r\   s   &r#   Úparameters_to_mutateÚ)ExportGraphSignature.parameters_to_mutateœ  rÕ   r'   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# rƒ   r¼   )r!   r"   s   "€r#   r$   r†   §  s   ø€ ÷ 
ñ 
¡w©s±C¨xÕ'8ñ 
r'   c                ó:   € \        R  V P                   4       4      # )c              3   ó0  "  € T FŒ  pVP                   \        P                  8X  g   K$  \        VP                  \
        4      '       g   KF  \        VP                  \        4      '       g   Kh  VP                  P                  VP                  3x € KŽ  	  R # 5ir‰   )	rV   r   rr   rY   rZ   r   re   r    r   rŠ   s   & r#   r�   Ú=ExportGraphSignature.user_inputs_to_mutate.<locals>.<genexpr>¨  sf   é € ð 
á&�Ø�v‰vœ×7Ñ7Ñ7ô #ô ˜1Ÿ5™5¤.×1ô #ô ˜1Ÿ8™8¤S×)ô	 #ˆQ�U‰U�Z‰Z˜Ÿ™Õ"Û&ùrÁ   rÒ   r\   s   &r#   Úuser_inputs_to_mutateÚ*ExportGraphSignature.user_inputs_to_mutate¦  rÕ   r'   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# rƒ   r¼   )r!   r"   s   "€r#   r$   r†   ²  s   ø€ ÷ 
ñ 
±7¹3Á¸8Õ3Dñ 
r'   c                ó:   € \        R  V P                   4       4      # )c              3   ó0  "  € T FŒ  pVP                   \        P                  8X  g   K$  \        VP                  \
        4      '       g   KF  \        VP                  \        4      '       g   Kh  VP                  P                  VP                  3x € KŽ  	  R # 5ir‰   )	rV   r   rP   rY   rZ   r   re   r    r   rŠ   s   & r#   r�   ÚIExportGraphSignature.inputs_to_lifted_tensor_constants.<locals>.<genexpr>³  sf   é € ð 
á%�Ø�v‰vœ×2Ñ2Ñ2ô #ô ˜1Ÿ5™5¤.×1ô #ô ˜1Ÿ8™8¤S×)ô	 #ˆQ�U‰U�Z‰Z˜Ÿ™Õ"Û%ùrÁ   rÂ   r\   s   &r#   Ú!inputs_to_lifted_tensor_constantsÚ6ExportGraphSignature.inputs_to_lifted_tensor_constants±  rÆ   r'   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# rƒ   r¼   )r!   r"   s   "€r#   r$   r†   ¼  s   ø€ ÷ 
ñ 
©g±c¹3°hÕ.?ñ 
r'   c                ó:   € \        R  V P                   4       4      # )c              3   ó0  "  € T FŒ  pVP                   \        P                  8X  g   K$  \        VP                  \
        4      '       g   KF  \        VP                  \        4      '       g   Kh  VP                  P                  VP                  3x € KŽ  	  R # 5ir‰   )	rV   r   rQ   rY   rZ   r   re   r    r   rŠ   s   & r#   r�   ÚDExportGraphSignature.inputs_to_lifted_custom_objs.<locals>.<genexpr>½  sg   é € ð 
á%�Ø�v‰vœ×-Ñ-Ñ-ô #ô ˜1Ÿ5™5Ô"3×4ô #ô ˜1Ÿ8™8¤S×)ô	 #ˆQ�U‰U�Z‰Z˜Ÿ™Õ"Û%ùrÁ   rÂ   r\   s   &r#   Úinputs_to_lifted_custom_objsÚ1ExportGraphSignature.inputs_to_lifted_custom_objs»  rÆ   r'   c                ó.   <€ V ^8„  d   QhRS[ R,          /# r¯   )r   )r!   r"   s   "€r#   r$   r†   Æ  s   ø€ ÷ )
ñ )
Ñ$;¸dÕ$Bñ )
r'   c                ó†  € R p/ p/ pV P                    EF  pVP                  \        P                  8X  di   Ve   \	        R4      h\        VP                  \        4      '       g"   \	        R\        VP                  4       24      hVP                  P                  pK‹  VP                  \        P                  8X  d¨   \        VP                  \        4      '       g"   \	        R\        VP                  4       24      h\        VP                  \        4      '       g"   \	        R\        VP                  4       24      hVP                  W$P                  P                  &   EKQ  VP                  \        P                  8X  g   EKs  \        VP                  \        4      '       g"   \	        R\        VP                  4       24      h\        VP                  \        4      '       g"   \	        R\        VP                  4       24      hVP                  W4P                  P                  &   EK  	  Vf   R # \        VVVR7      # )Nz multiple LOSS_OUTPUT specs foundz-expected TensorArgument for LOSS_OUTPUT, got z3expected str target for GRADIENT_TO_PARAMETER, got z7expected TensorArgument for GRADIENT_TO_PARAMETER, got z4expected str target for GRADIENT_TO_USER_INPUT, got z8expected TensorArgument for GRADIENT_TO_USER_INPUT, got )r~   r|   r}   )r¸   rV   r   rm   rX   rY   rZ   r   r[   r   rp   re   r    rq   r   )r]   r~   r|   r}   Úspecs   &    r#   Úbackward_signatureÚ'ExportGraphSignature.backward_signatureÅ  sÔ  € àˆØ24ÐØ35Ð Ø×%Õ%ˆDØ�y‰yœJ×2Ñ2Ô2ØÒ*Ü(Ð)KÓLÐLÜ! $§(¡(¬N×;Ò;Ü(ØGÌÈTÏXÉXËÐGWÐXóð ð #Ÿh™hŸm™m’Ø—‘œj×>Ñ>Ô>Ü! $§+¡+¬s×3Ò3Ü(ØMÌdÐSW×S^ÑS^ÓN_ÐM`Ðaóð ô " $§(¡(¬N×;Ò;Ü(ØQÔRVÐW[×W_ÑW_ÓR`ÐQaÐbóð ð :>¿¹Ð'¯©¯©Ô6Ø—‘œj×?Ñ?×?Ü! $§+¡+¬s×3Ò3Ü(ØNÌtÐTX×T_ÑT_ÓO`ÐNaÐbóð ô " $§(¡(¬N×;Ò;Ü(ØRÔSWÐX\×X`ÑX`ÓSaÐRbÐcóð ð ;?¿+¹+Ð(¯©¯©Ô7ñ9 &ð< ÒÙä&Ø#Ø$;Ø%=ô
ð 	
r'   c                óD   <€ V ^8„  d   QhRS[ S[S[3,          R,          /# r¯   )r   rH   r    )r!   r"   s   "€r#   r$   r†   õ  s"   ø€ ÷ ñ ¡W©S±#¨XÕ%6¸Õ%=ñ r'   c                ó   € R # r‰   r(   r\   s   &r#   Úassertion_dep_tokenÚ(ExportGraphSignature.assertion_dep_tokenô  s   € ár'   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rƒ   r…   )r!   r"   s   "€r#   r$   r†   ù  s   ø€ ÷ 	#ñ 	#™j©�oñ 	#r'   c                óP  € . pV P                    FŠ  pVP                  \        P                  8X  g   K$  \	        VP
                  \        4      '       g"   \        R \        VP
                  4       24      hVP                  VP
                  P                  4       KŒ  	  \        V4      # ©z+expected TokenArgument for TOKEN kind, got )r’   rV   r   rR   rY   rZ   r4   rX   r[   r²   r   r‘   )r]   Úinput_tokensrŒ   s   &  r#   rú   Ú!ExportGraphSignature.input_tokensø  s|   € àˆØ×!Ô!ˆAØ�v‰vœŸ™Ö(Ü! !§%¡%¬×7Ò7Ü(ØEÄdÈ1Ï5É5ÃkÀ]ÐSóð ð ×#Ñ# A§E¡E§J¡JÖ/ñ "ô �\Ó"Ð"r'   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rƒ   r…   )r!   r"   s   "€r#   r$   r†     s   ø€ ÷ 	$ñ 	$™z©#�ñ 	$r'   c                óP  € . pV P                    FŠ  pVP                  \        P                  8X  g   K$  \	        VP
                  \        4      '       g"   \        R \        VP
                  4       24      hVP                  VP
                  P                  4       KŒ  	  \        V4      # rù   )r¸   rV   r   rR   rY   rZ   r4   rX   r[   r²   r   r‘   )r]   Úoutput_tokensrŒ   s   &  r#   rþ   Ú"ExportGraphSignature.output_tokens  s~   € àˆØ×"Ô"ˆAØ�v‰vœ×)Ñ)Ö)Ü! !§%¡%¬×7Ò7Ü(ØEÄdÈ1Ï5É5ÃkÀ]ÐSóð ð ×$Ñ$ Q§U¡U§Z¡ZÖ0ñ #ô �]Ó#Ð#r'   c                ó   <€ V ^8„  d   QhRR/# r¯   r(   )r!   r"   s   "€r#   r$   r†     s   ø€ ÷ ñ ˜tñ r'   c                óH  € V P                   pVf   R # \        V4      ^8w  d   \        R\        V4       24      h\        \	        VP                  4       4      4      p\        V P                  4      \        V P                  4      ,           pW28w  d   \        RV RV 24      hR # )Nz,expected exactly 1 assertion_dep_token, got z)expected assertion_dep_token_index to be z, got )rõ   ÚlenrX   ÚnextÚiterÚkeysr¹   rÓ   )r]   rõ   Úassertion_dep_token_indexÚexpected_indexs   &   r#   r^   Ú"ExportGraphSignature.__post_init__  sª   € Ø"×6Ñ6ÐØÒ&ÙÜÐ"Ó# qÔ(Ü Ø>¼sÐCVÓ?WÐ>XÐYóð ô %)¬Ð.A×.FÑ.FÓ.HÓ)IÓ$JÐ!Ü˜T×.Ñ.Ó/´#°d×6LÑ6LÓ2MÕMˆØÔ6Ü Ø;¸NÐ;KÈ6ÐRkÐQlÐmóð ñ 7r'   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r   ÚoldÚnewr   )r!   r"   s   "€r#   r$   r†     s   ø€ ÷ %ñ %¡Cð %©cñ %r'   c                ór  € \        V\        4      '       g   \        R\        V4       24      h\        V\        4      '       g   \        R\        V4       24      h\        \
        \        \        \        \        3pV P                   FN  p\        VP                  V4      '       g   K!  VP                  P                  V8X  g   K>  W$P                  n        KP  	  V P                   FN  p\        VP                  V4      '       g   K!  VP                  P                  V8X  g   K>  W%P                  n        KP  	  R# )zB
Replace all uses of the old name with new name in the signature.
zexpected old to be str, got zexpected new to be str, got N)rY   r    rX   r[   r   r   r   r   r   r4   r¸   rZ   r   r’   )r]   r
  r  Ú	arg_typesÚoÚis   &&&   r#   Úreplace_all_usesÚ%ExportGraphSignature.replace_all_uses  sÝ   € ô ˜#œs×#Ò#Ü Ð#?ÄÀSÃ	¸{Ð!KÓLÐLÜ˜#œs×#Ò#Ü Ð#?ÄÀSÃ	¸{Ð!KÓLÐLäÜÜÜÜÜð
ˆ	ð ×"Ô"ˆAÜ˜!Ÿ%™% ×+Ô+Ø—5‘5—:‘: Ö$Ø!$—E‘E–Jñ #ð ×!Ô!ˆAÜ˜!Ÿ%™% ×+Ô+Ø—5‘5—:‘: Ö$Ø!$—E‘E–Jó "r'   c                ó   a a€ VV 3R  lpV# )c                 óÔ   <€ VP                   R 8X  d   SP                  V P                  V4       S'       d2   V P                   R8X  d   SP                  V P                  V4       R# R# R# )ÚoutputÚplaceholderN)Úopr  r   )r
  r  ÚuserÚreplace_inputsr]   s   &&&€€r#   Ú_Ú0ExportGraphSignature.get_replace_hook.<locals>._9  sL   ø€ Ø�w‰w˜(Ô"Ø×%Ñ% c§h¡h°Ô4ß #§&¡&¨MÔ"9Ø×%Ñ% c§h¡h°Ö4ñ #:‰~r'   r(   )r]   r  r  s   ff r#   Úget_replace_hookÚ%ExportGraphSignature.get_replace_hook8  s   ù€ ö	5ð ˆr'   c                óœ   € R P                  R V P                   4       4      pR P                  R V P                   4       4      pRV RV R 2# )Ú
c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir‰   r   rŠ   s   & r#   r�   Ú/ExportGraphSignature.__str__.<locals>.<genexpr>B  s   é € ÐAÑ0@¨1¤ A§ Ó0@ùó   ‚c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir‰   r   rŠ   s   & r#   r�   r   C  s   é € Ð CÑ1B¨A¤ Q§ Ó1Bùr!  z

# inputs
z

# outputs
)Újoinr’   r¸   )r]   r’   r¸   s   &  r#   rf   ÚExportGraphSignature.__str__A  sK   € Ø—i‘iÑA°×0@Ò0@ÓAÓAˆØ—y‘yÑ C°×1BÒ1BÓ CÓCˆØ˜k˜]¨/¸,¸ÀrÐJÐJr'   c                óR   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   # )r   r’   r¸   )Úlistr   r   )r!   r"   s   "€r#   r$   r†   ¥   s,   ø‡ ‚ ñZ ‘i•Ñ ñ[ ñ\ ‘zÕ"Ñ"ò] r'   r(   N)F)r*   r+   r,   r-   Ú__doc__Úpropertyr“   rš   r    r¦   r¬   r´   r¹   rÄ   rÌ   rÓ   rÚ   rà   ræ   rì   rñ   rõ   rú   rþ   r^   r  r  rf   r.   r/   r0   r1   s   @r#   r   r   ¥   sœ  ø‡ € ñið^ ÷
ó ð
ð ÷
ó ð
ð ÷
ó ð
ð ÷
ó ð
ð ÷
ó ð
ð ÷"ó ð"ð2 ÷#ó ð#ð0 ÷
ó ð
ð ÷
ó ð
ð ÷
ó ð
ð ÷
ó ð
ð ÷
ó ð
ð ÷
ó ð
ð ÷
ó ð
ð ÷)
ó ð)
ð\ ÷ó ðð ÷	#ó ð	#ð ÷	$ó ð	$÷ð ÷%ð %ô2òK÷y ƒ r'   c                ó0   € ^ RI Hp V! \        V 4      4      # )z�
Creates a mapping where items cannot be added, deleted, or updated.
NOTE: The immutability is shallow (like tuple is an immutable collection).
)ÚMappingProxyType)Útypesr*  r   )Úitemsr*  s   & r#   rÃ   rÃ   G  s   € õ
 'áœD ›KÓ(Ð(r'   c                ó$   € V ^8„  d   QhR\         /# rƒ   )ri   )r!   s   "r#   r$   r$   Q  s   € ÷ '
ñ '
¬lñ '
r'   c           
      ó¾  € ^ RI HpHpHpHp ^ RIHp \        V \        \        \        \        R4      \        34      '       d   \        RV R7      # RV P                  9  d   \        V  R24      hV P                  R,          pV P                   V9   d   \#        V P                   R7      # \%        V4      '       d   \'        V P                   R7      # \        Wu4      '       d   \)        V P                   R7      # \        Wt4      '       d   \+        V P                   R7      # \        Ws4      '       d   \-        V P                   R7      # \        Wr4      '       d4   \/        V P                   VP1                  4       P3                  4       R	7      # \        Wv4      '       d#   \/        V P                   VP4                  VR
7      # \7        \        V4      4      '       d+   \/        V P                   \9        \        V4      4      VR
7      # \        V\        \        \        \        \        R4      34      '       d   \        V P                   VR7      # \        R\        V4       R24      h)r   )ÚScriptObjectÚSymBoolÚSymFloatÚSymIntr   Nra   )r   rG   Úvalz8 is not a constant or a node with a 'val' metadata field)r   )r   rB   )r   rB   rC   z*Encountered an unsupported object of type z0 while writing the metadata for exported program)Útorchr/  r0  r1  r2  Ú"torch._library.fake_class_registryr	   rY   rH   rJ   rI   r[   r    r   ÚmetarX   r   r4   r   r   r   r   r   r   Ú_typeÚqualified_nameÚscript_class_namer   r
   )ÚnodeÚtoken_namesr/  r0  r1  r2  r	   r3  s   &&      r#   Ú_make_argument_specr<  Q  sÃ  € ß=Ó=ÝCä�$œœd¤E¬4°«:´sÐ;×<Ò<ä R¨tÔ4Ð4à�D—I‘IÔÜØˆfÐLÐMó
ð 	
ð �)‰)�EÕ
€CØ‡y�y�KÔÜ $§)¡)Ô,Ð,Ü	��ŠÜ 4§9¡9Ô-Ð-Ü	�C×	 Ò	 Ü 4§9¡9Ô-Ð-Ü	�C×	"Ò	"Ü T§Y¡YÔ/Ð/Ü	�C×	!Ò	!Ü D§I¡IÔ.Ð.Ü	�C×	&Ò	&Ü  d§i¡i¸3¿9¹9»;×;UÑ;UÓ;WÔXÐXÜ	�C×	*Ò	*Ü Ø—‘ c×&;Ñ&;Àcô
ð 	
ô 
œ˜c›×	#Ò	#Ü Ø—‘Ô&:¼4À»9Ó&EÐPSô
ð 	
ô 
�Cœ#œt¤S¬%´°d³Ð<×	=Ò	=Ü T§Y¡Y°cÔ:Ð:äØ8¼¸c»¸ð D>ð ?ó
ð 	
r'   c                óF   € V ^8„  d   QhRRRRR\         \        ,          RR/# )r   Úgraph_signaturer   Úgmztorch.fx.GraphModuler    r„   r   )Úsetr    )r!   s   "r#   r$   r$   {  s@   € ÷ |Tñ |TØ%ð|Tàð|Tô  ¤�Hð|Tð ñ	|Tr'   c           	      ó4  aaaaaaaaaaaa€ ^ RI Hp V P                  RJp\        V P                  4      oV P
                  oV P                  o\        V P                  4      oV P                  oV P                  oV P                  oV'       d   V P                  P                  M/ oV'       d   V P                  P                  M/ oV'       d   V P                  P                  MRoV P                  pV P                  oVP                   P"                   Uu. uF!  pVP$                  R8X  g   K  \'        We4      NK#  	  ppVP)                  \+        \-        \/        VP                   P"                  4      4      4      P0                  4       Uu. uF  p\'        VS4      NK  	  ppR VVVV3R llp	R VVVVVVVV3R llp
V Uu. uF
  q¹! V4      NK  	  pp\3        V4       UUu. uF  w  rÞV
! WÞ4      NK  	  ppp\5        WÏR7      # u upi u upi u upi u uppi )	r   )Ú_pytreeNr  c                ó0   € V ^8„  d   QhR\         R\        /# )r   Úinpr„   )ri   r   )r!   s   "r#   r$   Ú8_convert_to_export_graph_signature.<locals>.__annotate__¨  s   € ÷ Gñ Gœ<ð G¬Iñ Gr'   c                 ó  <€ \        V \        4      '       d   \        \        P                  V R R7      # \        V \
        4      '       g   \        \        P                  V R R7      # V P                  pVS9   d   \        \        P                  V R R7      # VS9   d$   \        \        P                  V SV,          R7      # VS9   d/   \        \        P                  V SV,          SV,          S9  R7      # \        RV 24      h)N©rV   rZ   re   )rV   rZ   re   rW   zUnknown tensor input kind: )rY   r4   r   r   rR   r   rM   r   rN   rO   rX   )rD  r   rÌ   rÄ   r    r´   s   & €€€€r#   Úto_input_specÚ9_convert_to_export_graph_signature.<locals>.to_input_spec¨  sä   ø€ Ü�cœ=×)Ò)Ü¤)§/¡/°sÀ4ÔHÐHä˜#œ~×.Ò.Ü¤)×"6Ñ"6¸CÈÔMÐMØ�x‰xˆØ�;ÔÜ¤)×"6Ñ"6¸CÈÔMÐMØÐ)Ô)ÜÜ×(Ñ(ØØ+¨DÕ1ôð ð
 Ð&Ô&ÜÜ×%Ñ%ØØ(¨Õ.Ø-¨dÕ3Ð;QÑQô	ð ô !Ð#>¸t¸fÐ!EÓFÐFr'   c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r   Úidxr  r„   )rH   ri   r   )r!   s   "r#   r$   rE  Á  s&   € ÷ 2Lñ 2LœCð 2L¤Lð 2L´Zñ 2Lr'   c                 óÌ  <€ \        V\        4      '       d   \        \        P                  VR R7      # \        V\
        4      '       g   \        \        P                  VR R7      # VP                  pV \        S4      \        S4      ,           \        S	4      ,           \        S4      ,           8  d�   VS9   d$   \        \        P                  VSV,          R7      # VS9   d$   \        \        P                  VSV,          R7      # VS	9   d$   \        \        P                  VS	V,          R7      # \        RV 24      hVS
9   d   \        \        P                  VR R7      # VS9   d$   \        \        P                  VSV,          R7      # VS9   d$   \        \        P                  VSV,          R7      # VS8X  d   \        \        P                  VR R7      # \        RV 24      h)NrG  zUnknown tensor mutation kind: zUnknown tensor output kind: )rY   r4   r   r   rR   r   rl   r   r  rn   ro   rr   rX   rp   rq   rm   )rK  r  r   Úbuffer_mutationsÚgrad_paramsÚgrad_user_inputsr~   rþ   Úparameter_mutationsÚuser_input_mutationsr¹   s   && €€€€€€€€r#   Úto_output_specÚ:_convert_to_export_graph_signature.<locals>.to_output_specÁ  sÇ  ø€ Ü�aœ×'Ò'Ü¤:×#3Ñ#3¸À4ÔHÐHä˜!œ^×,Ò,Ü¤:×#9Ñ#9¸qÈÔNÐNØ�v‰vˆØ”Ð%Ó&¬Ð-@Ó)AÕAÄCØ óE
õ 
ä�Óõô ð Ð'Ô'Ü!Ü#×3Ñ3ØØ+¨DÕ1ôð ð
 Ð,Ô,Ü!Ü#×6Ñ6ØØ.¨tÕ4ôð ð
 Ð-Ô-Ü!Ü#×7Ñ7ØØ/°Õ5ôð ô %Ð'EÀdÀVÐ%LÓMÐMà�|Ô#Ü!¤z×'=Ñ'=À1ÈTÔRÐRà˜Ô$Ü!Ü#×9Ñ9ØØ& tÕ,ôð ð
 Ð)Ô)Ü!Ü#×:Ñ:ØØ+¨DÕ1ôð ð
 ˜Ô$Ü!¤z×'=Ñ'=À1ÈTÔRÐRô %Ð'CÀDÀ6Ð%JÓKÐKr'   )r’   r¸   )Útorch.utilsrB  rñ   r@  r´   rÄ   rÌ   r¹   rÓ   rÚ   rà   Úgradients_to_parameterr}   r~   rú   rþ   ÚgraphÚnodesr  r<  Útree_leavesr  r  ÚreversedÚargsÚ	enumerater   )r>  r?  r    ÚpytreeÚis_jointrú   r:  ÚinputsÚoutputsrH  rR  rD  r’   rK  r  r¸   rM  rN  rO  rÌ   rÄ   r~   rþ   rP  rQ  r´   r¹   s   &&f             @@@@@@@@@@@r#   Ú"_convert_to_export_graph_signaturer`  {  sí  ÿû€ õ
 .à×1Ñ1¸Ð=€Hô �o×1Ñ1Ó2€KØ*×?Ñ?ÐØ'×9Ñ9ÐÜ�×3Ñ3Ó4€LØ&×8Ñ8ÐØ)×>Ñ>ÐØ*×@Ñ@Ð÷ ð 	×*Ñ*×AÒAàð ÷ ð 	×*Ñ*×CÒCàð ÷ ð 	×*Ñ*×6Ò6àð ð
 #×/Ñ/€LØ#×1Ñ1€Mð —H‘H—N’Nóá"ˆDØ�7‰7�mÑ#ô 	0Ô˜DÖ/Ù"ð ð ð ×&Ñ&¤t¬D´¸"¿(¹(¿.¹.Ó1IÓ,JÓ'K×'PÑ'PÔQóáQˆDô 	˜D -Ö0ÙQð ð ÷
Gó G÷22L÷ 2Lñh 28Ó8±¨#�= Ö%±€KÐ8Ü9BÀ7Ô9KÔLÑ9K©v¨s‘N 3Ö*Ñ9K€LÑLÜ¨KÔSÐSùòsùò
ùòd 9ùÛLs   ÄHÄ/HÆH
ÇHÇ#H)r   r   r   r   r   r   r   r   r   r   r   r   )&ÚdataclassesÚcollections.abcr   r   Úenumr   r   Útypingr   r5  r	   Útorch._library.opaque_objectr
   r   Útorch._subclasses.fake_tensorr   r4  Ú&torch._functorch._aot_autograd.schemasr   Ú__all__Ú	dataclassr   r4   r   r   r   r   r   ri   r   r   r   r   r   r   rÃ   r<  r`  r(   r'   r#   Ú<module>rj     sú  ðã ß /ß Ý  å ?ß NÝ 1÷ ÛÝEò€ð  ×Ñ÷ð ó ðð ×Ñ÷ð ó ðð ×Ñ÷ð ó ðð ×Ñ÷ð ó ðð ×Ñ÷ð ó ðð ×Ñ÷-ð -ó ð-ð ×Ñ÷+ð +ó ð+ð Øõàõð õð õ	ð
 õð õð ô�ô ð ×Ñ÷Rð Ró ðRô<�ô ð ×Ñ÷Fð Fó ðFð2 ×Ñ÷ð ó ðð ×Ñ÷^Kð ^Kó ð^KòB)õ'
÷T|Tr'   