§
    ÎÐjÖ  ã                   ó@   — d Z ddlZddlmZ ddlmZ dd„Zd	d„Zd„ Z	dS )
z/Control preprocessing and its on-demand assets.é    N)Úfiles_locator)Úprocess_files_def_if_neededc                 óî   — | dv rddl m} na| dk    rA|pi                      dd¦  «        }|dk    rddlm}  |d¬	¦  «        S ddlm}  ||¦  «        S | d
v rddlm} n| dk    rddlm} nd S  |¦   «         S )N©ÚposeÚ
pose_alignr   ©Úquery_download_defÚdepthÚdepth_anything_v2_variantÚvitlÚda3_metric_largeT)Úmetric)ÚcannyÚscribbleÚflow)Úpreprocessing.dwpose.assetsr
   ÚgetÚ&preprocessing.depth_anything_v3.assetsÚ&preprocessing.depth_anything_v2.assetsÚpreprocessing.scribbleÚpreprocessing.flow)Úprocess_typeÚserver_configr
   Úvariants       ú@C:\Users\johnn\OneDrive\Documents\AI\preprocessing\processors.pyÚquery_preprocessor_download_defr   	   só   € ØÐ-Ð-Ð-ØBÐBÐBÐBÐBÐBÐBØ	˜Ò	 Ð	 Ø Ð& B×+Ò+Ð,GÈÑPÔPˆØÐ(Ò(Ð(ØQÐQÐQÐQÐQÐQØ%Ð%¨TÐ2Ñ2Ô2Ð2ØMÐMÐMÐMÐMÐMØ!Ð! 'Ñ*Ô*Ð*Ø	Ð.Ð	.Ð	.Ø=Ð=Ð=Ð=Ð=Ð=Ð=Ø	˜Ò	Ð	Ø9Ð9Ð9Ð9Ð9Ð9Ð9àˆtØÐÑÔÐó    c                 ó„  ‡‡‡‡	‡
‡‡‡‡— |pi }t          t          | |¦  «        ¦  «         | dv r}ddlmŠ t	          j        d¦  «        t	          j        d¦  «        ddœŠ| dk    r?t          j        |¦  «        r+|j        d	k    r |j	        d
         dk    r|d d …df         ‰d<   ˆˆfd„}�n”| dk    r“| 
                    dd¦  «        }|dk    r(ddlmŠ t	          j        d¦  «        dddddœŠˆˆfd„}�nJ|dk    r%ddlmŠ t	          j        d¦  «        ddœŠˆˆfd„}�nddlmŠ t	          j        d¦  «        ddœŠˆˆfd„}nû| dk    rdd lmŠ
 i Šˆ
