Ë
    f^(hQ  ã                   óª  — d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
mZmZ d dlmZmZ d dlZd dlmc mZ d dlmZ d dlmZmZmZ d dlmZmZmZ d dlm Z  d d	l!m"Z" d d
l#m$Z$  edejJ                  ejL                  «      Z' G d„ dejP                  «      Z) G d„ d«      Z* e	de+«      Z, G d„ dejZ                  «      Z. G d„ d«      Z/ G d„ d«      Z0 G d„ d«      Z1 G d„ d«      Z2 G d„ d«      Z3 G d„ d«      Z4 G d„ d «      Z5 G d!„ d"e5«      Z6 G d#„ d$e5«      Z7 G d%„ d&e5«      Z8 G d'„ d(e5«      Z9 G d)„ d*e5«      Z: G d+„ d,«      Z; G d-„ d.«      Z<y)/é    N)Úabstractmethod)ÚAnyÚCallableÚNewTypeÚOptionalÚTypeVarÚUnion)ÚoverrideÚSelf)ÚTracingContext)Ú
FakeTensorÚFakeTensorModeÚTensor)ÚMetaConverterÚMetaTensorDescÚMetaTensorDescriber©ÚSymNode)ÚShapeEnv)Úno_dispatchÚ	_SymNodeTc            	       óÐ   ‡ — e Zd ZdZdej
                  ddfˆ fd„Zedede	e
def   e	edf   f   fd„«       Zededee   fd	„«       Zededefd
„«       Zedededefd„«       Zˆ xZS )ÚGraphPicklerzb
    GraphPickler is a Pickler which helps pickling fx graph - in particular
    GraphModule.
    ÚfileÚreturnNc                 óv   •— t         ‰| �  |«       t        t        «       «      | _        t        d¬«      | _        y )NF)Ú	copy_data)ÚsuperÚ__init__Ú_UnpickleStateTokenÚobjectÚ_unpickle_stater   Ú_meta_tensor_describer)Úselfr   Ú	__class__s     €úU/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/fx/_graph_pickler.pyr   zGraphPickler.__init__    s0   ø€ Ü‰Ñ˜Ôô  3´6³8Ó<ˆÔô ':ÀEÔ&JˆÕ#ó    Úobj.c                 ó  — t        |t        «      rt        j                  | |«      S t        |t        j
                  j                  «      rt        j                  | |«      S t        |t        j                  j                  t        j                  j                  f«      rt        j                  | |«      S t        |t        «      rt        j                  | |«      S t        |t        j                  «      rt        j                  | |«      S t        |t        j                   j"                  «      rt$        j                  | |«      S t        |t        j
                  j&                  «      rJ ‚t(        j                  | |«      x}r|S t*        S ©N)Ú
isinstancer   Ú_TensorPickleDataÚreduce_helperÚtorchÚfxÚGraphModuleÚ_GraphModulePickleDataÚ_opsÚOperatorBaseÚOpOverloadPacketÚ_OpPickleDatar   Ú_ShapeEnvPickleDataÚSymIntÚ_SymNodePickleDataÚ_guardsr   Ú_TracingContextPickleDataÚNodeÚ_TorchNumpyPickleDataÚNotImplemented)r$   r(   Úreduces      r&   Úreducer_overridezGraphPickler.reducer_override-   s"  € ô* �cœ:Ô&Ü$×2Ñ2°4¸Ó=Ð=Ü˜œUŸX™X×1Ñ1Ô2Ü)×7Ñ7¸¸cÓBÐBÜ˜œeŸj™j×5Ñ5´u·z±z×7RÑ7RÐSÔTÜ ×.Ñ.¨t°SÓ9Ð9Ü˜œXÔ&Ü&×4Ñ4°T¸3Ó?Ð?Ü˜œUŸ\™\Ô*Ü%×3Ñ3°D¸#Ó>Ð>Ü˜œUŸ]™]×9Ñ9Ô:Ü,×:Ñ:¸4ÀÓEÐEô " #¤u§x¡x§}¡}Ô5Ð5Ð5Ü.×<Ñ<¸TÀ3ÓGÐGˆvÐGØ�ô "Ð!r'   c                 ó"   — || j                   u ryy )NÚunpickle_state)r"   )r$   r(   s     r&   Úpersistent_idzGraphPickler.persistent_idX   s   € à�$×&Ñ&Ñ&Ø#àr'   c                 ó¨   — t        j                  «       5 } | |«      }|j                  |«       |j                  «       cddd«       S # 1 sw Y   yxY w)z#
        Pickle an object.
        N)ÚioÚBytesIOÚdumpÚgetvalue)Úclsr(   ÚstreamÚpicklers       r&   ÚdumpszGraphPickler.dumps_   sC   € ô
 �Z‰Z‹\ð 	%˜VÙ˜&“kˆGØ�L‰L˜ÔØ—?‘?Ó$÷	%÷ 	%ò 	%ús   •)AÁAÚdataÚ	fake_modec                 ó¦   — t        |«      }t        j                  | «      5 }t        ||«      }|j	                  «       cddd«       S # 1 sw Y   yxY w)z%
        Unpickle an object.
        N)Ú_UnpickleStaterD   rE   Ú_GraphUnpicklerÚload)rL   rM   ÚstaterI   Ú	unpicklers        r&   ÚloadszGraphPickler.loadsi   sG   € ô
 ˜yÓ)ˆÜ�Z‰Z˜Óð 	$ Ü'¨°Ó6ˆIØ—>‘>Ó#÷	$÷ 	$ò 	$ús   ¡AÁA)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rD   rE   r   r
   r!   Útupler   r   r?   r   ÚstrrB   ÚclassmethodÚbytesrK   Ústaticmethodr   rT   Ú__classcell__©r%   s   @r&   r   r      sÓ   ø„ ñð
