
    +jg                        d dl mZ d dlmZmZmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZ d dlmZmZmZmZmZmZ  G d dej                  Z G d dej                  Z G d	 d
ej                  Z G d dej                  Z G d dej                  Z  G d dej                  Z! G d dej                  Z" G d de          Z#de#fdZ$dS )    )override)IOComfyExtensionInput)InputShouldRemeshInputShouldTextureMeshyAnimationRequestMeshyAnimationResultMeshyImageToModelRequestMeshyModelResultMeshyMultiImageToModelRequestMeshyRefineTaskMeshyRiggedResultMeshyRiggingRequestMeshyTaskResponseMeshyTextToModelRequestMeshyTextureRequest)ApiEndpointdownload_url_to_file_3dpoll_opsync_opupload_images_to_comfyapivalidate_stringc                   f    e Zd Zed             Zedededededededed	ej	        fd
            Z
dS )MeshyTextToModelNodec                    t          j        dddt           j                            ddg          t           j                            ddd	
          t           j                            dddg          t           j                            dt           j                            dt           j                            dddg          t           j                            ddddt           j        j	                  g          t           j                            dg           gd          t           j                            dg dd          t           j                            dg ddd           t           j                            d!d"d"d#t           j        j	        dd$%          gt           j        
                    d&'          t          j        d(          
                    d)'          t           j        
                    d*'          t           j        
                    d+'          gt           j        j        t           j        j        t           j        j        gddt          j        d,-          .	  	        S )/Nr   zMeshy: Text to Modelpartner/3d/MeshymodellatestoptionspromptT )	multilinedefaultstyle	realistic	sculptureshould_remeshtruetopologytrianglequadtarget_polycount d   r%   minmaxdisplay_modefalse:When set to false, returns an unprocessed triangular mesh.r!   tooltipsymmetry_modeautoonoffr!   advanced	pose_moder#   zA-posezT-pose.Specify the pose mode for the generated model.r!   r8   r?   seedr   _Seed controls whether the node should re-run; results are non-deterministic regardless of seed.r%   r2   r3   r4   control_after_generater8   
model_filedisplay_nameMESHY_TASK_IDmeshy_task_idGLBFBXz{"type":"usd","usd":0.8}expr	node_idrK   categoryinputsoutputshiddenis_api_nodeis_output_nodeprice_badge)r   SchemaCombor   StringDynamicComboOptionIntNumberDisplaynumberOutputCustom	File3DGLB	File3DFBXHiddenauth_token_comfy_orgapi_key_comfy_org	unique_id
PriceBadgeclss    ;/home/wildlama/comfy/ComfyUI/comfy_api_nodes/nodes_meshy.pydefine_schemaz"MeshyTextToModelNode.define_schema   s?   y*/'w
;;	D"EEwk0JKK%%#.." "zJPVCW X X "$6,2(+(.131A1H !- !" !"	  ..w;;  Y% &  ( 8M8M8MX\]]444L!	    "!#!1!8+/H  	 	?)V 	  l ;;	/**111OO###77###77	 	.	+	#
 3  w>
 >
 >
 >	
    r   r"   r&   r)   r9   r@   rD   returnc                 `  K   t          |ddd           t          | t          dd          t          t	          ||||                    dd           |                    d	d           |d
         dk    ||                                |	  	                   d {V }|j        }	t          | t          d|	           t          d d            d {V }
t          j        |	 d|	t          |
j        j        d|	           d {V t          |
j        j        d|	           d {V           S )Nr"      X  )
field_name
min_length
max_length"/proxy/meshy/openapi/v2/text-to-3dPOSTpathmethodr+   r.   r)   r*   )	r"   	art_styleai_modelr+   r.   r)   r9   r@   rD   response_modeldata#/proxy/meshy/openapi/v2/text-to-3d/r{   c                     | j         S Nstatusrs    rn   <lambda>z.MeshyTextToModelNode.execute.<locals>.<lambda>       qx rp   c                     | j         S r   progressr   s    rn   r   z.MeshyTextToModelNode.execute.<locals>.<lambda>        rp   r   status_extractorprogress_extractor.glbglbtask_idfbx)r   r   r   r   r   getlowerresultr   r   r   
NodeOutputr   
model_urlsr   r   )rm   r   r"   r&   r)   r9   r@   rD   responser   r   s              rn   executezMeshyTextToModelNode.executea   s      	8cRRRR A&QQQ,(&**:t<<!.!2!23Et!L!L+O<F+#//++
 
 
	
 
 
 
 
 
 
 
 
  /L7LLMMM+//33
 
 
 
 
 
 
 
 
 })&*;*?PWXXXXXXXXX)&*;*?PWXXXXXXXXX	
 
 	
