§
    ÎÐjŸ  ã                   óh   — d dl mZ ddlmZ d dlZd dlmZ ddlmZ dZ	dZ
g d	¢Z G d
„ d¦  «        ZdS )é    )Ú
merge_helpé   )ÚHIDREAM_HELPN)ÚImage)Ú$HIDREAM_PROMPT_ENHANCER_INSTRUCTIONSzDeepBeepMeep/HiDreamÚ
hidream_o1)
zchat_template.jsonzconfig.jsonzconfiguration.jsonzgeneration_config.jsonz
merges.txtzpreprocessor_config.jsonztokenizer.jsonztokenizer_config.jsonzvideo_preprocessor_config.jsonz
vocab.jsonc                   ó.  — e Zd Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	edd„¦   «         Z
edddd	dej        ej        d	d	ddfd
„¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         ZdS )Úfamily_handlerc                 óì   — | dk    }t          i dd“dd“d|rdgndg“d|rd	nd
“dd	“d| g“dd“dd“dd“dt          “dd“dt          “dt          “dd“dd“dg d¢ddidœ“dg d¢dd d!œ“t          ¦  «        S )"NÚhidream_o1_devÚimage_outputsTÚdevice_explicitÚsample_solvers)ÚFlashÚflash)ÚDefaultÚdefaultÚguidance_max_phasesr   r   Úfit_into_canvas_image_refsÚprofiles_dirÚ
flow_shiftÚno_negative_promptÚno_background_removalÚprocessor_folderÚvae_block_sizeé    Ú!text_prompt_enhancer_instructionsÚ"image_prompt_enhancer_instructionsÚtext_prompt_enhancer_max_tokensi   Ú image_prompt_enhancer_max_tokensÚguide_preprocessing)Ú ÚVÚPVÚDVÚEVr#   zUse Control Image Unchanged)Ú	selectionÚlabelsÚimage_ref_choices))ÚNoner"   )z[Conditional Image is first Main Subject / Landscape and may be followed by People / ObjectsÚKI)z!Conditional Images are ReferencesÚIr+   r"   )ÚchoicesÚletters_filterr   )r   Ú_ASSET_FOLDERr   r   )Úbase_model_typeÚ	model_defÚis_devs      úFC:\Users\johnn\OneDrive\Documents\AI\models\hidream\hidream_handler.pyÚquery_model_defzfamily_handler.query_model_def   sJ  € à Ð$4Ò4ˆÝð 
Ø˜Tð
à˜tð
ð °fÐZÐ1Ð2Ð2ÐCYÐBZð
ð "¨Ð#5 1 1°Að	
ð
 )¨!ð
ð ˜_Ð-ð
ð ˜$ð
ð ! $ð
ð $ Tð
ð ¥ð
ð ˜bð
ð 0Õ1Uð
ð 1Õ2Vð
ð .¨sð
ð /°ð
ð  "Ø8Ð8Ð8ØÐ =Ð>ð$ð $ð!
ð(  ðð ð ð
 #'Øð"ð "ð)
õ: ñ;ô ð 	ó    c                  ó
   — ddgS ©Nr   r   © r8   r5   r3   Úquery_supported_typesz$family_handler.query_supported_types=   s   € àÐ.Ð/Ð/r5   c                  ó   — i dddgifS r7   r8   r8   r5   r3   Úquery_family_mapsz family_handler.query_family_mapsA   s   € à�L <Ð1AÐ"BÐCÐCÐCr5   c                  ó   — dS )NÚhidreamr8   r8   r5   r3   Úquery_model_familyz!family_handler.query_model_familyE   s   € àˆyr5   c                  ó
   — ddiS )Nr=   )ij  ÚHiDreamr8   r8   r5   r3   Úquery_family_infosz!family_handler.query_family_infosI   s   € àÐ,Ð-Ð-r5   c                 ó   — dS )Nr   r8   )r0   s    r3   Úget_lora_dirzfamily_handler.get_lora_dirM   s   € àˆ|r5   Nc                 ó2   — t           t          gt          gdœgS )N)ÚrepoIdÚsourceFolderListÚfileList)Ú_PROJECT_REPOr/   Ú_ASSET_FILES)ÚcomputeListr0   r1   s      r3   Úquery_model_filesz family_handler.query_model_filesQ   s%   € õ (Ý%2 OÝ)˜Nðð ð
ð 	
r5   Fc           
      óJ   — ddl m}  |d| ||||||	¬¦  «        }|d|j        ifS )Nr   )Úmodel_factoryÚckpts)Úcheckpoint_dirÚmodel_filenameÚ