K˜RŸZ™Zð K¨Dõ Kð ð("Øð("à	ˆx˜˜S˜Ñ! 5¨¨c¨¡?Ð2Ñ	3ò("ó ð("ðT ð ð ¨H°S©Mò ó ðð ð%˜ð % 5ò %ó ð%ð ð$�Eð $ nð $¸ò $ó ô$r'   r   c                   ó   — e Zd Zdeddfd„Zy)rO   rM   r   Nc                 ó0   — || _         t        «       | _        y r*   )rM   r   Úmeta_converter)r$   rM   s     r&   r   z_UnpickleState.__init__u   s   € Ø"ˆŒÜ9F»ˆÕr'   )rU   rV   rW   r   r   © r'   r&   rO   rO   t   s   „ ðI .ð I°Tô Ir'   rO   r    c                   óZ   ‡ — e Zd Zdej                  deddfˆ fd„Zededefd„«       Z	ˆ xZ
S )rP   rI   rA   r   Nc                 ó2   •— t         ‰| �  |«       || _        y r*   )r   r   r"   )r$   rI   rA   r%   s      €r&   r   z_GraphUnpickler.__init__€   s   ø€ Ü‰Ñ˜Ô Ø-ˆÕr'   Úpidc                 óN   — |dk(  r| j                   S t        j                  d«      ‚)NrA   zInvalid persistent ID)r"   ÚpickleÚUnpicklingError)r$   rf   s     r&   Úpersistent_loadz_GraphUnpickler.persistent_load„   s)   € àÐ"Ò"Ø×'Ñ'Ð'ä×(Ñ(Ð)@ÓAÐAr'   )rU   rV   rW   rD   rE   rO   r   r
   r!   rj   r^   r_   s   @r&   rP   rP      sG   ø„ ð.˜rŸz™zð .¸>ð .Èdõ .ð ðB 6ð B¨fò Bó ôBr'   rP   c                   ó‚   — e Zd ZU eeef   ed<   edede	de