rp   N)__name__
__module____qualname__classmethodro   strr   intr   r   r    rp   rn   r   r      s        ?
 ?
 [?
B (
(
 (
 	(

 )(
 (
 (
 (
 
(
 (
 (
 [(
 (
 (
rp   r   c                   r    e Zd Zed             Ze	 d
dededededej        dz  de	j
        fd	            ZdS )MeshyRefineNodec                 $   t          j        ddddt           j                            ddg          t          j        d                              d	          t           j                            d
ddd          t           j                            dddd          t           j                            ddd          gt           j                            d          t          j        d                              d	          t           j	                            d          t           j
                            d          gt           j        j        t           j        j        t           j        j        gddt          j        d          
  
        S )Nr   zMeshy: Refine Draft Modelr   z(Refine a previously created draft model.r   r   r    rL   rM   
enable_pbrFzGenerate PBR Maps (metallic, roughness, normal) in addition to the base color. Note: this should be set to false when using Sculpture style, as Sculpture style generates its own set of PBR maps.Tr%   r8   r?   texture_promptr#   Provide a text prompt to guide the texturing process. Maximum 600 characters. Cannot be used at the same time as 'texture_image'.r%   r$   r8   texture_imageMOnly one of 'texture_image' or 'texture_prompt' may be used at the same time.r8   optionalrI   rJ   rN   rO   {"type":"usd","usd":0.4}rP   
rS   rK   rT   descriptionrU   rV   rW   rX   rY   rZ   r   r[   r\   r   rd   Booleanr]   Imagerc   re   rf   rg   rh   ri   rj   rk   rl   s    rn   ro   zMeshyRefineNode.define_schema   s{   y%4'Bw
;;	/**00AA
   !L " !   	$"b	     #k!   %2 	  l ;;	/**111OO###77###77	 	.	+	#
 3  U-
 -
 -
 -	
rp   Nr   rM   r   r   r   rq   c                 D  K   |r|t          d          d }|rt          |dd           |t          | |d           d {V d         }t          | t	          dd	
          t
          t          |||r|nd ||                     d {V }|j        }t          | t	          d|           t          d d            d {V }	t          j        | d|t          |	j        j        d|           d {V t          |	j        j        d|           d {V           S )N@texture_prompt and texture_image cannot be used at the same timer   rt   ru   rw   Uploading texture
wait_labelr   rx   ry   rz   )preview_task_idr   r   texture_image_urlr~   endpointr   r   r   r   c                     | j         S r   r   r   s    rn   r   z)MeshyRefineNode.execute.<locals>.<lambda>   r   rp   c                     | j         S r   r   r   s    rn   r   z)MeshyRefineNode.execute.<locals>.<lambda>   r   rp   r   r   r   r   r   )
ValueErrorr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )
rm   r   rM   r   r   r   r   r   r   r   s
             rn   r   zMeshyRefineNode.execute   s       	am7_```  	YN7GTWXXXX$'@m`s't't't!t!t!t!t!t!tvw x  &JSYZZZ,  -%1?I~~T"3  	
 
 
 
 
 
 
 
 
 /L7LLMMM+//33
 
 
 
 
 
 
 
 
 })&*;*?PWXXXXXXXXX)&*;*?PWXXXXXXXXX	
 
 	
rp   r   r   r   r   r   ro   r   boolr   r   r   r   r   r   rp   rn   r   r      s        .
 .
 [.
`  -1(
 (
(
 (
 	(

 (
 {T)(
 
(
 (
 (
 [(
 (
 (
rp   r   c                   p    e Zd Zed             Zededej        dedede	dede
d	ej        fd
            ZdS )MeshyImageToModelNodec                 R   t          j        dddt           j                            ddg          t           j                            d          t           j                            dt           j                            d	t           j                            d
ddg          t           j                            ddddt           j        j	                  g          t           j                            dg           gd          t           j                            dg d          t           j                            dt           j                            d	t           j
                            ddd          t           j                            dddd          t           j                            d d!d"          g          t           j                            dg           gd#          t           j                            d$g d%d&d'          t           j                            d(d)d)d*t           j        j	        dd+,          gt           j                            d-.          t          j        d/                              d0.          t           j                            d1.          t           j                            d2.          gt           j        j        t           j        j        t           j        j        gddt          j        t          j        dg3          d45          6	  	        S )7Nr   zMeshy: Image to Modelr   r   r   r    imager)   r*   r+   r,   r-   r.   r/   r0   r1   r5   r6   r7   r9   r:   should_texturer   FNGenerate PBR Maps (metallic, roughness, normal) in addition to the base color.r%   r8   r   r#   Tr   r   r   r   r   {Determines whether textures are generated. Setting it to false skips the texture phase and returns a mesh without textures.r@   rA   rB   rC   rD   r   rE   rF   rG   rI   rJ   rL   rM   rN   rO   widgetsz
                (
                  $prices := {"true": 1.2, "false": 0.8};
                  {"type":"usd","usd": $lookup($prices, widgets.should_texture)}
                )
                
depends_onrQ   rR   )r   r[   r\   r   r   r^   r_   r`   ra   rb   r   r]   rc   rd   re   rf   rg   rh   ri   rj   rk   PriceBadgeDependsrl   s    rn   ro   z#MeshyImageToModelNode.define_schema   s   y+0'w
;;w''%%#.." "zJPVCW X X "$6,2(+(.131A1H !- !" !"	  ..w;;  Y% &  ( 8M8M8MNN%%$.." "
 0 0$0,1-E !1 !" !" !#	$4,..2-r	 !0 !" !" !#$3-D-1	 !/ !" !" 0 ..w;;36g; &  @ 444L!	    "!#!1!8+/H  	 	}HT 	  l ;;	/**111OO###77###77	 	.	+	#
 /9I8JKKK  uc
 c
 c
 c	
rp   r   r   r)   r9   r   r@   rD   rq   c                   K   |d         dk    }d x}	}
|rs|d         r|d         t          d          |d         r t          |d         dd           |d         }
|d         $t          | |d         d	           d {V d
         }	t          | t	          dd          t
          t          t          | |d	           d {V d
         ||                    dd           |                    dd           ||d         dk    ||                    dd           |                                |
|	|                     d {V }|j	        }t          | t	          d|           t          d d            d {V }t          j        | d|t          |j        j        d|           d {V t          |j        j        d|           d {V           S )Nr   r*   r   r   r   rt   r   r   r   r   z#/proxy/meshy/openapi/v1/image-to-3dry   rz   zUploading base imager+   r.   r)   r   )	image_urlr~   r+   r.   r9   r)   r   r   r@   r   r   rD   r   z$/proxy/meshy/openapi/v1/image-to-3d/r   c                     | j         S r   r   r   s    rn   r   z/MeshyImageToModelNode.execute.<locals>.<lambda>  r   rp   c                     | j         S r   r   r   s    rn   r   z/MeshyImageToModelNode.execute.<locals>.<lambda>  r   rp   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )rm   r   r   r)   r9   r   r@   rD   texturer   r   r   r   r   s                 rn   r   zMeshyImageToModelNode.executeU  s      !!12f<-11N 	./ eN?4S4_ !cddd./ B/? @M]jmnnnn!/0@!Ao.:3^O<I\         	%!
 !B6RRR,)!:3Rh!i!i!iiiiiiiklm&**:t<<!.!2!23Et!L!L++O<F&)--lDAA#//++-"3  	
 
 
 
 
 
 
 
 
& /MGMMNNN+//33
 
 
 
 
 
 
 
 
 })&*;*?PWXXXXXXXXX)&*;*?PWXXXXXXXXX	
 
 	
rp   N)r   r   r   r   ro   r   r   r   r   r   r   r   r   r   r   rp   rn   r   r      s        d
 d
 [d
L 8
8
 {8
 )	8

 8
 +8
 8
 8
 
8
 8
 8
 [8
 8
 8
rp   r   c                   z    e Zd Zed             Zededej        j        de	dede
deded	ej        fd
            ZdS )MeshyMultiImageToModelNodec                    t          j        dddt           j                            ddg          t           j                            dt           j                            t           j                            d          dd	d
                    t           j                            dt           j                            dt           j                            dddg          t           j	                            ddddt           j
        j                  g          t           j                            dg           gd          t           j                            dg dd          t           j                            dt           j                            dt           j                            ddd !          t           j                            d"d#dd$%          t           j                            d&d'd(          g          t           j                            dg           gd)          t           j                            d*g d+d,d-          t           j	                            d.d/d/d0t           j
        j        dd12          gt           j                            d34          t          j        d5                              d64          t           j                            d74          t           j                            d84          gt           j        j        t           j        j        t           j        j        gddt          j        t          j        dg9          d:;          <	  	        S )=Nr   zMeshy: Multi-Image to Modelr   r   r   r    imagesr         )prefixr2   r3   )templater)   r*   r+   r,   r-   r.   r/   r0   r1   r5   r6   r7   r9   r:   Tr>   r   r   Fr   r   r   r#   r   r   r   r   r   r   r@   rA   rB   rC   rD   r   rE   rF   rG   rI   rJ   rL   rM   rN   rO   r   z
                (
                  $prices := {"true": 0.6, "false": 0.2};
                  {"type":"usd","usd": $lookup($prices, widgets.should_texture)}
                )
                r   rR   )r   r[   r\   r   AutogrowTemplatePrefixr   r^   r_   r`   ra   rb   r   r]   rc   rd   re   rf   rg   rh   ri   rj   rk   r   rl   s    rn   ro   z(MeshyMultiImageToModelNode.define_schema  sK   y06'w
;;!![77w8O8OX_eflm7nn "   %%#.." "zJPVCW X X "$6,2(+(.131A1H !- !" !"	  ..w;;  Y% &  ( 8M8M8MX\]]%%$.." "
 0 0$0,1-E !1 !" !" !#	$4,..2-r	 !0 !" !" !#$3-D-1	 !/ !" !" 0 ..w;;36g; &  @ 444L!	    "!#!1!8+/H  	 	CKZ 	  l ;;	/**111OO###77###77	 	.	+	#
 /9I8JKKK  {f
 f
 f
 f	
rp   r   r   r)   r9   r   r@   rD   rq   c                   K   |d         dk    }d x}	}
|rs|d         r|d         t          d          |d         r t          |d         dd           |d         }
|d         $t          | |d         d	           d {V d
         }	t          | t	          dd          t
          t          t          | t          |                                          d	           d {V ||	                    dd           |	                    dd           ||d         dk    ||	                    dd           |
                                |
|	|                     d {V }|j        }t          | t	          d|           t          d d            d {V }t          j        | d|t!          |j        j        d|           d {V t!          |j        j        d|           d {V           S )Nr   r*   r   r   r   rt   r   r   r   r   z)/proxy/meshy/openapi/v1/multi-image-to-3dry   rz   zUploading base imagesr+   r.   r)   r   )
image_urlsr~   r+   r.   r9   r)   r   r   r@   r   r   rD   r   z*/proxy/meshy/openapi/v1/multi-image-to-3d/r   c                     | j         S r   r   r   s    rn   r   z4MeshyMultiImageToModelNode.execute.<locals>.<lambda>0  r   rp   c                     | j         S r   r   r   s    rn   r   z4MeshyMultiImageToModelNode.execute.<locals>.<lambda>1  r   rp   r   r   r   r   r   )r   r   r   r   r   r   r   listvaluesr   r   r   r   r   r   r   r   r   r   r   )rm   r   r   r)   r9   r   r@   rD   r   r   r   r   r   r   s                 rn   r   z"MeshyMultiImageToModelNode.execute  s      !!12f<-11N 	./ eN?4S4_ !cddd./ B/? @M]jmnnnn!/0@!Ao.:3^O<I\         	%!
 !HQWXXX,.!:fmmoo..;R" " "       &**:t<<!.!2!23Et!L!L++O<F&)--lDAA#//++-"3  	
 
 
 
 
 
 
 
 
* /S'SSTTT+//33
 
 
 
 
 
 
 
 
 })&*;*?PWXXXXXXXXX)&*;*?PWXXXXXXXXX	
 
 	
rp   N)r   r   r   r   ro   r   r   r   Typer   r   r   r   r   r   rp   rn   r   r     s        g
 g
 [g
R :
:
  :
 )	:

 :
 +:
 :
 :
 
:
 :
 :
 [:
 :
 :
rp   r   c            
       j    e Zd Zed             Ze	 ddededej        dz  de	j
        fd            ZdS )	MeshyRigModelNodec                    t          j        ddddt          j        d                              d          t           j                            ddd	d
d          t           j                            ddd          gt           j                            d          t          j        d                              d          t           j                            d          t           j	                            d          gt           j
        j        t           j
        j        t           j
        j        gddt          j        d          
  
        S )Nr   zMeshy: Rig Modelr   zProvides a rigged character in standard formats. Auto-rigging is currently not suitable for untextured meshes, non-humanoid assets, or humanoid assets with unclear limb and body structure.rL   rM   height_metersg?g      .@g333333?zcThe approximate height of the character model in meters. This aids in scaling and rigging accuracy.)r2   r3   r%   r8   r   z2The model's UV-unwrapped base color texture image.Tr   rI   rJ   MESHY_RIGGED_TASK_IDrig_task_idrN   rO   z{"type":"usd","usd":0.2}rP   r   )r   r[   rd   r   Floatr   r]   rc   re   rf   rg   rh   ri   rj   rk   rl   s    rn   ro   zMeshyRigModelNode.define_schema=  s@   y'+'G 	/**00AA#A    #P!   " 	  l ;;	01188m8TT###77###77	 	.	+	#
 3  I'
 '
 '
 '	
rp   NrM   r   r   rq   c           
        K   d }|t          | |d           d {V d         }t          | t          dd          t          t	          |||                     d {V }|j        }t          | t          d	| 
          t          d d            d {V }t          j	        | d|t          |j        j        d|           d {V t          |j        j        d|           d {V           S )Nr   r   r   z/proxy/meshy/openapi/v1/riggingry   rz   )input_task_idr   r   r   z /proxy/meshy/openapi/v1/rigging/r   c                     | j         S r   r   r   s    rn   r   z+MeshyRigModelNode.execute.<locals>.<lambda>  r   rp   c                     | j         S r   r   r   s    rn   r   z+MeshyRigModelNode.execute.<locals>.<lambda>  r   rp   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   rigged_character_glb_urlrigged_character_fbx_url)rm   rM   r   r   r   r   r   r   s           rn   r   zMeshyRigModelNode.executeh  s      !$'@m`s't't't!t!t!t!t!t!tvw x  &GPVWWW,$++"3  		
 	
 	
 	
 	
 	
 	
 	
 	
 /IIIJJJ,//33
 
 
 
 
 
 
 
 
 })&-*PRWahiiiiiiiii)&-*PRWahiiiiiiiii	
 
 	
