
    wiA                     p    d dl mZ d dlZd dlZd dlmZ ddlmZ ddlm	Z	 ddl
mZ  G d d	e	e          ZdS )
    )ListN)Image   )ConfigMixin)
ModelMixin)PIL_INTERPOLATIONc                   L     e Zd Z fdZddeej        j                 fdZ xZS )IFWatermarkerc                     t                                                       |                     dt          j        d                     d | _        d S )Nwatermark_image)>   r      )super__init__register_buffertorchzeroswatermark_image_as_pil)self	__class__s    z/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/diffusers/pipelines/deepfloyd_if/watermark.pyr   zIFWatermarker.__init__   sH    .K0H0HIII&*###    Nimagesc                    |d         j         }|d         j        }|p|}t          ||z  ||z            }|dk     r$t          ||z            t          ||z            fn||f\  }}d||z  }	}|	|z  dz  }
t          |
dz            |t          d|
z            z
  |t          d|
z            z
  }}}| j        e| j                            t          j                  	                                
                                }t          j        |d          }|| _        | j                            ||ft          d	         d 
          }|D ]<}|                    |||z
  ||z
  ||f|                                d                    =|S )Nr      i   g      ?r      RGBA)modebicubic)reducing_gap)boxmask)heightwidthminintr   r   tor   uint8cpunumpyr   	fromarrayresizer   pastesplit)r   r   sample_sizehwcoefimg_himg_wS1S2Kwm_sizewm_xwm_yr   wm_imgpil_imgs                    r   apply_watermarkzIFWatermarker.apply_watermark   s    1I1IO!&Q1{?AO449=AHs1t8}}551vu%%-B"W!!b&kk53rAv;;+>BQRF@St&."255ekBBFFHHNNPPO#ooFKKKO*9D',33g 1) <4 4 
 
  	m 	mGMM&tg~tg~tT&RY_YeYeYgYghjYkMllllr   )N)	__name__
__module____qualname__r   r   PILr   r>   __classcell__)r   s   @r   r
   r
      sa        + + + + + d39?&;        r   r
   )typingr   	PIL.ImagerB   r   r   configuration_utilsr   models.modeling_utilsr   utilsr   r
    r   r   <module>rJ      s                     . . . . . . / / / / / / & & & & & &" " " " "J " " " " "r   