eeege	f   e
eef   f   fd„«       Zde	ddfd„Zd	ede	fd
„Zy)r6   rL   rJ   r(   r   c                 óB   — | j                    | |«      |j                  ffS r*   ©Úunpickler"   ©rH   rJ   r(   s      r&   r-   z!_ShapeEnvPickleData.reduce_helper�   s"   € ð �|‰|™c #›h¨×(?Ñ(?Ð@Ð@Ð@r'   ÚenvNc                 ó’   — |j                   rJ ‚|j                  j                  «       | _        | j                  d= | j                  d= y )NÚtracked_fakesÚfake_tensor_cache)Ú_translation_validation_enabledÚ__dict__ÚcopyrL   )r$   rp   s     r&   r   z_ShapeEnvPickleData.__init__—   s@   € ð ×6Ò6Ð6Ð6Ø—L‘L×%Ñ%Ó'ˆŒ	Ø�I‰I�oÐ&Ø�I‰IÐ)Ñ*r'   rA   c                 ó   — |j                   sJ ‚|j                   j                  sJ ‚| j                  j                  «       D ]&  \  }}t	        |j                   j                  ||«       Œ( |j                   j                  S r*   )rM   Ú	shape_envrL   ÚitemsÚsetattr)r$   rA   ÚkÚvs       r&   rn   z_ShapeEnvPickleData.unpickle    sp   € à×'Ò'Ð'Ð'Ø×'Ñ'×1Ò1Ð1Ð1à—I‘I—O‘OÓ%ò 	>‰DˆAˆqÜ�N×,Ñ,×6Ñ6¸¸1Õ=ð	>ð ×'Ñ'×1Ñ1Ð1r'   )rU   rV   rW   ÚdictrZ   r!   Ú__annotations__r[   r   r   rY   r   r   rO   r    r-   r   rn   rc   r'   r&   r6   r6   Œ   s�   … Ø
ˆs�Fˆ{Ñ
ÓàðAØ"ðAØ)1ðAà	Ø�$˜Ð'¨Ð1Ñ2°E¸$Ð@SÐ:SÑ4TÐTñ
òAó ðAð+˜Hð +¨ó +ð2 ~ð 2¸(ô 2r'   r6   c                   óŒ   — e Zd Zedededeeee	gef   eee
f   f   fd„«       Zdeddfd„Zdefd„Zd	e	dej                   fd
„Zy)r8   rJ   r(   r   c                 óÄ   —  | |j                   «      |j                  f}t        |t        j                  «      rt
        j                  |fS t        dt        |«      › �«      ‚)NzUnhandled SymNode type )	Únoder"   r+   r.   r7   r8   Úunpickle_sym_intÚNotImplementedErrorÚtype)rH   rJ   r(   Úargss       r&   r-   z _SymNodePickleData.reduce_helper¬   sR   € ñ �C—H‘H“˜w×6Ñ6Ð7ˆÜ�cœ5Ÿ<™<Ô(Ü%×6Ñ6¸Ð<Ð<ä%Ð(?ÄÀSÃ	¸{Ð&KÓLÐLr'   r�   Nc                 óŒ   — |j                   | _        |j                  | _        |j                  | _        |j                  | _        y r*   )Ú_exprÚexprrx   ÚpytypeÚ_hintÚhint)r$   r�   s     r&   r   z_SymNodePickleData.__init__º   s.   € Ø—J‘JˆŒ	ØŸ™ˆŒØ—k‘kˆŒØ—J‘Jˆ�	r'   c                 ó�   — ddl m} | j                  €J ‚ || j                  | j                  | j                  | j
                  «      S )Nr   r   )Útorch.fx.experimental.sym_noder   rx   rˆ   r‰   r‹   )r$   r   s     r&   Ú_to_sym_nodez_SymNodePickleData._to_sym_nodeÀ   s6   € Ý:à�~‰~Ð)Ð)Ð)Ù�t—y‘y $§.¡.°$·+±+¸t¿y¹yÓIÐIr'   rA   c                 óH   — t        j                  | j                  «       «      S r*   )r.   r7   rŽ   ©r$   rA   s     r&   r‚   z#_SymNodePickleData.unpickle_sym_intÆ   s   € Ü�|‰|˜D×-Ñ-Ó/Ó0Ð0r'   )rU   rV   rW   r[   r   r   rY   r   r   rO   r    r-   r   r   rŽ   r.   r7   r‚   rc   r'   r&   r8   r8   «   s”   „ ØðMàðMð ðMð 
Ø�$˜Ð'¨Ð2Ñ3°U¸4ÐATÐ;TÑ5UÐUñ
ò	Mó ðMð˜Wð ¨ó ðJ˜gó Jð1¨~ð 1À%Ç,Á,ô 1r'   r8   c                   ó‚   — e Zd ZU ee   ed<   edededee	e
egef   ee
ef   f   fd„«       Zdededdfd	„Zd
edefd„Zy)r,   ÚmetadatarJ   r(   r   c                 óX   — | j                    | |j                  |«      |j                  ffS r*   )rn   r#   r"   ro   s      r&   r-   z_TensorPickleData.reduce_helperÍ   s3   € ð �|‰|Ù�×.Ñ.°Ó4Ø×#Ñ#ð
ð 
ð 	
r'   Ú	describerÚtNc           	      óŒ  — |j                  |«      }|j                  r:t        |j                  t        j                  j
                  j                  «      sJ ‚t        j                  |d ¬«      | _	        t        j                  D ]>  }|dv rŒt        | j                  |«      €ŒJ d|› dt        | j                  |«      › �«       ‚ y )N©rM   )rM   Ú	view_funcz
not None: z: )Údescribe_tensorr˜   r+   r.   Ú_subclassesÚ
meta_utilsÚ_FakeTensorViewFuncÚdataclassesÚreplacer’   r   Ú_UNSERIALIZABLEÚgetattr)r$   r”   r•   r’   r{   s        r&   r   z_TensorPickleData.__init__Ø   sÀ   € ð
 ×,Ñ,¨QÓ/ˆð ×%Ò%¬Ø×Ñ¤× 1Ñ 1× <Ñ <× PÑ Pô*
ð 	
ð 
ô $×+Ñ+¨HÀÔEˆŒô  ×/Ñ/ò 	=ˆAØÐ.Ñ.Øä˜Ÿ™ qÓ)Ñ1ð=à˜A˜3˜b¤¨¯©¸Ó!:Ð ;Ð<ó=Ø1ñ		=r'   rA   c                 óD  ‡— t        j                  | j                  ‰j                  ¬«      }dt        g t
        j                  f   dt        t
        j                  t        f   dt        fˆfd„}‰j                  j                  |‰j                  j                  |d d «      S )Nr—   Úmake_meta_tÚdevicer   c                 ó|   •— t        «       5  t        ‰j                   | «       |«      cd d d «       S # 1 sw Y   y xY wr*   )r   r   rM   )r¢   r£   rA   s     €r&   Ú	with_fakez-_TensorPickleData.unpickle.<locals>.with_fakeõ   s8   ø€ ô “ñ Ü!Ø"×,Ñ,Ù“MØó÷÷ ò ús   Œ2²;)r�   rž   r’   rM   r   r.   r   r	   r£   rZ   r   rb   Úmeta_tensorrx   )r$   rA   r’   r¥   s    `  r&   rn   z_TensorPickleData.unpickleî   s“   ø€ ä×&Ñ&Ø�M‰MØ$×.Ñ.ô