ˆfd!„}næ| d"k    r#dd#lmŠ d$t	          j        d%¦  «        iŠˆˆfd&„}n½| d'k    r#dd(lmŠ d$t	          j        d%¦  «        iŠˆˆfd)„}n”| d*k    r#dd+lmŠ	 d$t	          j        d,¦  «        iŠˆ	ˆfd-„}nk| d.k    rDt/          d/„ |                     d¦  «                             ¦   «         D ¦   «         ¦  «        Šˆfd0„}n!| d k    s| d1v rd2„ }nt5          d3| › d4�¦  «        ‚|S )5Nr   r   )ÚPoseBodyFaceVideoAnnotatorzpose/yolox_l.onnxzpose/dw-ll_ucoco_384.onnxi   )ÚDETECTION_MODELÚ
POSE_MODELÚRESIZE_SIZEr   é   é   éÿÿÿÿÚ	REF_IMAGEc                 ó@   •—  ‰‰¦  «                              | ¦  «        S ©N©Úforward)Úimgr    Úcfg_dicts    €€r   ú<lambda>z"get_preprocessor.<locals>.<lambda>(   s!   ø€ Ð9Ð9¸(ÑCÔC×KÒKÈCÑPÔP€ r   r   r   r   r   )ÚDepthV3VideoAnnotatorz5depth/depth_anything_v3_metric_large_bf16.safetensorszda3metric-largeé   )ÚPRETRAINED_MODELÚ
MODEL_NAMEÚPROCESS_RESÚ
CHUNK_SIZEÚCHUNK_OVERLAPc                 ó@   •—  ‰‰¦  «                              | ¦  «        S r)   r*   )r,   r/   r-   s    €€r   r.   z"get_preprocessor.<locals>.<lambda>5   ó!   ø€ Ð#8Ð#8¸Ñ#BÔ#B×#JÒ#JÈ3Ñ#OÔ#O€ r   Úvitb)ÚDepthV2VideoAnnotatorz depth/depth_anything_v2_vitb.pth)r1   ÚMODEL_VARIANTc                 ó@   •—  ‰‰¦  «                              | ¦  «        S r)   r*   ©r,   r9   r-   s    €€r   r.   z"get_preprocessor.<locals>.<lambda><   r7   r   z depth/depth_anything_v2_vitl.pthc                 ó@   •—  ‰‰¦  «                              | ¦  «        S r)   r*   r<   s    €€r   r.   z"get_preprocessor.<locals>.<lambda>C   r7   r   Úgray)ÚGrayVideoAnnotatorc                 ó@   •—  ‰‰¦  «                              | ¦  «        S r)   r*   )r,   r?   r-   s    €€r   r.   z"get_preprocessor.<locals>.<lambda>G   s!   ø€ Ð1Ð1°(Ñ;Ô;×CÒCÀCÑHÔH€ r   r   )ÚCannyVideoAnnotatorr1   zscribble/netG_A_latest.pthc                 ó@   •—  ‰‰¦  «                              | ¦  «        S r)   r*   )r,   rA   r-   s    €€r   r.   z"get_preprocessor.<locals>.<lambda>M   s!   ø€ Ð2Ð2°8Ñ<Ô<×DÒDÀSÑIÔI€ r   r   )ÚScribbleVideoAnnotatorc                 ó@   •—  ‰‰¦  «                              | ¦  «        S r)   r*   )r,   rC   r-   s    €€r   r.   z"get_preprocessor.<locals>.<lambda>S   s!   ø€ Ð5Ð5°hÑ?Ô?×GÒGÈÑLÔL€ r   r   )ÚFlowVisAnnotatorzflow/raft-things.pthc                 ó@   •—  ‰‰¦  «                              | ¦  «        S r)   r*   )r,   rE   r-   s    €€r   r.   z"get_preprocessor.<locals>.<lambda>Y   s!   ø€ Ð/Ð/°Ñ9Ô9×AÒAÀ#ÑFÔF€ r   Úinpaintc              3   ó4   K  — | ]}t          |¦  «        V — Œd S r)   )Úint)Ú.0Úvs     r   ú	<genexpr>z#get_preprocessor.<locals>.<genexpr>[   s(   è è € ÐFÐF •c˜!‘f”fÐFÐFÐFÐFÐFÐFr   c                 ó*   •— t          | ¦  «        ‰gz  S r)   )Úlen)r,   Úcolors    €r   r.   z"get_preprocessor.<locals>.<lambda>\   s   ø€ ¥ S¡¤¨U¨GÑ!3€ r   )ÚrawÚidentityc                 ó   — | S r)   © )r,   s    r   r.   z"get_preprocessor.<locals>.<lambda>^   s   €  € r   zprocess type 'z' non supported)r   r   Úpreprocessing.dwpose.poser    ÚflÚlocate_fileÚtorchÚ	is_tensorÚndimÚshaper   Ú%preprocessing.depth_anything_v3.depthr/   Ú%preprocessing.depth_anything_v2.depthr9   Úpreprocessing.grayr?   Úpreprocessing.cannyrA   r   rC   r   rE   ÚtupleÚviewÚtolistÚ	Exception)r   Úinpaint_colorÚpre_video_guider   Úanno_insÚdepth_variantrA   r9   r/   rE   r?   r    rC   r-   rO   s         @@@@@@@@@r   Úget_preprocessorrg      s¬  øøøøøøøøø€ Ø!Ð' R€MÝÕ ?ÀÈmÑ \Ô \Ñ]Ô]Ð]ØÐ-Ð-Ð-ØHÐHÐHÐHÐHÐHå!œ~Ð.AÑBÔBÝœ.Ð)DÑEÔEØð
ð 
ˆð
 ˜<Ò'Ð'­E¬O¸OÑ,LÔ,LÐ'ÐQ`ÔQeÐijÒQjÐQjÐo~ô  pEð  FGô  pHð  KLò  pLð  pLØ$3°A°A°A°r°EÔ$:ˆH�[Ñ!ØPÐPÐPÐPÐPˆ‰Ø	�wÒ	Ð	à%×)Ò)Ð*EÀvÑNÔNˆØÐ.Ò.Ð.ØSÐSÐSÐSÐSÐSå$&¤NÐ3jÑ$kÔ$kØ/Ø Ø Ø!"ðð ˆHð PÐOÐOÐOÐOˆH‰HØ˜fÒ$Ð$ØSÐSÐSÐSÐSÐSå$&¤NÐ3UÑ$VÔ$VØ!'ðð ˆHð PÐOÐOÐOÐOˆH‰HàSÐSÐSÐSÐSÐSå$&¤NÐ3UÑ$VÔ$VØ!'ðð ˆHð PÐOÐOÐOÐOˆHˆHØ	�vÒ	Ð	Ø9Ð9Ð9Ð9Ð9Ð9ØˆØHÐHÐHÐHÐHˆˆØ	�wÒ	Ð	Ø;Ð;Ð;Ð;Ð;Ð;à"¥B¤NÐ3OÑ$PÔ$Pðˆð JÐIÐIÐIÐIˆˆØ	�zÒ	!Ð	!ØAÐAÐAÐAÐAÐAà"¥B¤NÐ3OÑ$PÔ$Pðˆð MÐLÐLÐLÐLˆˆØ	�vÒ	Ð	Ø7Ð7Ð7Ð7Ð7Ð7à"¥B¤NÐ3IÑ$JÔ$Jðˆð GÐFÐFÐFÐFˆˆØ	�yÒ	 Ð	 ÝÐFÐF m×&8Ò&8¸Ñ&<Ô&<×&CÒ&CÑ&EÔ&EÐFÑFÔFÑFÔFˆØ3Ð3Ð3Ð3ˆˆØ	˜Ò	Ð	 Ð1DÐ!DÐ!DØ#Ð#ˆˆåÐF¨ÐFÐFÐFÑGÔGÐGØ€Or   c                 óâ  ‡‡— |                      dd¦  «        pdŠ|                      dd¦  «        pd}|                      d¦  «        }|dup|                      d¦  «        du}g }	|                      d¦  «        r@|                      dd	¦  «        d	k    r&|                       d