rp   r   )r   r   r   r   ro   r   floatr   r   r   r   r   r   rp   rn   r   r   ;  s        (
 (
 [(
T 
 -1	 
  
 
  
 {T)	 

 
 
  
  
 [ 
  
  
rp   r   c                   R    e Zd Zed             Zedededej        fd            Z	dS )MeshyAnimateModelNodec                    t          j        ddddt          j        d                              d          t           j                            dddd	d
          gt           j                            d          t           j                            d          t           j                            d          gt           j	        j
        t           j	        j        t           j	        j        gddt          j        d          
  
        S )Nr   zMeshy: Animate Modelr   zCApply a specific animation action to a previously rigged character.r   r   	action_idr   i  zTVisit https://docs.meshy.ai/en/api/animation-library for a list of available values.)r%   r2   r3   r8   rI   rJ   rN   rO   Tz{"type":"usd","usd":0.12}rP   r   )r   r[   rd   r   r`   r]   rc   re   rf   rg   rh   ri   rj   rk   rl   s    rn   ro   z#MeshyAnimateModelNode.define_schema  s    y+/']	01177FFr   	 	  l ;;###77###77 	.	+	#
 4  7
 
 
 	
rp   r   r   rq   c           	        K   t          | t          dd          t          t          ||                     d {V }|j        }t          | t          d|           t          d d	 
           d {V }t          j        | dt          |j        j
        d|           d {V t          |j        j        d|           d {V           S )Nz"/proxy/meshy/openapi/v1/animationsry   rz   )r   r   r   z#/proxy/meshy/openapi/v1/animations/r   c                     | j         S r   r   r   s    rn   r   z/MeshyAnimateModelNode.execute.<locals>.<lambda>  r   rp   c                     | j         S r   r   r   s    rn   r   z/MeshyAnimateModelNode.execute.<locals>.<lambda>  r   rp   r   r   r   r   r   )r   r   r   r	   r   r   r
   r   r   r   animation_glb_urlanimation_fbx_url)rm   r   r   r   r   r   s         rn   r   zMeshyAnimateModelNode.execute  sD      ! &JSYZZZ,&'#  	
 
 
 
 
 
 
 
 
 /L7LLMMM///33
 
 
 
 
 
 
 
 
 })&-*I5Zabbbbbbbbb)&-*I5Zabbbbbbbbb
 
 	
