
    +ju                         d dl mZ d dlZd dlZd dlmZmZ  G d dej                  Z	 G d de          Z
de
fd	ZdS )
    )overrideN)ComfyExtensionioc                   :    e Zd Zed             Zed             ZdS )SD_4XUpscale_Conditioningc                 .   t          j        ddt           j                            d          t           j                            d          t           j                            d          t           j                            dddd	d
          t           j                            dddddd          gt           j                            d          t           j                            d          t           j                            d          g          S )Nr   z$model/conditioning/upscale_diffusionimagespositivenegativescale_ratiog      @g        g      $@g{Gz?)defaultminmaxstepnoise_augmentation      ?gMbP?T)r   r   r   r   advanced)display_namelatent)node_idcategoryinputsoutputs)r   SchemaImageInputConditioningFloatOutputLatent)clss    </home/wildlama/comfy/ComfyUI/comfy_extras/nodes_sdupscale.pydefine_schemaz'SD_4XUpscale_Conditioning.define_schema   s    y/;x((%%j11%%j11}csSWXX3ScsY^imnn &&J&??&&J&??	  h 77
 
 
 	
    c                    t          dt          |j        d         |z                      }t          dt          |j        d         |z                      }t          j                            |                    dd          dz  dz
  |dz  |dz  dd	          }g }	g }
|D ]O}|d
         |d                                         g}||d         d<   ||d         d<   |	                    |           P|D ]O}|d
         |d                                         g}||d         d<   ||d         d<   |
                    |           Pt          j
        |j        d
         d|dz  |dz  g          }t          j        |	|
d|i          S )N   g       @r      bilinearcenterr   concat_imager   samples)r   roundshapecomfyutilscommon_upscalemovedimcopyappendtorchzerosr   
NodeOutput)r!   r	   r
   r   r   r   widthheightpixelsout_cpout_cntnr   s                 r"   executez!SD_4XUpscale_Conditioning.execute   s   AuV\"-;<<==Qfl2.<==>>++V^^Bq-A-AC-G3,NPUYZPZ\bfg\gisu}~~ 	 	A1qtyy{{#A#)AaD );AaD%&MM! 	 	A1qtyy{{#A#)AaD );AaD%&MM!fl1oq&A+uzJKK}VVi-?@@@r$   N)__name__
__module____qualname__classmethodr#   rA    r$   r"   r   r      sM        
 
 [
$ A A [A A Ar$   r   c                   L    e Zd Zedeeej                          fd            ZdS )SdUpscaleExtensionreturnc                    K   t           gS N)r   )selfs    r"   get_node_listz SdUpscaleExtension.get_node_list6   s       &
 	
r$   N)	rB   rC   rD   r   listtyper   	ComfyNoderM   rF   r$   r"   rH   rH   5   sE        
T$r|*<%= 
 
 
 X
 
 
r$   rH   rI   c                  "   K   t                      S rK   )rH   rF   r$   r"   comfy_entrypointrR   =   s      r$   )typing_extensionsr   r7   comfy.utilsr1   comfy_api.latestr   r   rP   r   rH   rR   rF   r$   r"   <module>rV      s    & & & & & &      / / / / / / / /+A +A +A +A +A +A +A +A\
 
 
 
 
 
 
 
  2            r$   