
    +jC                         d dl mZ d dlZd dlmZmZ  G d dej                  Z G d dej                  Z G d d	e          Z	d
e	fdZ
dS )    )overrideN)ComfyExtensionioc                   J    e Zd Zed             Zedej        fd            ZdS )CLIPTextEncodeSDXLRefinerc                    t          j        ddt           j                            ddddd          t           j                            d	d
dt
          j                  t           j                            dd
dt
          j                  t           j                            ddd          t           j                            d          gt           j	        
                                g          S )Nr   advanced/conditioningascoreg      @g        g     @@g{Gz?)defaultminmaxstepwidth   r   r   r   r   heighttextT	multilinedynamic_promptsclipnode_idcategoryinputsoutputs)r   SchemaFloatInputIntnodesMAX_RESOLUTIONStringClipConditioningOutputclss    </home/wildlama/comfy/ComfyUI/comfy_extras/nodes_clip_sdxl.pydefine_schemaz'CLIPTextEncodeSDXLRefiner.define_schema   s    y/,x#6PTUUWdu?STTXt@TUU	$MMf%% _++--.
 
 
 	
    returnc           	          |                     |          }t          j        |                    ||||d                    S )N)aesthetic_scorer   r   add_dict)tokenizer   
NodeOutputencode_from_tokens_scheduled)r(   r   r
   r   r   r   tokenss          r)   executez!CLIPTextEncodeSDXLRefiner.execute   s^    t$$}T>>vdjuz  GM  QN  QN>  O  O  P  P  	Pr+   N__name__
__module____qualname__classmethodr*   r   r2   r5    r+   r)   r   r      s]        
 
 [
 P2= P P P [P P Pr+   r   c                   J    e Zd Zed             Zedej        fd            ZdS )CLIPTextEncodeSDXLc                 @   t          j        ddt           j                            d          t           j                            dddt
          j                  t           j                            dddt
          j                  t           j                            d	ddt
          j        d
          t           j                            dddt
          j        d
          t           j                            dddt
          j                  t           j                            dddt
          j                  t           j                            dd
d
          t           j                            dd
d
          g	t           j        	                                g          S )Nr=   r	   r   r   r   r   r   r   crop_wT)r   r   r   advancedcrop_htarget_widthtarget_heighttext_gr   text_lr   )
r   r   r$   r   r    r!   r"   r#   r%   r&   r'   s    r)   r*   z CLIPTextEncodeSDXL.define_schema   s)   y(,f%%Wdu?STTXt@TUUXqaU=Q\`aaXqaU=Q\`aa^TqeFZ[[_duG[\\	D$OO	D$OO
 _++--.
 
 
 	
r+   r,   c
                    |                     |          }
|                     |	          d         |
d<   t          |
d                   t          |
d                   k    r|                     d          }t          |
d                   t          |
d                   k     rB|
dxx         |d         z  cc<   t          |
d                   t          |
d                   k     Bt          |
d                   t          |
d                   k    rB|
dxx         |d         z  cc<   t          |
d                   t          |
d                   k    Bt          j        |                    |
||||||d                    S )Nlg )r   r   r?   rA   rB   rC   r/   )r1   lenr   r2   r3   )r(   r   r   r   r?   rA   rB   rC   rD   rE   r4   emptys               r)   r5   zCLIPTextEncodeSDXL.execute0   s   v&&mmF++C0svc{s6#;////MM"%%EfSk""S%5%555suSz) fSk""S%5%555fSk""S%5%555suSz) fSk""S%5%555}T>>vZ_kq  ~D  PV  ht  GT  QU  QU>  V  V  W  W  	Wr+   Nr6   r;   r+   r)   r=   r=      s_        
 
 [
$ 	Wjljw 	W 	W 	W [	W 	W 	Wr+   r=   c                   L    e Zd Zedeeej                          fd            ZdS )ClipSdxlExtensionr,   c                 "   K   t           t          gS N)r   r=   )selfs    r)   get_node_listzClipSdxlExtension.get_node_list>   s       &
 	
r+   N)	r7   r8   r9   r   listtyper   	ComfyNoderQ   r;   r+   r)   rM   rM   =   sE        
T$r|*<%= 
 
 
 X
 
 
r+   rM   r,   c                  "   K   t                      S rO   )rM   r;   r+   r)   comfy_entrypointrV   F   s      r+   )typing_extensionsr   r!   comfy_api.latestr   r   rT   r   r=   rM   rV   r;   r+   r)   <module>rY      s    & & & & & &  / / / / / / / /P P P P P P P P*W W W W W W W WB
 
 
 
 
 
 
 
 1      r+   