
    i                         S SK r S SKJr  S SKrS SKrS SKJrJr  S SKJ	r
  \rS rS\R                  R                  R                  4S jrg)    N)Any)_PyTreeCodeGen_PyTreeInfo)_pytreec                 B   SnU R                   R                   H  nUR                  S:X  d  M  XQ;   a  U R                   R                  U5         U R                   R	                  X   5      nUR                  U5        UR                  nU R                   R                  U5        Xl        S S S 5        US-  nM     U R                   R                  5         [        [        UR                  5      5       V	s/ s H  n	SU	 3PM
     n
n	[        [        U
UU5      5      U R                   l        U R                  5         U R                   R                   GHn  nUR                  S:X  GaN  UR                   ["        R$                  R&                  :X  Ga%  UR(                  u  pp[+        XR,                  5      n[+        XR,                  5      n0 n/ n[/        U5       H  u  nnUR                   UR1                  5       ;   ac  UR                   UU'   UR3                  UR                   UUR                      5        UR3                  UR                   UUR                      5        M  UR5                  U5        M     XUU4Ul        [6        R8                  " U5      u  nn[;        UUUS U5        [;        UUUS U5        UR                  S:X  d  GMv  UR                   R<                  S:X  d  GM  UR(                  tnnn[+        U UR,                  5      n0 n/ n[/        U5       Ho  u  nnUR                   UR1                  5       ;   a:  UR                   UU'   UR3                  UR                   UUR                      5        M^  UR5                  U5        Mq     UU/UQ7Ul        [6        R8                  " U5      u  nn[;        UUUS U5        GMq     U R                   R                  5         U R                   R?                  5         U R                  5         U $ ! , (       d  f       GNg= fs  sn	f )Nr   placeholder   arg_call_functionmap_impl) graphnodesopinserting_afterget_attrreplace_all_uses_withmeta
erase_nodelintrangelenchildren_specsr   r   _codegen	recompiletargettorchopscondargsgetattrname	enumeratevaluesregister_bufferappendpytreetree_flatten_unlift__name__eliminate_dead_code)gminp_pos_to_param_buffer_namein_specout_spec
state_dictcountnodegetattr_nodemetadatainamespred
true_graphfalse_graphoperandstrue_gmfalse_gm'inp_pos_to_param_buffer_name_for_submodreal_operandsixoperand_
body_graph
num_mappedbody_gm!inp_pos_to_buffer_name_for_submods                             ^/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/executorch/exir/capture/_unlift.pyr(   r(      sd   E77m#4XX--d3#%88#4#44;$L ..|<#yyHHH''-(0% 4 QJE  HHMMO!&s7+A+A'B!CD!CAtA3Z!CED&	
BHH LLN 77o%$++*G6:ii3Dkb//2Gr#3#34H683M(2G>>%A%H%H%JJBI..;B?++GNNJw~~<VW,,W^^Z=WX!((1  3 ;FDI,,];JAw7 7 77o%$++*>*>**L04		-J
Xb*//2G02-M(2G>>%A%H%H%JJ<CNN5b9++GNNJw~~<VW!((1  3 $Z@-@DI,,];JAw:GT:_ d HHMMOHH  "LLNI] 43 Es   AP
5P

P	epc                    [         R                  " U R                  5      n0 nU R                  R	                  5        H  u  p4X0R
                  R                  ;   aQ  SU;   a8  UR                  UR                  SS5      U5        UR                  SS5      X#'   M\  UR                  X45        Mo  X0R
                  R                  ;   aQ  SU;   a8  UR                  UR                  SS5      U5        UR                  SS5      X#'   M  UR                  X45        M  [        S5      e   Sn0 nUR                  R                   H  nUR                  S:X  d  M  UR                  U R
                  R                   ;   a3  U R
                  R                   UR                     nX;   a  X(   Xe'   OXU'   UR                  U R
                  R"                  ;   a3  U R
                  R"                  UR                     n	X;   a  X)   Xe'   OXU'   US-  nM     [%        UUU R&                  R(                  U R&                  R*                  U R                  5      nU$ )N.r@   z'encountered not registered param/bufferr   r   r	   )copydeepcopygraph_moduler/   itemsgraph_signaturebuffersr$   replace
parametersregister_parameterAssertionErrorr   r   r   r!   inputs_to_buffersinputs_to_parametersr(   	call_specr-   r.   )
rF   new_gm#param_buffer_name_to_corrected_namer!   stuffr0   r,   r1   buffer_name
param_names
             rE   %unlift_exported_program_lifted_statesr[   j   s    ]]2??+F +-'}}**,%%---d{&&t||C'=uE<@LLc<R39&&t3''222d{))$,,sC*@%H<@LLc<R39))$6 !JKK -  E#% ""77m#yyB..@@@ 00BB499ME;H 17 ;F7yyB..CCC//DDTYYO
D;G 17 ;E7QJE% #& $


F M    )rI   typingr   r   torch._exporttorch.fx.graphr   r   torch.utilsr   r&   Valr(   exportexported_programExportedProgramr[    r\   rE   <module>rf      sD        6 ) 
Tn5%%555r\   