rp   N)
r   r   r   r   ro   r   r   r   r   r   r   rp   rn   r   r     sl        
 
 [
B 

 
 
	
 
 
 [
 
 
rp   r   c                   v    e Zd Zed             Ze	 ddedededededej        dz  d	e	j
        fd
            ZdS )MeshyTextureNodec                 d   t          j        dddt           j                            ddg          t          j        d                              d          t           j                            d	d
dd
          t           j                            ddd
          t           j                            ddd
d          t           j                            dd
d          gt           j                            d          t          j        d                              d          t           j	                            d          t           j
                            d          gt           j        j        t           j        j        t           j        j        gd
d
t          j        d          	  	        S )Nr  zMeshy: Texture Modelr   r   r   r    rL   rM   enable_original_uvTzUse the original UV of the model instead of generating new UVs. When enabled, Meshy preserves existing textures from the uploaded model. If the model has no original UV, the quality of the output might not be as good.r   pbrF)r%   r?   text_style_promptr#   zDescribe your desired texture style of the object using text. Maximum 600 characters.Maximum 600 characters. Cannot be used at the same time as 'image_style'.r   image_stylezeA 2d image to guide the texturing process. Can not be used at the same time with 'text_style_prompt'.)r   r8   rI   rJ   MODEL_TASK_IDrN   rO   r   rP   rR   r   rl   s    rn   ro   zMeshyTextureNode.define_schema  s   y&/'w
;;	/**00AA
  ( g " !   
   EE	'"`	     !!Q   '6 	  l ;;	/**111OO###77###77	 	.	+	#
 3  W.
 .
 .
 .	
rp   Nr   rM   r  r  r  r  rq   c                 D  K   |r|t          d          |s|t          d          d }|t          | |d           d {V d         }t          | t          dd          t          t          |||||r|nd |	          
           d {V }|j        }	t          | t          d|	           t          d d            d {V }
t          j
        |	 d|	t          |
j        j        d|	           d {V t          |
j        j        d|	           d {V           S )NzAtext_style_prompt and image_style cannot be used at the same timez3Either text_style_prompt or image_style is requiredzUploading styler   r   z!/proxy/meshy/openapi/v1/retexturery   rz   )r   r~   r  r   r  image_style_urlr   z"/proxy/meshy/openapi/v1/retexture/r   c                     | j         S r   r   r   s    rn   r   z*MeshyTextureNode.execute.<locals>.<lambda>%  r   rp   c                     | j         S r   r   r   s    rn   r   z*MeshyTextureNode.execute.<locals>.<lambda>&  r   rp   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )rm   r   rM   r  r  r  r  r
  r   r   r   s              rn   r   zMeshyTextureNode.execute  s       	b!8`aaa  	T[%8RSSS"%>sK\m%n%n%nnnnnnnpqrO  &IRXYYY,$+#57H"R"3"3d /  	
 
 
 
 
 
 
 
 
 /K'KKLLL+//33
 
 
 
 
 
 
 
 
 })&*;*?PWXXXXXXXXX)&*;*?PWXXXXXXXXX	
 
 	
rp   r   r   r   rp   rn   r  r    s        /
 /
 [/
b  +/*
 *
*
 *
 !	*

 *
 *
 [4'*
 
*
 *
 *
 [*
 *
 *
rp   r  c                   L    e Zd Zedeeej                          fd            ZdS )MeshyExtensionrq   c                 ^   K   t           t          t          t          t          t
          t          gS r   )r   r   r   r   r   r   r  )selfs    rn   get_node_listzMeshyExtension.get_node_list1  s'       !!&!
 	
rp   N)	r   r   r   r   r   typer   	ComfyNoder  r   rp   rn   r  r  0  sE        	
T$r|*<%= 	
 	
 	
 X	
 	
 	
rp   r  rq   c                  "   K   t                      S r   )r  r   rp   rn   comfy_entrypointr  >  s      rp   N)%typing_extensionsr   comfy_api.latestr   r   r   comfy_api_nodes.apis.meshyr   r   r	   r
   r   r   r   r   r   r   r   r   r   comfy_api_nodes.utilr   r   r   r   r   r   r  r   r   r   r   r   r   r  r  r  r   rp   rn   <module>r     s   & & & & & & 6 6 6 6 6 6 6 6 6 6                                            m
 m
 m
 m
 m
2< m
 m
 m
`\
 \
 \
 \
 \
bl \
 \
 \
~b
 b
 b
 b
 b
BL b
 b
 b
Jg
 g
 g
 g
 g
 g
 g
 g
TN
 N
 N
 N
 N
 N
 N
 N
b?
 ?
 ?
 ?
 ?
BL ?
 ?
 ?
D_
 _
 _
 _
 _
r| _
 _
 _
D
 
 
 
 
^ 
 
 
      rp   