d¦  «        sd	dlm}
  |
¦   «          |�r
|                       dd¦  «        sô|                       d¦  «        s|ˆfd„|                     ¦   «         D ¦   «         }|ˆfd„|                     ¦   «         D ¦   «         z  }|	                     ˆfd„t
                               |¦  «        D ¦   «         ¦  «         d‰v r#d	dlm} |	 	                     |¦   «         ¦  «         |dv s| 
                    d¦  «        r#d	dlm} |	 	                     |¦   «         ¦  «         |                      d¦  «        rQ|                       d¦  «        s|                       d¦  «        r'|dvr#d	dlm} |	 	                     |¦   «         ¦  «         |r[|dk    rUd	dl}|                     d‰¦  «        }|�9t          |                     d¦  «        ¦  «        dk    rd	dlm}  |ddi¦  «         |                      d¦  «        dupd |v o|}|r²d!|v r#d	dlm} |	 	                     |¦   «         ¦  «         d"|v r%|                      d#¦  «        €d	d$lm}  |¦   «          |d%k    r#d	dlm} |	 	                     |¦   «         ¦  «         |                       d&d¦  «        r#d	dlm} |	 	                     |¦   «         ¦  «         |	D ]}t/          |¦  «         ŒdS )'zNPreflight only selected features, before model allocation and temporary media.Úvideo_prompt_typeÚ Úaudio_prompt_typeÚvideo_guideNÚimage_guideÚ
image_refsÚremove_background_images_refr   Úno_background_removalF)Úensure_assetsÚskip_video_guide_preprocessÚcustom_preprocessorc                 ó"   •— g | ]\  }}|‰v ¯	|‘ŒS rS   rS   ©rJ   ÚletterÚkindÚ
video_modes      €r   ú
<listcomp>z-prepare_generation_assets.<locals>.<listcomp>p   s(   ø€ Ð^Ð^Ð^™l˜f dÈÐS]ÐI]ÐI]�TÐI]ÐI]ÐI]r   c                 ó"   •— g | ]\  }}|‰v ¯	|‘ŒS rS   rS   ru   s      €r   ry   z-prepare_generation_assets.<locals>.<listcomp>q   s(   ø€ Ð^Ð^Ð^™|˜v tÈÐS]ÐI]ÐI]�dÐI]ÐI]ÐI]r   c              3   ó8   •K  — | ]}t          |‰¦  «        V — Œd S r)   )r   )rJ   rw   r   s     €r   rL   z,prepare_generation_assets.<locals>.<genexpr>r   s/   øè è € ÐuÐuÐX\Õ>¸tÀ]ÑSÔSÐuÐuÐuÐuÐuÐur   ÚBr	   )ÚscailÚsteadydancerÚscail2Ústandin_classÚ
lynx_class)Ú	lynx_liteÚvace_lynx_lite_14Br}   z#(\d+)#r%   )Ú ensure_selected_matanyone_assetsÚmatanyone_versionÚv1Úaudio_guideÚKÚVÚXÚaudio_guide2)Údownload_speaker_separatorÚfantasyÚmultitalk_class)r   Úpreprocessing.rembg.assetsrq   ÚitemsÚextendÚdictÚfromkeysÚmodels.hyvideo.data_kits.assetsr
   ÚappendÚ
