o
    i                  "   @   s  d dl Zd dlZd dlmZ d dlmZmZ dd Zg dg dg dg d	g d
g dg dg dg dg dg dg dg dg dg dg dg dg dg dgg dg dg dg dg dg dg dg dg d g d!g d"g d#g d$g d%g d&g d'g d(g d)g d*gg d+g d,g d-g d.g d/g d0g d1g d2g d3g d4g d5g d6g d7g d8g d9g d:g d;g d<g d=gg d+g d>g d?g d@g dAg dBg dCg dDg dEg dFg dGg dHg dIg dJg dKg dLg dMg dNg dOgg dPg dQg dRg dSg dTg dUg dVg dWg dXg dYg dZg d[g d\g d]g d^g d_g d`g dag dbgg dcg ddg deg dfg dgg dhg dig djg dkg dlg dmg dng dog dpg dqg drg dsg dtg dugg dvg dwg dxg dyg dzg d{g d|g d}g d~g dg dg dg dg dg dg dg dg dg dgg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dgg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dgg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dgg dg d¢g dâg dĢg dŢg dƢg dǢg dȢg dɢg dʢg dˢg d̢g d͢g d΢g dϢg dТg dѢg dҢg dӢgg dԢg dբg d֢g dעg dآg d٢g dڢg dۢg dܢg dݢg dޢg dߢg dg dg dg dg dg dg dgg dg dբg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dgg dg dg dg dg dg dg dg dg d g dg dg dg dg dg dg dg dg d	g d
gg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dgdZ	G dd dej
ZG dd deZdefd d!ZdS ("      N)override)ComfyExtensionioc                 C   s^   t ddt| }t | ddd }t dd|}t |||}t |ddd  }|S )zS
    Performs log-linear interpolation of a given array of decreasing numbers.
    r      N)nplinspacelenloginterpexpcopy)t_steps	num_stepsxsysnew_xsnew_ysinterped_ys r   5/mnt/c/Users/fbmor/ComfyUI/comfy_extras/nodes_gits.pyloglinear_interp   s   r   )(@:-@@qޝ?)r    A'@v
 @r   )r   r   r   @r   )r   r   r   *k@])`3g @r   )r   n?8v(@b! Y!@r   r   r   r   )r   r    r!   r   r   r    ?r   )	r   %)@r   r!   r   r   r   r"   r   )
r   +@r    ?%@r!   r   r   r   r"   r   )r   r$   r#   r    r%   r!   r   r   r   r"   r   )r   r$   r#   r    r%   瀽{"@珤(E @r   r   r   r"   r   )r   r$   r#   r    r%   r&   r'   r   b$@S w@r   r"   r   )r   r$   r#   r    r   ֿ-$@r&   r'   r   r(   r)   r   r"   r   )r   r$   r#   r    r   r%   r*   r&   r'   r   r(   r)   r   r"   r   )r   r$   r#   r    r   r%   r*   r&   r!   r'   r   r(   r)   r   r"   r   )r   r$   r#   r    r   r%   r*   r&   r!   r'   r   r(   r)   \	@` ?Ndޑ?r   )r   r$   r#   r    r   r%   r*   ff#@r&   r!   r'   r   r(   r)   r+   r,   r-   r   )r   r$   r#   r    r   r%   r*   r.   r&   r!   r'   r   r   r   OOH q@r   s@?I͞?r   )r   r$   r#   r    r   r%   r*   r.   r&   r!   r'   ;Q3 R@r   r   r   r/   r   r0   r1   r   )r   r$   r#   r    r   r%   r*   r.   r&   r!   r'   r2   r   r   r   r)   uш@sW@@	N} y?^ᰴ?r   )r   r   r0   r   )r   r   r   r"   r   )r   r   ̾z@r   翑Q?r   )r   r   r   x?^@r4   @P,%?r   )r   r    r!   r   r9   r4   r:   r   )	r   r    r!   r   }2hW@r+   r0   r6   r   )
r   r#   r   r!   r   r;   r+   r0   r6   r   )r   r#   r   r!   r   r(   r/   r   r0   r6   r   )r   r$   r    r%   r!   r   r(   r/   r   r0   r6   r   )r   r$   r    r%   r&   r'   r   r(   r/   r   r0   r6   r   )r   r$   r#   r    r%   r&   r'   r   r(   r/   r   r0   r6   r   )r   r$   r#   r    r   r*   r&   r'   r   r(   r/   r   r0   r6   r   )r   r$   r#   r    r   r*   r&   r'   r   r(   r)   PL@$n_Q@r"   s4?r   )r   r$   r#   r    r   r*   r&   r'   r   r   r   r/   k6@^ 
@r"   r>   r   )r   r$   r#   r    r   r*   r&   r!   r'   r   r   r   r/   r?   r@   r"   r>   r   )r   r$   r#   r    r   r%   r*   r&   r!   r'   r   r   r   r/   r?   r@   r"   r>   r   )r   r$   r#   r    r   r%   r*   r.   r&   r!   r'   r   r   r   r/   r?   r@   r"   r>   r   )r   r$   r#   r    r   r%   r*   r.   r&   r!   r'   r2   r   r   r   r/   r?   r@   r"   r>   r   )r   r   r   )r   r   r"   r   )r   r   r   r:   r   )r   r   r)   5 V@!~Q?r   )r   r   r   r)   rA   rB   r   )r   r   r   r9   r   燎Wk?*>?r   )	r   r    r!   r7   r)   r   rC   rD   r   )
r   r    r!   r   r   $H!-@l5Х@rC   rD   r   )r   r    r!   r   r   rE   r+   w8]@r8   ܠ0G?r   )r   r#   r%   r!   r   r   rE   r+   rG   r8   rH   r   )r   r#   r   r&   r'   r   r   rE   r+   rG   r8   rH   r   )r   r#   r   r&   r'   r   r(   r)   r3   r4   r0   aZl?͕ފ?r   )r   r$   r    r%   r&   r'   r   r(   r)   r3   r4   r0   rI   rJ   r   )r   r$   r    r%   r&   r'   r   ?o@r;   rE   'D
@r@   rC   r:   %*?r   )r   r$   r#   r    r%   r&   r'   r   rK   r;   rE   rL   r@   rC   r:   rM   r   )r   r$   r#   r    r%   r&   r'   r   r   r   r)   E`U@r   9<@r"   r:   rM   r   )r   r$   r#   r    r   r*   r&   r'   r   r   r   r)   rN   r   rO   r"   r:   rM   r   )r   r$   r#   r    r   r*   r&   r!   r'   r   r   r   r)   rN   r   rO   r"   r:   rM   r   )r   r$   r#   r    r   r*   r&   r!   r'   r   r   r   r9   rE   r<   rF   rG   狆M0?rB   磚;{?r   )r   r   r"   r   )r   r   r4   rB   r   )r   r   r)   ]@@r6   r   )r   r   r)   rF   r"   ޝ?r   )r   r   r   r)   rF   r"   rS   r   )	r   r   r   r)   r   澃?rI   {'	?r   )
r   r   r   r   rE   r   rT   rI   rU   r   )r   r    r!   r   r   rE   r   rT   rI   rU   r   )r   r    r!   r   r   rE   r+   rG   5 H?r6   UO?r   )r   r    r!   r   r   r/   r?   r=   r0   r8   r>   5OG?r   )r   r#   r%   r!   r   r   r/   r?   r=   r0   r8   r>   rX   r   )r   r#   r%   r!   r   r(   r)   r3   rF   rG   r"   hN??rS   y?r   )r   r#   r%   r!   r   rK   r;   r/   r<   rF   rG   r"   rY   rS   rZ   r   )r   r#   r   r&   r'   r   rK   r;   r/   r<   rF   rG   r"   rY   rS   rZ   r   )r   r#   r   r&   r'   r   rK   r;   r/   r3   r   r@   r5   r8   r1   rU   @?r   )r   r#   r   r&   r'   r   r   r   r9   rE   r<   rF   rR   @5?r8   r1   rU   r[   r   )r   r$   r    r%   r&   r'   r   r   r   r9   rE   r<   rF   rR   r\   r8   r1   rU   r[   r   )r   r$   r    r%   r&   r'   r   r   r   r9   rE   r3   r   r@   rT   L| ?<g?rY   r>   rQ   J"*w?r   )r   r"   r   )r   r   r:   r   )r   r   rR   r6   r   )r   r7   r   r"   7?r   )r   r   r)   r4   rV   rH   r   )r   r   r)   r4   rC   r-   rW   r   )	r   r   r   r)   r4   rC   r-   rW   r   )
r   r   r   r)   r   r,   r8   r>   rX   r   )r   r   r   r   rE   r   r,   r8   r>   rX   r   )r   r   r   r   rE   r+   rO   rP   r:   MJ?K_?r   )r   r   r   r   rE   r+   rR   rC   rI   r>   ׋dK?{Q\?r   )r   r   r!   r   r   rE   r+   rR   rC   rI   r>   rb   rc   r   )r   r   r!   r   r   r/   r<   r4   U @r"   rI   r>   rb   rc   r   )r   r   r!   r   r   r/   r<   r4   rG   rC   `?r6   rU   x뺿?b&?r   )r   r   r!   r   r   r/   r3   r   r@   r0   -?O?r>   rM   ra   rg   r   )r   r   r!   r   r(   r9   3S@V@r?   r4   rG   粚2`^?r8    Ve?rS   rQ   ra   rg   r   )r   r   r!   r   r(   r9   rj   r<   rF   r@   rT   rP   |$k?r1   r_   rW   r[   rg   r   )r   r    r&   r'   r   r(   r9   rj   r<   rF   r@   rT   rP   rm   r1   r_   rW   r[   rg   r   )r   r    r&   r'   r   r   r   r9   rj   r<   rF   r@   rT   rP   rm   r1   r_   rW   r[   rg   r   )r   r:   r   )r   r   rB   r   )r   r   r   r>   r   )r   r   r4   а{h?rJ   r   )r   r   r   rC   r6   rX   r   )r   r   r)   r4   r"   r6   rX   r   )	r   r   r)   r4   rC   r:   rJ   r[   r   )
r   r   r)   r   r,   r8   (ր1?rb   rc   r   )r   r   r)   r+   rO   rP   r:   r_   rX   7If?r   )r   r   r9   r?   r@   rC   rI   r>   rM   ra   rg   r   )r   r   r   r9   r?   r@   rC   rI   r>   rM   ra   rg   r   )r   r   r   r   rE   r+   rR   rC   rI   r>   rM   ra   rg   r   )r   r   r   r   rE   r+   r@   r\   r8   r-   r_   rW   r[   rg   r   )r   r   r   r   r/   r<   r4   rG   rC   re   r1   r_   rW   r[   rg   r   )r   r   r   r   r/   r<   r4   rG   rk   rn   r:   r>   rJ   rX   r^   rg   r   )r   r   r   r   r/   r<   rF   rR   r0   rV   rI   r1   6|?rM   rZ   r^   rg   r   )r   r   r   r   r/   r<   rF   r@   rT   rP   {@9?r:   ro   rH   rQ   Oÿ!?r^   rg   r   )r   r   r'   r7   r   r/   r<   rF   r@   rT   rP   rr   r:   ro   rH   rQ   rs   r^   rg   r   )r   r   r'   r7   r   r/   r<   rF   r@   r,   rC   L 85?rI   r-   rD   r`   rb   rs   r^   rg   r   )r   rB   r   )r   rR   r>   r   )r   r   rC   rH   r   )r   r   r@   rI   rM   r   )r   r   rF   r"   r6   rX   r   )r   r   r   rC   rB   'P"?r^   r   )	r   r   r   r0   rI   rS   rX   rp   r   )
r   r   r)   r4   rC   r:   r`   rf   rg   r   )r   r   r)   rF   rT   r8   r6   ru   ra   rg   r   )r   r   r)   r   r   rV   r:   rS   rb   r[   rg   r   )r   r   r)   r+   rO   rC   rm   r6   r`   >+aTo?r[   rg   r   )r   r   r)   rL   r@   r\   r8   rB   rS   rM   rZ   r^   rg   r   )r   r   r9   r<   r4   r   rP   rI   r6   r_   rQ   rs   r^   rg   r   )r   r   r9   r<   r4   rd   rC   r8   r:   r>   r`   rb   rs   r^   rg   r   )r   r   r   rE   r+   r@   r0   rV   rI   r1   rS   rU   rv   ra   rc   rg   r   )r   r   r   rE   r+   r@   rT   rP   rr   r:   ro   r_   rM   rX   ra   rc   rg   r   )r   r   r   rE   r?   r4   rG   r\   rh   rI   r-   rD   r`   rQ   rX   ra   rc   rg   r   )r   r   r   r   rE   r?   r4   rG   r\   rh   rI   r-   rD   r`   rQ   rX   ra   rc   rg   r   )r   r   r   r   rE   r?   r4   rG   r\   rh   rI   rB   r>   r_   ru   rW   rs   r[   rc   rg   r   )r   r1   r   )r   r0   r_   r   )r   r   r"   rJ   r   )r   r   rT   r1   rX   r   )r   r   r@   r8   r_   ra   r   )r   r   r4   rP   r6   rb   rc   r   )	r   r   r4   r"   rB   rU   ra   rg   r   )
r   r   r   r0   rm   r>   rQ   r[   rg   r   )r   r   r   rT   r8   r6   rJ   rX   r^   rg   r   )r   r   r)   rF   rT   r8   r6   rJ   rX   r^   rg   r   )r   r   r)   r   r   rh   r:   rD   ru   rZ   r^   rg   r   )r   r   r)   r   rd   rP   rI   r6   r_   rQ   rs   r^   rg   r   )r   r   r)   r   rd   rP   rI   r6   r_   rM   rX   ra   rc   rg   r   )r   r   r)   r   rG   rC   r8   r:   ro   r_   rM   rX   ra   rc   rg   r   )r   r   r)   r+   r@   r5   rt   ri   r6   rS   rU   rW   rs   r[   rc   rg   r   )r   r   r)   r+   r@   r5   rt   ri   r6   rS   rJ   rb   rZ   ra   r^   rp   rg   r   )r   r   r)   r+   r@   r0   rV   rm   rB   r>   r_   ru   rW   rZ   ra   r^   rp   rg   r   )r   r   r)   r+   r@   r0   rV   rm   rB   r>   r_   rU   rb   rX   rf   r[   rc   rp   rg   r   )r   r   r)   r+   r@   r0   rV   rm   rB   r>   r_   rU   rb   rX   rs   ra   r^   rc   rp   rg   r   )r   r6   r   )r   r"   rJ   r   )r   rR   rl   rv   r   )r   r4   r8   r_   ra   r   )r   r   r   r:   rM   rc   r   )r   r   r@   r8   rS   rs   rg   r   )	r   r   r@   rh   r6   rM   ra   rg   r   )
r   r   r4   rC   r:   r_   rv   r^   rg   r   )r   r   r4   rk   rI   ro   rU   rZ   r^   rg   r   )r   r   rF   r0   r8   r1   r_   rb   rf   rc   rg   r   )r   r   r   r,   rh   r:   rD   rU   rv   ra   rc   rg   r   )r   r   r?   rR   r"   rI   r6   r_   rM   rX   ra   rc   rg   r   )r   r   r?   r@   rC   re   r-   rS   rU   rW   rs   r[   rc   rg   r   )r   r   r/   r   rd   rP   rI   r1   rS   rU   rW   rs   r[   rc   rg   r   )r   r   r/   r   rd   rP   rI   r1   rS   rU   rb   rZ   ra   r^   rp   rg   r   )r   r   r/   r   rd   rP   rI   r1   rS   rU   rb   rX   rf   r[   rc   rp   rg   r   )r   r   r/   r   rG   rC   rr   rl   r>   rH   rM   rv   rs   ra   r^   rc   rp   rg   r   )r   r   r/   r   rG   rC   r8   r:   ro   r_   ru   rW   rZ   rf   r[   r^   rc   rp   rg   r   )r   r   r/   r   rG   rC   r8   r:   ro   r_   rU   rb   rX   rs   ra   r[   r^   rc   rp   rg   r   )r   r>   r   )r   r"   rU   r   )r   r   r6   rZ   r   )r   rR   r:   rQ   rc   r   )r   r4   r8   r_   rf   rg   r   )r   r   rP   r6   rQ   r[   rg   r   )	r   r   rR   r8   r>   rb   r[   rg   r   )
r   r   r@   rh   r1   rJ   rX   r^   rg   r   )r   r   r4   rC    ?rS   rQ   rf   rc   rg   r   )r   r   r4   rk   rI   ro   rJ   rv   ra   rc   rg   r   )r   r   r4   r\   re   r6   r_   rM   rX   ra   rc   rg   r   )r   r   rF   r0   r8   r-   rS   ru   rv   rf   r^   rp   rg   r   )r   r   rF   r0   rn   rl   rD   rJ   rb   rZ   ra   r^   rp   rg   r   )r   r   rF   rT   rt   r:   r>   r`   rQ   rX   rf   r[   rc   rp   rg   r   )r   r   rF   rT   rt   r:   r>   rH   rM   rv   rs   ra   r^   rc   rp   rg   r   )r   r   rF   rT   rt   r:   ro   r_   ru   rW   rZ   rf   r[   r^   rc   rp   rg   r   )r   r   r   r   rV   rY   r6   rq   rU   rb   rX   rs   ra   r[   r^   rc   rp   rg   r   )r   r   r   r   rV   rY   r6   rS   rJ   rQ   rv   rZ   rf   ra   r[   r^   rc   rp   rg   r   )r   r   r   r   r]   rI   r1   g}~Rl?r`   rM   rW   rX   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r8   rQ   r   )r   r"   r_   r[   r   )r   r0   r6   rv   rp   r   )r   rR   ri   rJ   ra   rg   r   )r   r4   rh   ro   rb   r[   rg   r   )	r   r   r"   rB   r`   rX   r^   rg   r   )
r   r   rC   r:   rq   rb   rf   rc   rg   r   )r   r   r@   rh   r1   r`   rv   ra   rc   rg   r   )r   r   r@   rV   rl   rS   rM   rX   ra   rc   rg   r   )r   r   r=   r"   ri   r>   rU   rv   rf   r^   rp   rg   r   )r   r   r4   rC   rY   ro   r`   rb   rZ   ra   r^   rp   rg   r   )r   r   r4   rC   rI   goȁ?rH   rQ   rX   rf   r[   rc   rp   rg   r   )r   r   r4   rC   rI   r6   r_   rM   rv   rs   ra   r^   rc   rp   rg   r   )r   r   r4   rC   rI   r6   r_   ru   rW   rZ   rf   r[   r^   rc   rp   rg   r   )r   r   r4   r\   re   r1   rS   rU   rb   rX   rs   ra   r[   r^   rc   rp   rg   r   )r   r   r4   r\   re   r1   rS   rJ   rQ   rv   rZ   rf   ra   r[   r^   rc   rp   rg   r   )r   r   r4   r5   r8   rl   r>   rH   rM   rW   rX   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r   r4   r5   r8   rl   r>   rH   ru   rb   rv   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   rD   r   )r   r:   rX   r   )r   r"   rH   r^   r   )r   rC   rD   rs   rg   r   )r   r0   r1   rQ   r[   rg   r   )r   r@   re   rS   rv   r^   rg   r   )	r   r4   rh   r6   rU   rZ   r^   rg   r   )
r   r4   rV   r1   r`   rv   ra   rc   rg   r   )r   r4   r"   r:   rS   rM   rZ   r[   rc   rg   r   )r   r4   r"   r:   rS   rM   rX   ra   r^   rp   rg   r   )r   r   rC   ri   r>   rJ   rW   rs   r[   rc   rp   rg   r   )r   r   rC   ri   r>   rJ   rb   rZ   ra   r^   rc   rp   rg   r   )r   r   rC   rY   ro   r`   rQ   rX   rf   r[   r^   rc   rp   rg   r   )r   r   r\   rm   r6   r_   rM   rv   rs   ra   r[   r^   rc   rp   rg   r   )r   r   r\   rm   r6   r_   ru   rW   rZ   rf   ra   r[   r^   rc   rp   rg   r   )r   r   r@   rP   ri   ro   rH   rM   rv   rZ   rf   ra   r[   r^   rc   rp   rg   r   )r   r   r=   rC   rI   r6   rq   rU   rb   rX   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r   r=   rC   rI   r6   rS   rJ   rQ   rv   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r   r=   rC   rI   r6   rS   rJ   rM   rW   rX   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r_   r   )r   rI   rQ   rp   r   )r   r"   rS   rf   rg   r   )r   rC   r6   rQ   r[   rg   r   )r   r   r:   r`   rX   r^   rg   r   )	r   r@   r8   r>   rQ   rf   rc   rg   r   )
r   r@   r8   ro   rU   rX   ra   rc   rg   r   )r   r@   rn   r6   rJ   rv   rf   r^   rp   rg   r   )r   r@   rn   r6   r`   rW   rs   r[   rc   rp   rg   r   )r   r4   rV   r-   r_   rQ   rZ   ra   r^   rc   rp   rg   r   )r   r4   rP   r:   rS   rM   rX   rf   r[   r^   rc   rp   rg   r   )r   r4   rP   r:   rS   ru   rv   rs   ra   r[   r^   rc   rp   rg   r   )r   r4   r"   rw   rD   rJ   rb   rX   rs   ra   r[   r^   rc   rp   rg   r   )r   r4   r"   ri   r>   r`   rQ   rv   rZ   rf   ra   r[   r^   rc   rp   rg   r   )r   r4   rC   rY   ro   rH   rM   rW   rX   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r4   rC   rI   r6   rq   rU   rb   rv   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r4   rC   rI   r6   rq   rU   rQ   rW   rX   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r4   rC   rI   r6   rS   rJ   rM   rb   rv   rX   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r6   ra   r   )r   r:   rX   rg   r   )r   r8   r`   ra   rg   r   )r   r"   r>   rv   r^   rg   r   )r   rC   r6   rM   rf   rc   rg   r   )	r   rT   r:   rH   rv   ra   rc   rg   r   )
r   rG   rI   rS   rb   rf   r^   rp   rg   r   )r   r@   r8   ro   rU   rX   ra   r^   rp   rg   r   )r   r@   r8   ro   rU   rv   rf   r[   rc   rp   rg   r   )r   r@   rn   r6   r`   rb   rZ   ra   r^   rc   rp   rg   r   )r   r@   rn   r6   rH   rQ   rX   rf   r[   r^   rc   rp   rg   r   )r   r@   rn   r1   r_   rM   rv   rs   ra   r[   r^   rc   rp   rg   r   )r   r@   rn   r1   r_   rM   rv   rZ   rf   ra   r[   r^   rc   rp   rg   r   )r   r4   rP   r:   rD   rJ   rb   rX   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r4   rP   r:   rD   rJ   rQ   rv   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r4   r"   rw   r>   r`   rM   rW   rX   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r4   r"   ri   ro   rH   ru   rb   rv   rX   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r4   r"   ri   ro   r_   rU   rQ   rW   rv   rX   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r`   r   )r   r-   rZ   rg   r   )	r   rC   r1   rJ   rX   ra   rc   rg   r   )
r   r0   r:   r_   rW   rf   r^   rp   rg   r   )r   r0   r:   r_   rb   rs   r[   rc   rp   rg   r   )r   r0   r:   rq   rQ   rZ   ra   r^   rc   rp   rg   r   )r   rG   rm   r>   rU   rv   rf   r[   r^   rc   rp   rg   r   )r   rG   rm   r>   rU   rv   rs   ra   r[   r^   rc   rp   rg   r   )r   rR   r8   r6   rH   rQ   rX   rs   ra   r[   r^   rc   rp   rg   r   )r   rR   r8   r6   rH   rQ   rX   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   rR   r8   r6   r_   rM   rv   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   rR   r8   r6   r_   rM   rW   rX   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r@   rt   r-   rS   rU   rb   rv   rX   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r@   rh   rl   rD   r`   rM   rb   rv   rX   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )r   r@   rV   r:   r>   rH   ru   rQ   rW   rv   rX   rZ   rs   rf   ra   r[   r^   rc   rp   rg   r   )皙?g333333?g?gffffff?      ?g?g?gffffff?333333?g      ?g?g?gffffff?g333333?      ?c                   @   s$   e Zd Zedd Zedd ZdS )GITSSchedulerc                 C   sV   t jddt jjddddddd	t jjd
ddddt jjddddddgt j gdS )Nr|   z#sampling/custom_sampling/schedulerscoeffrz   rx   r{   g?T)defaultminmaxstepadvancedsteps
      i  )r~   r   r   denoisery           g{Gz?)r~   r   r   r   )node_idcategoryinputsoutputs)r   SchemaFloatInputIntSigmasOutput)clsr   r   r   define_schemaS  s   zGITSScheduler.define_schemac                 C   s   |}|dk r|dkrt tg S t|| }|dkr,tt|d |d  d d  }ntt|d d d d  }t||d }||d  d  }d|d< t t|S )Nry   r      r   r   r   r   )r   
NodeOutputtorchFloatTensorroundNOISE_LEVELSr   )r   r}   r   r   total_stepssigmasr   r   r   executeb  s    zGITSScheduler.executeN)__name__
__module____qualname__classmethodr   r   r   r   r   r   r|   R  s
    
r|   c                   @   s(   e Zd Zedeeej  fddZdS )GITSSchedulerExtensionreturnc                    s   t gS N)r|   )selfr   r   r   get_node_listv  s   z$GITSSchedulerExtension.get_node_listN)	r   r   r   r   listtyper   	ComfyNoder   r   r   r   r   r   u  s    r   r   c                      s   t  S r   )r   r   r   r   r   comfy_entrypoint}  s   r   )numpyr   r   typing_extensionsr   comfy_api.latestr   r   r   r   r   r|   r   r   r   r   r   r   <module>   sr      @#