a
    Ad
                     @   s   d dl Z d dlmZ dd Zdd Zdd Zd	d
 Zdd Zdd Zdd Z	dd Z
dd Zdd Zdd Zg dZdd ZG dd de je jZee jd _dS )    N)cmd_optsc                  C   s   dd l } dd | jd D S )Nr   c                 S   s   g | ]
}|j qS  )name.0xr   r   </var/www/html/stable-diffusion-webui/modules/shared_items.py
<listcomp>       z+realesrgan_models_names.<locals>.<listcomp>)Zmodules.realesrgan_modelZrealesrgan_modelZget_realesrgan_modelsmodulesr   r   r   realesrgan_models_names   s    r   c                  C   s   dd l } | jjjS Nr   )Zmodules.scriptsscriptsZscripts_postprocr   r   r   r   postprocessing_scripts   s    r   c                  C   s   dd l } ddgt| jj S )Nr   	AutomaticNone)modules.sd_vaelistsd_vaeZvae_dictr   r   r   r   sd_vae_items   s    r   c                  C   s   dd l } | j  d S r   )r   r   refresh_vae_listr   r   r   r   r      s    r   c                  C   s&   dd l } dgdd | jjD  dg S )Nr   r   c                 S   s   g | ]}|  qS r   )titler   r   r   r   r	       r
   z1cross_attention_optimizations.<locals>.<listcomp>r   )Zmodules.sd_hijack	sd_hijack
optimizersr   r   r   r   cross_attention_optimizations   s    r   c                  C   s&   dd l } dgdd | jjD  dg S )Nr   r   c                 S   s   g | ]
}|j qS r   )labelr   r   r   r   r	   &   r
   z!sd_unet_items.<locals>.<listcomp>r   )modules.sd_unetsd_unetZunet_optionsr   r   r   r   sd_unet_items#   s    r   c                  C   s   dd l } | j  d S r   )r   r   
list_unetsr   r   r   r   refresh_unet_list)   s    r!   c                  C   s   dd l } | j S r   )modules.sd_models	sd_modelsZcheckpoint_tilesr   r   r   r   list_checkpoint_tiles/   s    r$   c                  C   s   dd l } | j S r   )r"   r#   list_modelsr   r   r   r   refresh_checkpoints4   s    r&   c                  C   s   dd l } | jjS r   )Zmodules.sd_samplerssd_samplersZall_samplersr   r   r   r   list_samplers9   s    r(   c                  C   s*   ddl m}  ddlm} | tj|_d S )Nr   )hypernetwork)shared)Zmodules.hypernetworksr)   r   r*   Zlist_hypernetworksr   hypernetwork_dirhypernetworks)r)   r*   r   r   r   reload_hypernetworks>   s    r-   )
ZinpaintsamplerZ
accordionsZ
checkboxes
dimensionscfgZ	denoisingseedbatchZoverride_settingsc                  c   sd   ddl m}  tE d H  i }| jj| jj D ]$}t|jtr*|jtvr*d||j< q*|E d H  dV  d S )Nr   )r      r   )r   r   #ui_reorder_categories_builtin_itemsZscripts_txt2imgZscripts_img2img
isinstancesectionstr)r   sectionsscriptr   r   r   ui_reorder_categoriesS   s    

r:   c                   @   s.   e Zd ZdZdZedd Zejdd ZdS )Sharedz
    this class is here to provide sd_model field as a property, so that it can be created and loaded on demand rather than
    at program startup.
    Nc                 C   s   dd l }|jj S r   )r"   r#   
model_dataZget_sd_model)selfr   r   r   r   sd_modelj   s    zShared.sd_modelc                 C   s   dd l }|jj| d S r   )r"   r#   r<   Zset_sd_model)r=   valuer   r   r   r   r>   p   s    )__name__
__module____qualname____doc__Zsd_model_valpropertyr>   setterr   r   r   r   r;   b   s   
r;   zmodules.shared)sysmodules.shared_cmd_optionsr   r   r   r   r   r   r   r!   r$   r&   r(   r-   r4   r:   r   r@   	__class__r;   r   r   r   r   <module>   s    