model_typer1   r0   ÚquantizeTransformerÚdtypeÚsave_quantizedÚtransformer)Úhidream_mainrM   rU   )rP   rQ   r0   r1   rR   Útext_encoder_quantizationrS   Ú	VAE_dtypeÚmixed_precision_transformerrT   Úsubmodel_no_listÚtext_encoder_filenameÚkwargsrM   Úpipe_processors                  r3   Ú
load_modelzfamily_handler.load_model[   sY   € ð  	0Ð/Ð/Ð/Ð/Ð/à&˜Ø"Ø)Ø!ØØ+Ø 3ØØ)ð	
ñ 	
ô 	
ˆð  ¨~Ô/IÐJÐJÐJr5   c                 ó~   — | dk    r|                      dddddœ¦  «         d S |                      ddd	d
dœ¦  «         d S )Nr   r   é   r   g      ð?)Úguidance_scaleÚnum_inference_stepsÚsample_solverr   é   é2   r   g      @)Úupdate)r0   r1   Úui_defaultss      r3   Úupdate_default_settingsz&family_handler.update_default_settingsy   s€   € àÐ.Ò.Ð.Ø×ÒØ"#Ø')Ø!(Ø!ð	 ð  ñ ô ð ð ð ð ×ÒØ"#Ø')Ø!*Ø!ð	 ð  ñ ô ð ð ð r5   c                 ó’   — | dk    r|                      dd¦  «        dv rd|d<   d S |                      dd¦  «        dk    rd|d<   d S d S )Nr   rc   r"   )r"   r   r   r   )Úget)r0   Úsettings_versionr1   rg   s       r3   Úfix_settingszfamily_handler.fix_settingsŠ   si   € àÐ.Ò.Ð.°;·?²?À?ÐTVÑ3WÔ3WÐ[jÐ3jÐ3jØ+2ˆK˜Ñ(Ð(Ð(Ø�_Š_˜_¨bÑ1Ô1°RÒ7Ð7Ø+4ˆK˜Ñ(Ð(Ð(ð 8Ð7r5   c                 óà  — t          j        |¦  «        r)|                     ¦   «         dk    s|j        d         dk    rd S |                     ¦   «                              ¦   «                              ¦   «                              dd¦  «        }|j        \  }}}}|                     dddd¦  «         	                    ||||z  ¦  «        }| 
                    d¦  «                             d¦  «                             dd¦  «                             t           j        ¦  «        }t          j        |                     ddd¦  «                             ¦   «         ¦  «        }|j        dk    r‡d	|j        z  }	t%          t          d
t          ¦  «        }
|                     t)          dt+          t-          |j        |	z  ¦  «        ¦  «        ¦  «        d	ft%          |
dt          j        ¦  «        ¬¦  «        }|S )Né   r   é   éÿÿÿÿr   é   g     à_@éÿ   éÈ   Ú
ResamplingÚBILINEAR)Úresample)ÚtorchÚ	is_tensorÚdimÚshapeÚdetachÚfloatÚcpuÚclampÚpermuteÚreshapeÚaddÚmulÚtoÚuint8r   Ú	fromarrayÚnumpyÚheightÚgetattrÚresizeÚmaxÚintÚroundÚwidthru   )r0   ÚlatentsÚmetaÚimageÚchannelsÚframesr‡   r�   ÚpreviewÚscaleÚresampling_modules              r3   Úpreview_latentszfamily_handler.preview_latents‘   s²  € åŒ˜wÑ'Ô'ð 	¨7¯;ª;©=¬=¸AÒ+=Ð+=ÀÄÈqÔAQÐUVÒAVÐAVØ�4Ø—’Ñ Ô ×&Ò&Ñ(Ô(×,Ò,Ñ.Ô.×4Ò4°R¸Ñ;Ô;ˆØ*/¬+Ñ'ˆ�&˜& %Ø—’˜a  A qÑ)Ô)×1Ò1°(¸FÀFÈUÁNÑSÔSˆØ—	’	˜!‘”× Ò  Ñ'Ô'×-Ò-¨a°Ñ5Ô5×8Ò8½¼ÑEÔEˆÝ”/ %§-¢-°°1°aÑ"8Ô"8×">Ò">Ñ"@Ô"@ÑAÔAˆØŒ>˜AÒÐØ˜'œ.Ñ(ˆEÝ '­¨|½UÑ CÔ CÐØ—n’n¥c¨!­Sµ°w´}ÀuÑ7LÑ1MÔ1MÑ-NÔ-NÑ&OÔ&OÐQTÐ%UÕ`gÐhyð  |Fõ  HMô  HVñ  aWô  aW�nñ  Xô  XˆGØˆr5   )N)Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr4   r9   r;   r>   rA   rC   rK   rw   Úbfloat16Úfloat32r^   rh   rl   r–   r8   r5   r3   r
   r
      st  € € € € € Øðð ñ „\ððB ð0ð 0ñ „\ð0ð ðDð Dñ „\ðDð ðð ñ „\ðð ð.ð .ñ „\ð.ð ðð ñ „\ðð ð
ð 
ð 
ñ „\ð
ð ð ØØØ!Ø"&ØŒnØ”-Ø$)ØØØ"ðKð Kð Kñ „\ðKð: ðð ñ „\ðð  ð5ð 5ñ „\ð5ð ðð ñ „\ðð ð r5   r
   )Úmodels.help_sharedr   Úinfosr   rw   ÚPILr   Úprompt_enhancerr   rH   r/   rI   r
   r8   r5   r3   ú<module>r¡      s¯   ðà )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð à €€€Ø Ð Ð Ð Ð Ð Ø AÐ AÐ AÐ AÐ AÐ Að '€Ø€ðð ð €ðDð Dð Dð Dð Dñ Dô Dð Dð Dð Dr5   