startswithr   ÚreÚsearchrI   ÚgroupÚ*preprocessing.matanyone.utils.model_assetsr„   Úpreprocessing.roformer.assetsÚ&preprocessing.speaker_separator.assetsrŒ   Ú models.wan.fantasytalking.assetsÚmodels.wan.multitalk.assetsr   )Ú	model_defÚbase_model_typeÚsettingsr   Úguide_processesÚmask_processesÚ
audio_modeÚguideÚ	has_guideÚdefinitionsrq   Úkindsr
   r—   Úcountr„   Ú	has_audiorŒ   Ú
definitionrx   s      `               @r   Úprepare_generation_assetsr¬   d   sw  øø€ à—’Ð1°2Ñ6Ô6Ð<¸"€JØ—’Ð1°2Ñ6Ô6Ð<¸"€JØ�LŠL˜Ñ'Ô'€EØ˜TÐ!ÐL X§\¢\°-Ñ%@Ô%@ÈÐ%L€IØ€KØ‡|‚|�LÑ!Ô!ð  h§l¢lÐ3QÐSTÑ&UÔ&UÐXYÒ&YÐ&YÐbk×boÒboð  qHð  JOñ  cPô  cPÐ&YØ<Ð<Ð<Ð<Ð<Ð<Øˆ‰ŒˆØñ 
5˜ŸšÐ'DÀeÑLÔLð 
5Ø�}Š}Ð2Ñ3Ô3ð 	vØ^Ð^Ð^Ð^¨o×.CÒ.CÑ.EÔ.EÐ^Ñ^Ô^ˆEØÐ^Ð^Ð^Ð^¨~×/CÒ/CÑ/EÔ/EÐ^Ñ^Ô^Ñ^ˆEØ×ÒÐuÐuÐuÐuÕ`d×`mÒ`mÐnsÑ`tÔ`tÐuÑuÔuÑuÔuÐuØ�*ÐÐØJÐJÐJÐJÐJÐJØ×ÒÐ1Ð1Ñ3Ô3Ñ4Ô4Ð4ØÐ7Ð7Ð7¸?×;UÒ;UÐV^Ñ;_Ô;_Ð7ØFÐFÐFÐFÐFÐFØ×ÒÐ1Ð1Ñ3Ô3Ñ4Ô4Ð4Ø‡|‚|�LÑ!Ô!ð 1 y§}¢}°_Ñ'EÔ'Eð 1È)Ï-Ê-ÐXdÑJeÔJeð 1Ðjyð  Beð  keð  keØFÐFÐFÐFÐFÐFØ×ÒÐ-Ð-Ñ/Ô/Ñ0Ô0Ð0Øð J�_¨Ò/Ð/Øˆ	ˆ	ˆ	Ø—	’	˜* jÑ1Ô1ˆØÐ¥ U§[¢[°¡^¤^Ñ!4Ô!4°qÒ!8Ð!8ØcÐcÐcÐcÐcÐcØ,Ð,Ð.AÀ4Ð-HÑIÔIÐIØ—’˜]Ñ+Ô+°4Ð7Ð\¸CÀ:Ð<MÐ<[ÐR[€IØð 5Ø�*ÐÐØHÐHÐHÐHÐHÐHØ×ÒÐ1Ð1Ñ3Ô3Ñ4Ô4Ð4Ø�*ÐÐ §¢¨nÑ!=Ô!=Ð!EØYÐYÐYÐYÐYÐYØ&Ð&Ñ(Ô(Ð(Ø˜iÒ'Ð'ØKÐKÐKÐKÐKÐKØ×ÒÐ1Ð1Ñ3Ô3Ñ4Ô4Ð4Ø�=Š=Ð*¨EÑ2Ô2ð 	5ØFÐFÐFÐFÐFÐFØ×ÒÐ1Ð1Ñ3Ô3Ñ4Ô4Ð4Ø!ð 0ð 0ˆ
Ý# JÑ/Ô/Ð/Ð/ð0ð 0r   r)   )NN)
Ú__doc__rW   Úshared.utilsr   rU   Úshared.utils.downloadr   r   rg   r¬   rS   r   r   ú<module>r°      s~   ðà 5Ð 5à €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø =Ð =Ð =Ð =Ð =Ð =ð ð  ð  ð  ð&Eð Eð Eð EðP-0ð -0ð -0ð -0ð -0r   