
    
3jS                     z    S SK r S SKrS SKrS SKJr  SSKJrJr  SSS jjrS r	S r
S	 rSS\4S
 jjrS rSS jrg)    N)DeepDiff   )CONFIGloggerreturnc                 t   ^ T(       a0  U(       a)  US   n[        U4S jUS    5       S 5      nU(       a  XS'   g )Nworkflowc              3   P   >#    U  H  n[        US    5      T:X  d  M  Uv   M     g7f)idN)str).0x	unique_ids     J/home/wildlama/comfy/ComfyUI/custom_nodes/ComfyUI-Crystools/core/common.py	<genexpr>"setWidgetValues.<locals>.<genexpr>   s$     O 11S4\Y5NQQ 1s   &	&nodeswidgets_values)next)valuer   extra_pnginfor	   nodes    `   r   setWidgetValuesr   	   s9    ] ,O 1OQUV%*!"    c                     SnSU0n [        X5      n[        R                  " U[        S   S9nU$ ! [         a&  n[
        R                  " U SU 35         S nAU$ S nAff = f)NCould not compare jsonserrorindent)r   : )findJsonsDiffjsondumpsr   	Exceptionr   warn)json1json2msgError
returnJsones        r   findJsonStrDiffr*      sq    (H8$J	(
 #50
ZZ
6(3CD
   (xj1#&''(s   '1 
A!AA!c                 8   SnSU0n [        XSSS9nUR                  5        VVs0 s H  u  pVUS;   d  M  XV_M     nnn[        [        UR                  5       5      5      nU$ s  snnf ! [         a&  n[
        R                  " U SU 35         S nAU$ S nAff = f)Nr   r   Tr   )ignore_orderverbose_level)dictionary_item_addeddictionary_item_removedvalues_changedr   )r   itemsdictreversedr#   r   r$   )r%   r&   r'   r(   diffkvr)   s           r   r    r    &   s    (H8$J
(4qI'+zz| `|tq^^ ad|
 ` (:#3#3#567

 `  (xj1#&''(s,   A) A#A#%A) #A) )
B3BBc                      SS K n U R                  5       nUR                  S-  nUR                  S-  nSUS SUS S3n[        R
                  " [        R                  R                  5       (       a  SOS5      n[        R                  R                  U5      S-  n[        R                  R                  U5      R                  S-  nS	US S
US S3nU R                  S5      n	U	R                  S-  n
U	R                  S-  nSU
S SUS S3nXHU/$ )Nr   i   @z
Used RAM: z.2fz GB / Total RAM:  GBcudacpuzUsed VRAM: z GB / Total VRAM: /zUsed Space: z GB / Total Space: )psutilvirtual_memoryusedtotaltorchdevicer9   is_availablememory_allocatedget_device_propertiestotal_memory
disk_usage)r<   ramram_used	ram_total	ram_statsrA   	vram_used
vram_total
vram_stats
hard_drive
used_spacetotal_spacehard_drive_statss                r   get_system_statsrR   <   s    


!Cxx9%H		Y'IXcN*;Ic?#NI \\EJJ$;$;$=$=&5IF

++F3yAI11&9FF)TJyo-?
3?OsSJ ""3'JI.J""i0K%j%55HUXHYY\]#344r   c                     SSS.nU b6  U R                  SS5      nUR                  S   US'   UR                  S   US'   U$ )	Nr   )r   y      r   r   rT   )movedimshape)imageresimgs      r   getResolutionByTensorr]   U   sI    
CmmB"99Q<C99Q<CJr   c                 L   [         R                  R                  U 5      nUS:  a  U S3$ U[        SS5      :  a  [	        US-  S5       S3$ U[        SS5      :  a  [	        U[        SS5      -  S5       S3$ U[        SS5      :  a  [	        U[        SS5      -  S5       S3$ g )	Ni   z bytesr   z KBrW   z MB   r8   )ospathgetsizepowround)ra   sizes     r   get_sizerf   b   s    77??4 Dd{v	D!	tQ'(,,	D!	D!-q12#66	D!	D!-q12#66 
r   c                     UR                  S5      nU HP  n[        U [        5      (       a  [        R                  " U 5      n [        U [
        5      (       a  X@;   a  X   n MN  Us  $    U $ )N.)split
isinstancer   r!   loadsr2   )data
dotted_keydefaultkeyskeys        r   get_nested_valuerq   n   s[    			#	$c$zz$$#+Ydn  
+r   )NNN)r   N)N)r`   r!   r@   deepdiffr   corer   r   r   r*   r    rR   r2   r]   rf   rq    r   r   <module>ru      s>    	    !",52	 		7	r   