ˆð
	Ü! "¤e§l¡lÐ"2Ñ3ð	Ü=BÄ5Ç<Á<ÔQTÐCTÑ=Uð	äõ	ð ×,Ñ,×8Ñ8ØØ×$Ñ$×.Ñ.ØØØó
ð 	
r'   )rU   rV   rW   r   r   r~   r[   r   rY   r   r   rO   r    r-   r   r   r   rn   rc   r'   r&   r,   r,   Ê   sŒ   … Ø˜ZÑ(Ó(àð
Ø"ð
Ø)3ð
à	Ø�$˜Ð'¨Ð3Ñ4°e¸DÐBUÐ<UÑ6VÐVñ
ò
ó ð
ð=Ð"5ð =¸&ð =ÀTó =ð,
 ~ð 
¸*ô 
r'   r,   c                   ó    — e Zd Zedededeeee	e
gef   ee	ef   f      fd„«       Zdededdfd„Zd	e
ded
ef   fd„Zededee	   fd„«       Zy)r<   rJ   r(   r   c                 ó^   — | j                  |«      x}r| j                  ||j                  ffS y r*   )Úfrom_objectrn   r"   )rH   rJ   r(   rL   s       r&   r-   z#_TorchNumpyPickleData.reduce_helper	  s5   € ð —?‘? 3Ó'Ð'ˆ4Ð'Ø—L‘L 4¨×)@Ñ)@Ð"AÐBÐBàr'   ÚmodÚnameNc                 ó    — || _         || _        y r*   )rª   r«   )r$   rª   r«   s      r&   r   z_TorchNumpyPickleData.__init__  s   € ØˆŒØˆ�	r'   rA   .c                 óÒ   — t        t        j                  | j                  «      | j                  «      }t
        j                  j                  j                  j                  «       |   S r*   )
r    Ú	importlibÚimport_modulerª   r«   r.   Ú_dynamoÚ	variablesÚmiscÚget_np_to_tnp_map)r$   rA   Únps      r&   rn   z_TorchNumpyPickleData.unpickle  sE   € Ü”Y×,Ñ,¨T¯X©XÓ6¸¿	¹	ÓBˆÜ�}‰}×&Ñ&×+Ñ+×=Ñ=Ó?ÀÑCÐCr'   Útnpc                 ód  — t        |«      sy t        j                  j                  j                  j                  «       }	 |j                  |«      x}sy 	 t        |dd «      x}sd}t        |dd «      x}sy |t        t        j                  |«      |«      k(  sJ ‚ | ||«      S # t        $ r Y y w xY w)NrV   ÚnumpyrU   )Úcallabler.   r°   r±   r²   Úget_tnp_to_np_mapÚgetÚ	TypeErrorr    r®   r¯   )rH   rµ   Ú	tnp_to_npr´   rª   r«   s         r&   r©   z!_TorchNumpyPickleData.from_object  s½   € ä˜Œ}Øä—M‘M×+Ñ+×0Ñ0×BÑBÓDˆ	ð	Ø#Ÿ-™-¨Ó,Ð,�BÐ,Øð -ô
 ˜r <°Ó6Ð6�Ð6ØˆCä  J°Ó5Ð5�Ð5Øà”WœY×4Ñ4°SÓ9¸4Ó@Ò@Ð@Ð@Ù�3˜‹~Ðøô ò 	Ùð	ús   Á B# Â#	B/Â.B/)rU   rV   rW   r[   r   r!   r   rY   r   r   rO   r    r-   rZ   r   rn   r©   rc   r'   r&   r<   r<     sº   „ Øð
