o
    GÆÏiU  ã                   @   sZ   d dl mZmZ d dlmZ ddlmZ e e¡Z	G dd„ deeeƒZ
G dd„ de
ƒZd	S )
é   )ÚFluxLoraLoaderMixinÚTextualInversionLoaderMixin)Úloggingé   )ÚModularPipelinec                   @   sP   e Zd ZdZdZedd„ ƒZedd„ ƒZedd„ ƒZed	d
„ ƒZ	edd„ ƒZ
dS )ÚFluxModularPipelinez€
    A ModularPipeline for Flux.

    > [!WARNING] > This is an experimental feature and is likely to change in the future.
    ÚFluxAutoBlocksc                 C   ó   | j | j S ©N©Údefault_sample_sizeÚvae_scale_factor©Úself© r   úe/home/ubuntu/.local/lib/python3.10/site-packages/diffusers/modular_pipelines/flux/modular_pipeline.pyÚdefault_height!   ó   z"FluxModularPipeline.default_heightc                 C   r	   r
   r   r   r   r   r   Údefault_width%   r   z!FluxModularPipeline.default_widthc                 C   s   dS )Né€   r   r   r   r   r   r   )   s   z'FluxModularPipeline.default_sample_sizec                 C   s.   d}t | dd ƒd urdt| jjjƒd  }|S )Né   Úvaer   é   )ÚgetattrÚlenr   ÚconfigÚblock_out_channels)r   r   r   r   r   r   -   s   z$FluxModularPipeline.vae_scale_factorc                 C   s"   d}t | dd ƒr| jjjd }|S )Né   Útransformeré   )r   r   r   Úin_channels)r   Únum_channels_latentsr   r   r   r!   4   s   z(FluxModularPipeline.num_channels_latentsN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Údefault_blocks_nameÚpropertyr   r   r   r   r!   r   r   r   r   r      s    



r   c                   @   s   e Zd ZdZdZdS )ÚFluxKontextModularPipelinezˆ
    A ModularPipeline for Flux Kontext.

    > [!WARNING] > This is an experimental feature and is likely to change in the future.
    ÚFluxKontextAutoBlocksN)r"   r#   r$   r%   r&   r   r   r   r   r(   <   s    r(   N)Úloadersr   r   Úutilsr   Úmodular_pipeliner   Ú
get_loggerr"   Úloggerr   r(   r   r   r   r   Ú<module>   s   
$