Ø"ð
Ø)/ð
à	ØØ�d˜NÐ+¨VÐ3Ñ4°e¸DÐBUÐ<UÑ6VÐVñ	
ñ
ò
ó ð
ð˜Cð  sð ¨tó ðD ~ð D¸(À3ÈÀ;Ñ:Oó Dð ð˜fð ¨°$©ò ó ñr'   r<   c                   ó  — e Zd Zededej                  j                  dee	e
egej                  j                  f   ee
ef   f   fd„«       Zdej                  j                  ddfd„Zdedej                  j                  fd	„Zy)
r1   rJ   r(   r   c                 óB   — | j                    | |«      |j                  ffS r*   rm   ro   s      r&   r-   z$_GraphModulePickleData.reduce_helper5  s*   € ð �|‰|Ù�‹HØ×#Ñ#ð
ð 
ð 	
r'   ÚgmNc                 ó.  — t        |t        j                  j                  j                  «      r|j                  «       }n|j                  «       }|j                  j                  «       | _	        | j                  d= t        |j                  «      | _        y )NÚ_graph)r+   r.   r/   Ú_lazy_graph_moduleÚ_LazyGraphModuleÚ_real_recompileÚ	recompileru   rv   Úgm_dictÚ_GraphPickleDatarÁ   Úgraph)r$   r¿   Ú_python_codes      r&   r   z_GraphModulePickleData.__init__A  se   € ä�bœ%Ÿ(™(×5Ñ5×FÑFÔGØ×-Ñ-Ó/‰LàŸ<™<›>ˆLØ—{‘{×'Ñ'Ó)ˆŒØ�L‰L˜Ð"Ü% b§i¡iÓ0ˆ�
r'   rA   c                 óì   — t         j                  j                  j                  t         j                  j                  «      }| j                  |_        | j                  j                  ||«      |_        |S r*   )	r.   r/   r0   Ú__new__rÆ   ru   rÈ   rn   rÁ   )r$   rA   r¿   s      r&   rn   z_GraphModulePickleData.unpickleK  sN   € Ü�X‰X×!Ñ!×)Ñ)¬%¯(©(×*>Ñ*>Ó?ˆØ—l‘lˆŒØ—J‘J×'Ñ'¨¨NÓ;ˆŒ	Øˆ	r'   )rU   rV   rW   r[   r   r.   r/   r0   rY   r   r   rO   r    r-   r   rn   rc   r'   r&   r1   r1   4  s¤   „ Øð	
Ø"ð	
Ø).¯©×)=Ñ)=ð	
à	Ø�$˜Ð'¨¯©×)=Ñ)=Ð=Ñ>ØˆdÐ'Ð'Ñ(ð	*ñ
ò	
ó ð	
ð1˜5Ÿ8™8×/Ñ/ð 1°Dó 1ð ~ð ¸%¿(¹(×:NÑ:Nô r'   r1   c                   ó  — e Zd Zdej                  j
                  deej                  j
                  d f   ddfd„Zdej                  j                  ded ej                  j
                  f   de	dej                  j
                  fd„Z
y)	Ú_NodePickleDatar�   Úmappingr   Nc                 óÚ  ‡— t        j                  t        j                  j                  ˆfd„|j
                  «      | _        t        j                  t        j                  j                  ˆfd„|j                  «      | _        |j                  | _        |j                  | _        t        j                  |j                  «      | _        |j                  | _        |j                  | _        y )Nc                 ó   •— ‰|    S r*   rc   ©ÚnrÎ   s    €r&   ú<lambda>z*_NodePickleData.__init__.<locals>.<lambda>V  s   ø€ À'È!Á*€ r'   c                 ó   •— ‰|    S r*   rc   rÑ   s    €r&   rÓ   z*_NodePickleData.__init__.<locals>.<lambda>X  s   ø€  W¨Q¡Z€ r'   )ÚpytreeÚtree_map_onlyr.   r/   r;   r…   Úkwargsr«   Úopr5   rh   Útargetr„   Úmeta)r$   r�   rÎ   s     `r&   r   z_NodePickleData.__init__S  s–   ø€ ô ×(Ñ(¬¯©¯©Ó8LÈdÏiÉiÓXˆŒ	Ü×*Ñ*Ü�H‰H�M‰MÓ/°·±ó
ˆŒð —I‘IˆŒ	Ø—'‘'ˆŒÜ#×*Ñ*¨4¯;©;Ó7ˆŒð —I‘IˆŒ	ð —I‘Iˆ�	r'   rÈ   rA   c                 ó¢  ‡— t        j                  t        ˆfd„| j                  «      }t        j                  t        ˆfd„| j                  «      }| j
                  j                  |«      }t        |«      st        |t        «      sJ ‚|j                  | j                  |||| j                  | j                  «      }| j                  |_        |S )Nc                 ó   •— ‰|    S r*   rc   rÑ   s    €r&   rÓ   z*_NodePickleData.unpickle.<locals>.<lambda>l  s   ø€ ¸wÀq¹z€ r'   c                 ó   •— ‰|    S r*   rc   rÑ   s    €r&   rÓ   z*_NodePickleData.unpickle.<locals>.<lambda>n  s   ø€  w¨q¡z€ r'   )rÕ   rÖ   rÍ   r…   r×   rÙ   rn   r¸   r+   rZ   Úcreate_noderØ   r«   r„   rÚ   )r$   rÈ   rÎ   rA   r…   r×   rÙ   r�   s     `     r&   rn   z_NodePickleData.unpicklef  s�   ø€ ô ×#Ñ#¤OÓ5IÈ4Ï9É9ÓUˆÜ×%Ñ%ÜÓ1°4·;±;ó
ˆð —‘×%Ñ% nÓ5ˆÜ˜Ô¤:¨f´cÔ#:Ð:Ð:Ø× Ñ  §¡¨&°$¸ÀÇ	Á	È4Ï9É9ÓUˆØ—I‘IˆŒ	Øˆr'   )rU   rV   rW   r.   r/   r;   r}   r   ÚGraphrO   rn   rc   r'   r&   rÍ   rÍ   R  sˆ   „ ðØ—H‘H—M‘MðØ,0°·±·±Ð@QÐ1QÑ,Rðà	óð&à�x‰x�~‰~ðð Ð'¨¯©¯©Ð6Ñ7ðð 'ð	ð
 
�‰�‰ôr'   rÍ   c            
       óæ   — e Zd Zedededeeegef   ee	   f   fd„«       Z
ededd fd„«       Zededeed   ed	   f   dd fd
„«       Zededefd„«       Zededefd„«       Zedededefd„«       Zy)r5   rJ   rØ   r   c                 óV   — | j                  |«      }|j                  |j                  ffS r*   )rh   rn   r"   )rH   rJ   rØ   Úresults       r&   r-   z_OpPickleData.reduce_helperx  s)   € ð —‘˜B“ˆØ—‘ '×"9Ñ"9Ð!;Ð<Ð<r'   c                 ór  — t        |t        «      rt        |«      S t        j                  j
                  j                  |«      }t        |t        j                  j                  «      r| j                  |t        «      S t        |t        j                  j                  «      r| j                  |t        «      S |j                  d«      r!|j                  dd«      \  }}t        ||«      S |j                  d«      r |j                  dd«      \  }}t!        |«      S t#        dt%        |«      › d|› d|› �«      ‚)N)z	builtins.zmath.ztorch.ú.é   z	operator.zTARGET: ú )r+   rZ   Ú_OpStrPickleDatar.   r/   r;   Ú_pretty_print_targetr2   Ú
OpOverloadÚ
_pickle_opÚ_OpOverloadPickleDatar4   Ú_OpOverloadPacketPickleDataÚ
startswithÚsplitÚ_OpBuiltinPickleDataÚ_OpOperatorPickleDatarƒ   r„   )rH   rØ   r«   ÚrootÚdetailÚ_s         r&   rh   z_OpPickleData.pickle  sø   € ä�bœ#ÔÜ# BÓ'Ð'ä�x‰x�}‰}×1Ñ1°"Ó5ˆÜ�bœ%Ÿ*™*×/Ñ/Ô0Ø—>‘> $Ô(=Ó>Ð>Ü˜œEŸJ™J×7Ñ7Ô8Ø—>‘> $Ô(CÓDÐDØ�_‰_Ð=Ô>ØŸ:™: c¨1Ó-‰LˆD�&Ü'¨¨fÓ5Ð5Ø�_‰_˜[Ô)ØŸ
™
 3¨Ó*‰IˆAˆvÜ(¨Ó0Ð0ô &¨´°b³°
¸!¸B¸4¸qÀÀÐ&GÓHÐHr'   r«   Údataclsrë   rì   c                 óV   — | j                  d«      sddlm}  |d| › �«      ‚ || «      S )Nztorch.ops.atenr   )ÚBypassFxGraphCachez"Unable to pickle non-standard op: )rí   Útorch._inductor.codecacherö   )r«   rô   rö   s      r&   rê   z_OpPickleData._pickle_op“  s1   € ð �‰Ð/Ô0ÝDá$Ð'IÈ$ÈÐ%PÓQÐQÙ�t‹}Ðr'   rA   c                  ó   — y r*   rc   r�   s     r&   rn   z_OpPickleData.unpickle   s   € àr'   c                 óŒ   — d|v r4|j                  dd«      \  }}t        «       |   }| j                  ||«      S t        «       |   S )zC
        Like `globals()[name]` but supports dotted names.
        rä   rå   )rî   ÚglobalsÚ_getattr_by_name)rH   r«   rª   Úrestrñ   s        r&   Ú_lookup_global_by_namez$_OpPickleData._lookup_global_by_name¤  sI   € ð
 �$‰;ØŸ
™
 3¨Ó*‰IˆC�Ü“9˜S‘>ˆDØ×'Ñ'¨¨dÓ3Ð3ä“9˜T‘?Ð"r'   rñ   c                 ón   — d|v r&|j                  dd«      \  }}t        | |«      } d|v rŒ&t        | |«      S )zG
        Like `getattr(root, name)` but supports dotted names.
        rä   rå   )rî   r    )rñ   r«   rª   s      r&   rû   z_OpPickleData._getattr_by_name°  sC   € ð
 �T‰kØŸ
™
 3¨Ó*‰IˆC�Ü˜4 Ó%ˆDð �TŠkô �t˜TÓ"Ð"r'   N)rU   rV   rW   r[   r   r!   rY   r   rO   r    r-   rh   r]   rZ   r	   r„   rê   r   rn   rý   rû   rc   r'   r&   r5   r5   w  s#  „ Øð=Ø"ð=Ø(.ð=à	ˆx˜Ð(¨&Ð0Ñ1°5Ð9LÑ3MÐMÑ	Nò=ó ð=ð ðI˜ð I ?ò Ió ðIð& ð
Øð
àØÐ(Ñ)¨4Ð0MÑ+NÐNñ
ð
ð
 
ò
ó ð
ð ð ~ð ¸&ò ó ðð ð	#¨#ð 	#°&ò 	#ó ð	#ð ð#˜vð #¨Sð #°Vò #ó ñ#r'   r5   c                   ó,   — e Zd Zdeddfd„Zdedefd„Zy)rç   r«   r   Nc                 ó   — || _         y r*   ©r«   ©r$   r«   s     r&   r   z_OpStrPickleData.__init__¼  ó	   € Øˆ�	r'   rA   c                 ó   — | j                   S r*   r  r�   s     r&   rn   z_OpStrPickleData.unpickle¿  s   € Ø�y‰yÐr'   )rU   rV   rW   rZ   r   rO   rn   rc   r'   r&   rç   rç   »  s(   „ ð˜Sð  Tó ð ~ð ¸#ô r'   rç   c                   óT   — e Zd Zdeddfd„Zdedej                  j                  fd„Z	y)rë   r«   r   Nc                 ó   — || _         y r*   r  r  s     r&   r   z_OpOverloadPickleData.__init__Ä  r  r'   rA   c                 óˆ   — | j                  | j                  «      }t        |t        j                  j
                  «      sJ ‚|S r*   )rý   r«   r+   r.   r2   ré   ©r$   rA   r(   s      r&   rn   z_OpOverloadPickleData.unpickleÇ  s5   € Ø×)Ñ)¨$¯)©)Ó4ˆÜ˜#œuŸz™z×4Ñ4Ô5Ð5Ð5Øˆ
r'   )
rU   rV   rW   rZ   r   rO   r.   r2   ré   rn   rc   r'   r&   rë   rë   Ã  s2   „ ð˜Sð  Tó ð ~ð ¸%¿*¹*×:OÑ:Oô r'   rë   c                   óT   — e Zd Zdeddfd„Zdedej                  j                  fd„Z	y)rì   r«   r   Nc                 ó   — || _         y r*   r  r  s     r&   r   z$_OpOverloadPacketPickleData.__init__Î  r  r'   rA   c                 óˆ   — | j                  | j                  «      }t        |t        j                  j
                  «      sJ ‚|S r*   )rý   r«   r+   r.   r2   r4   r  s      r&   rn   z$_OpOverloadPacketPickleData.unpickleÑ  s5   € Ø×)Ñ)¨$¯)©)Ó4ˆÜ˜#œuŸz™z×:Ñ:Ô;Ð;Ð;Øˆ
r'   )
rU   rV   rW   rZ   r   rO   r.   r2   r4   rn   rc   r'   r&   rì   rì   Í  s2   „ ð˜Sð  Tó ð ~ð ¸%¿*¹*×:UÑ:Uô r'   rì   c                   ó0   — e Zd Zdededdfd„Zdedefd„Zy)rï   rñ   r«   r   Nc                 ó    — || _         || _        y r*   )rñ   r«   )r$   rñ   r«   s      r&   r   z_OpBuiltinPickleData.__init__Ø  s   € ØˆŒ	Øˆ�	r'   rA   c                 ó&  — | j                   dk(  rt        j                  | j                  «      S | j                   dk(  r dd l}| j                  || j                  «      S | j                   dk(  r | j                  t        | j                  «      S t        ‚)NÚbuiltinsÚmathr   r.   )rñ   Ú__builtins__rº   r«   r  rû   r.   rƒ   )r$   rA   r  s      r&   rn   z_OpBuiltinPickleData.unpickleÜ  sr   € Ø�9‰9˜
Ò"Ü×#Ñ# D§I¡IÓ.Ð.Ø�Y‰Y˜&Ò Ûà×(Ñ(¨¨t¯y©yÓ9Ð9Ø�Y‰Y˜'Ò!Ø×(Ñ(¬°·	±	Ó:Ð:ä%Ð%r'   ©rU   rV   rW   rZ   r   rO   r!   rn   rc   r'   r&   rï   rï   ×  s/   „ ð˜Sð ¨ð °ó ð
& ~ð 
&¸&ô 
&r'   rï   c                   ó,   — e Zd Zdeddfd„Zdedefd„Zy)rð   r«   r   Nc                 ó   — || _         y r*   r  r  s     r&   r   z_OpOperatorPickleData.__init__ê  r  r'   rA   c                 óB   — dd l }| j                  || j                  «      S )Nr   )Úoperatorrû   r«   )r$   rA   r  s      r&   rn   z_OpOperatorPickleData.unpickleí  s   € Ûà×$Ñ$ X¨t¯y©yÓ9Ð9r'   r  rc   r'   r&   rð   rð   é  s(   „ ð˜Sð  Tó ð: ~ð :¸&ô :r'   rð   c                   ó¨   — e Zd Zdej                  j
                  ddfd„Zdej                  j                  dedej                  j
                  fd„Z	y)rÇ   rÈ   r   Nc                 óÈ   — |j                   | _        |j                  | _        i }|j                  D ]  }t        ||«      ||<   Œ t        |j                  «       «      | _        y r*   )Ú_tracer_clsÚ
tracer_clsÚ_tracer_extrasÚtracer_extrasÚnodesrÍ   rY   Úvalues)r$   rÈ   r  r�   s       r&   r   z_GraphPickleData.__init__ô  sW   € Ø×+Ñ+ˆŒØ"×1Ñ1ˆÔà68ˆØ—K‘Kò 	7ˆDÜ)¨$°Ó6ˆE�$ŠKð	7ä˜5Ÿ<™<›>Ó*ˆ�
r'   r¿   rA   c                 óÂ   — t         j                  j                  || j                  | j                  «      }i }| j
                  D ]  }|j                  |||«      ||<   Œ |S r*   )r.   r/   rß   r  r  r  rn   )r$   r¿   rA   rÈ   r  Únds         r&   rn   z_GraphPickleData.unpickle  s[   € ô —‘—‘˜r 4§?¡?°D×4FÑ4FÓGˆà68ˆØ—*‘*ò 	BˆBØŸ™ E¨5°.ÓAˆE�"ŠIð	Bð ˆr'   )
rU   rV   rW   r.   r/   rß   r   r0   rO   rn   rc   r'   r&   rÇ   rÇ   ó  sL   „ ð+˜eŸh™hŸn™nð +°ó +ð&	Ø—(‘(×&Ñ&ð	Ø8Fð	à	�‰�‰ô	r'   rÇ   c                   ó¼   — e Zd Zededej                  j                  dee	e
egej                  j                  f   ee
ef   f   fd„«       Zdeddfd„Zdedefd	„Zy)
r:   rJ   r(   r   c                 óB   — | j                    | |«      |j                  ffS r*   rm   ro   s      r&   r-   z'_TracingContextPickleData.reduce_helper  s*   € ð �L‰Lá�C“Ø×'Ñ'ðð
ð 	
r'   ÚcontextNc                 ó6  — |j                   | _         |j                  | _        |j                  | _        |j                  | _        |j                  | _        |j
                  | _        |j                  | _        |j                  | _        |j                  | _        y r*   )	Úmodule_contextÚframe_summary_stackÚloc_in_frameÚaot_graph_nameÚparams_flatÚparams_flat_unwrap_subclassesÚparams_unwrapped_to_flat_indexÚoutput_stridesÚ#force_unspec_int_unbacked_size_like)r$   r#  s     r&   r   z"_TracingContextPickleData.__init__#  sƒ   € à%×4Ñ4ˆÔØ#*×#>Ñ#>ˆÔ Ø#×0Ñ0ˆÔØ%×4Ñ4ˆÔØ"×.Ñ.ˆÔØ-4×-RÑ-RˆÔ*Ø.5×.TÑ.TˆÔ+Ø%×4Ñ4ˆÔà×7Ñ7ð 	Õ0r'   rA   c                 ób  — t        |j                  «      }| j                  |_        | j                  |_        | j                  |_        | j
                  |_        | j                  |_        | j                  |_        | j                  |_        | j                  |_	        | j                  |_
        |S r*   )r   rM   r%  r&  r'  r(  r)  r*  r+  r,  r-  )r$   rA   r#  s      r&   rn   z"_TracingContextPickleData.unpickle9  sš   € Ü  ×!9Ñ!9Ó:ˆØ!%×!4Ñ!4ˆÔØ&*×&>Ñ&>ˆÔ#Ø#×0Ñ0ˆÔØ!%×!4Ñ!4ˆÔØ"×.Ñ.ˆÔØ04×0RÑ0RˆÔ-Ø15×1TÑ1TˆÔ.Ø!%×!4Ñ!4ˆÔà×4Ñ4ð 	Ô3ð ˆr'   )rU   rV   rW   r[   r   r.   r9   r   rY   r   r   rO   r    r-   r   rn   rc   r'   r&   r:   r:     s�   „ Øð
Ø"ð
Ø).¯©×)EÑ)Eð
à	Ø�$˜Ð'¨¯©×)EÑ)EÐEÑFØˆdÐ'Ð'Ñ(ð	*ñ
ò
ó ð
ð
 ð 
°4ó 
ð, ~ð ¸.ô r'   r:   )=r�   r®   rD   rh   Úabcr   Útypingr   r   r   r   r   r	   Útyping_extensionsr
   r   r.   Útorch.utils._pytreeÚutilsÚ_pytreerÕ   Útorch._guardsr   Útorch._subclasses.fake_tensorr   r   r   Útorch._subclasses.meta_utilsr   r   r   r�   r   Ú%torch.fx.experimental.symbolic_shapesr   Útorch.utils._mode_utilsr   r7   ÚSymFloatr   ÚPicklerr   rO   r!   r    Ú	UnpicklerrP   r6   r8   r,   r<   r1   rÍ   r5   rç   rë   rì   rï   rð   rÇ   r:   rc   r'   r&   ú<module>r=     s<  ðÛ Û Û 	Û Ý ß C× Cß ,ã ß $Ð $Ý (ß LÑ L÷ñ õ
 3Ý :Ý /ñ �K §¡¨u¯~©~Ó>€	ôW$�6—>‘>ô W$÷tIñ Iñ Ð3°VÓ<Ð ô
B�f×&Ñ&ô 
B÷2ñ 2÷>1ñ 1÷>;
ñ ;
÷|)ñ )÷Xñ ÷<"ñ "÷JA#ñ A#ôH�}ô ô˜Mô ô -ô ô&˜=ô &ô$:˜Mô :÷ñ ÷@3ò 3r'   