§
     ’Þjµ4  ã                   óâ   — d dl Z d dlZd dlZd dlZd dlmZ  ej        ¦   «         ZdZ	dZ
dZde
dœdedœd	œZd
„ Zd„ Zd„ Zdddœd„Zd„ Zddddddœd„Zdddœd„Zdddœd„Zdddœd„Zd„ Zd„ ZdS )é    N)Úmodel_infosa>  <svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 19.4 15.4 7 18 9.6 5.6 22 3 19.4Z"/><path d="m15.4 7 2.1-2.1 2.6 2.6L18 9.6"/><path d="M20 1v3m-1.5-1.5h3M6 3v2M5 4h2m14 11v2m-1-1h2"/></svg>z²Spatial upsamplers increase resolution. Visual refiners improve targeted content and may leave the dimensions unchanged. Scale is shown only for methods that support multipliers.zÃTemporal upsamplers increase frame rate by generating intermediate frames. WanGP multiplies the output frame rate by the selected factor so video duration and audio synchronization are preserved.z"Spatial Upsampler / Visual Refiner©ÚtitleÚmarkdownzTemporal Upsampler)Úspatial_upsamplingÚtemporal_upsamplingc                 ó^   — | pi } |                       d|                       dd ¦  «        ¦  «        S )NÚprompt_infosÚpromt_infos)Úget)Ú	model_defs    ú@C:\Users\johnn\OneDrive\Documents\AI\shared\gradio\field_help.pyÚget_model_prompt_helpr   $   s-   € Ø�˜R€IØ�=Š=˜¨¯ª°}ÀdÑ)KÔ)KÑLÔLÐLó    c                 óX   — | €g S t          | t          ¦  «        r| gS t          | ¦  «        S )N)Ú
isinstanceÚstrÚlist)Úvalues    r   Ú_normalize_classesr   )   s1   € Ø€}Øˆ	Ý�%�ÑÔð ØˆwˆÝ�‰;Œ;Ðr   c                 óä   — t          | dd ¦  «        }|sdt          t          ¦  «        › �}|| _        t	          t          | dd ¦  «        ¦  «        }d|vr|                     d¦  «         || _        |S )NÚelem_idzwangp-field-help-target-Úelem_classeszwangp-field-help-target)ÚgetattrÚnextÚ_COUNTERr   r   Úappendr   )Ú	componentr   Úclassess      r   Ú_ensure_component_targetr    1   sz   € Ý�i ¨DÑ1Ô1€GØð $Ø=­Tµ(©^¬^Ð=Ð=ˆØ#ˆ	ÔÝ ¥¨°NÀDÑ!IÔ!IÑJÔJ€GØ ¨Ð/Ð/Ø�ŠÐ0Ñ1Ô1Ð1Ø!(ˆ	ÔØ€Nr   c                óH  — |�|pdt          |¦  «        fS t                               t          | pd¦  «        ¦  «        }t          |t          ¦  «        r;|p|                     dd¦  «        t          |                     dd¦  «        ¦  «        fS |pdt          |pd¦  «        fS )NÚHelpÚ r   r   )r   ÚSYSTEM_HELPr   r   Údict)Úhelp_idr   r   Úhelp_defs       r   Ú_resolve_helpr(   =   s�   € ØÐØˆ˜¥ H¡¤Ð-Ð-Ý�Š�s 7 =¨bÑ1Ô1Ñ2Ô2€HÝ�(�DÑ!Ô!ð YØÐ5˜Ÿš W¨fÑ5Ô5µs¸8¿<º<È
ÐTVÑ;WÔ;WÑ7XÔ7XÐXÐXØˆ?�F�C  ¨BÑ/Ô/Ð/Ð/r   c                 óR  — t          |pd¦  «                             ¦   «         }t          |pd¦  «        }|rdt          j        |d¬¦  «        › d�nd}|rdnd}dt          j        | d¬¦  «        › dt          j        |d¬¦  «        › d	t          j        |d¬¦  «        › d|› |› d
|› d�S )Nr#   z data-wangp-model-info-open='T©Úquoteú'z! aria-hidden='true' tabindex='-1'zC<button type='button' class='wangp-context-tool wangp-context-tool-z	' title='z' aria-label='ú>z	</button>)r   ÚstripÚhtmlÚescape)ÚkindÚpopup_idr   ÚiconÚ	open_attrÚhidden_attrs         r   Ú_tool_buttonr6   F   sþ   € Ý�8�>˜rÑ"Ô"×(Ò(Ñ*Ô*€HÝ��˜ÑÔ€EØX`ÐhÐTµ´¸HÈDÐ0QÑ0QÔ0QÐTÐTÐTÐTÐfh€IØ ÐI�"�"Ð&I€Kð	JÍdÌkÐZ^ÐfjÐNkÑNkÔNkð 	Jð 	JÝ”+˜e¨4Ð0Ñ0Ô0ð	Jð 	JÝ@DÄÈEÐY]Ð@^Ñ@^Ô@^ð	Jð 	JØajð	JØlwð	Jð 	JØz~ð	Jð 	Jð 	Jðr   F)r   r   Úhelper_popup_idÚhelper_titleÚ
keep_emptyc                ób  — t          |||¬¦  «        \  }}t          t          |pd¦  «                             ¦   «         ¦  «        }t          t          |pd¦  «                             ¦   «         ¦  «        }|s|s|sdS d}	d}
|r]t	          j        dd| › d|› �¦  «                             d¦  «                             ¦   «         }d|› �}
t          j        |
||d¬¦  «        }	t          d|
|d	¦  «        }t          d
|r|nd|pdt          ¦  «        }dt          j        | d¬¦  «        › d|› |› d|	› �S )Nr   r#   ú[^A-Za-z0-9_-]ú-úwangp-field-help-T©ÚlazyÚinfoÚiÚhelperúPrompt HelperzA<span class='wangp-field-help-inline' data-wangp-field-help-for='r*   z'>z</span>)r(   Úboolr   r.   ÚreÚsubÚlowerr   Úrender_info_popupr6   ÚWAND_ICON_SVGr/   r0   )r   r&   r   r   r7   r8   r9   Úhas_markdownÚ
has_helperÚ
popup_htmlr2   Ú	popup_keyÚinfo_buttonÚhelper_buttons                 r   Úrender_markerrP   Q   sƒ  € Ý# G°5À8ÐLÑLÔL�O€Eˆ8Ý�˜H˜N¨Ñ+Ô+×1Ò1Ñ3Ô3Ñ4Ô4€LÝ•c˜/Ð/¨RÑ0Ô0×6Ò6Ñ8Ô8Ñ9Ô9€JØð  
ð °:ð ØˆrØ€JØ€HØð YÝ”FÐ,¨c°gÐ3IÐ3IÀÐ3IÐ3IÑJÔJ×PÒPÐQTÑUÔU×[Ò[Ñ]Ô]ˆ	Ø2 yÐ2Ð2ˆÝ Ô2°8¸UÀHÐSWÐXÑXÔXˆ
Ý˜v x°¸Ñ<Ô<€KÝ  ¸jÐ+P¨?¨?ÈbÐR^ÐRqÐbqõ  tAñ  Bô  B€Mð	ÍDÌKÐX_ÐgkÐLlÑLlÔLlð 	ð 	Øð	Ø%ð	ð 	ð ð	ð 	ðr   c                ó¤   — t          | ¦  «        }t          ||||¬¦  «        }|st          j        dd¬¦  «        S t          j        |dg¬¦  «        S )Nr   r#   F)Úvisiblezwangp-field-help-inline-host)r   )r    rP   ÚgrÚHTML)r   r&   r   r   r   Úmarkers         r   ÚbindrV   g   s[   € Ý& yÑ1Ô1€GÝ˜7 G°5À8ÐLÑLÔL€FØð *ÝŒw�r 5Ð)Ñ)Ô)Ð)ÝŒ7�6Ð)GÐ(HÐIÑIÔIÐIr   ©r7   r8   c          	      ó.   — t          d| |||||¬¦  «        S )Nr#   rW   )Úrender_model_prompt_tools)r   Ú
model_typer   Ú	prompt_idr7   r8   s         r   Úrender_model_prompt_markerr\   o   s1   € Ý$ R¨°*¸iÈÐdsð  COð  Pñ  Pô  Pð  Pr   c          	      óê  — t          |¦  «        }t          |t          t          f¦  «        rBt	          |¦  «        dk    r/t          |d         pd¦  «        t          |d         pd¦  «        }	}ndt          |pd¦  «        }	}d}
d}|	                     ¦   «         rdt          j        dd|› d|pd	› d|pd
› �¦  «                             d¦  «         	                    ¦   «         }d|› �}t          j        |||	d¬¦  «        }
t          d||d¦  «        }t          d||pdt          ¦  «        }|s#t          |pd¦  «                             ¦   «         rdnd}d|› dt          j        |d¬¦  «        › d|› |› d|
› �	S )Né   r   zPrompt Guidelinesé   r#   r;   r<   z-prompt-ÚmodelÚpromptr=   Tr>   r@   rA   rB   rC   zwangp-prompt-tools-rowz/wangp-prompt-tools-row wangp-prompt-tools-emptyz<div class='z' data-wangp-prompt-tools-for='r*   z$'><span class='wangp-context-tools'>z</span></div>)r   r   r   ÚtupleÚlenr   r.   rE   rF   rG   r   rH   r6   rI   r/   r0   )Úlabelr   rZ   r   r[   r7   r8   Úinfosr   r   rL   r2   rM   rN   rO   Ú	row_classs                   r   rY   rY   s   sÞ  € Ý! )Ñ,Ô,€EÝ�%�$¥˜Ñ'Ô'ð @­C°©J¬J¸!ªO¨OÝ˜e AœhÐ=Ð*=Ñ>Ô>ÅÀEÈ!ÄHÀNÐPRÑ@SÔ@Sˆxˆˆà-­s°5°;¸BÑ/?Ô/?ˆxˆØ€JØ€HØ‡~‚~ÑÔð YÝ”FÐ,¨c°gÐ3vÐ3vÀzÐG\ÐU\Ð3vÐ3vÐ_hÐ_tÐltÐ3vÐ3vÑwÔw×}Ò}ð  Bñ  Cô  C÷  Iò  Iñ  Kô  Kˆ	Ø2 yÐ2Ð2ˆÝ Ô2°8¸UÀHÐSWÐXÑXÔXˆ
Ý˜v x°¸Ñ<Ô<€KÝ  ¨?¸LÐ<[ÈOÕ]jÑkÔk€MØ,4ð  R½¸OÐ<QÈrÑ8RÔ8R×8XÒ8XÑ8ZÔ8Zð  RÐ(Ð(ð  aR€Ið	�yð 	ð 	ÅÄÈWÐ\`ÐAaÑAaÔAað 	ð 	Ø-8ð	Ø:Gð	ð 	ð ð	ð 	ðr   c                  ó   — dS )Na›  
.wangp-prompt-tools-stack {
    position: relative;
}
.wangp-prompt-tools-anchor {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}
.wangp-prompt-tools-anchor > :not(.wangp-model-info-popup):not([data-wangp-model-info-popup]),
.wangp-prompt-tools-anchor .html-container {
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}
.wangp-prompt-tools-anchor .wangp-prompt-tools-row {
    display: none !important;
}
.wangp-prompt-tools-row {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    margin: -2px 0 -2px 6px;
    vertical-align: middle;
    line-height: 0 !important;
}
/* Voice controls are mounted in this row even when the model has no help. */
.wangp-prompt-tools-empty:not(:has(.wangp-prompt-microphone:not([hidden]))) {
    display: none !important;
    margin: 0 !important;
}
.wangp-context-tools,
.wangp-field-help-inline {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    vertical-align: middle;
    white-space: nowrap;
    margin-block: -2px !important;
    line-height: 0 !important;
}
.wangp-field-help-inline {
    margin-left: 6px !important;
}
.wangp-field-help-inline:not(:has([data-wangp-model-info-open])) {
    display: none !important;
}
.wangp-field-help-inline-host,
.wangp-field-help-inline-host > *,
.wangp-field-help-inline-host .html-container {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}
.wangp-context-tool {
    position: static !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid var(--button-secondary-border-color, rgba(17, 84, 118, 0.24)) !important;
    border-radius: 999px !important;
    background: var(--button-secondary-background-fill, rgba(255, 255, 255, 0.86)) !important;
    color: var(--button-secondary-text-color, #155574) !important;
    box-shadow: none !important;
    cursor: pointer;
    vertical-align: middle;
    font-size: 11px !important;
    line-height: 1 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.wangp-context-tool:not([data-wangp-model-info-open]) {
    display: none !important;
}
.wangp-context-tool-info {
    width: 13px !important;
    height: 13px !important;
    min-width: 13px !important;
    min-height: 13px !important;
    border: 1px solid currentColor !important;
    background: transparent !important;
    color: #175a79 !important;
    font-family: Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    font-style: normal !important;
}
.postprocess .wangp-context-tool-info {
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    min-height: 10px !important;
    font-size: 8px !important;
}
.postprocess .wangp-field-help-inline,
.postprocess .wangp-context-tools {
    margin-block: 0 !important;
    padding-block: 2px !important;
    padding-inline-end: 2px !important;
}
.postprocess .wangp-prompt-tools-row {
    margin-block: 0 !important;
}
.wangp-context-tool-helper {
    width: 22px !important;
    height: 20px !important;
    min-width: 22px !important;
    min-height: 20px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #175a79 !important;
}
.wangp-context-tool-helper svg {
    width: 18px;
    height: 18px;
}
© rh   r   r   Úget_cssri   Š   s   € ðPð Pr   c                  ó   — dS )Na#  
    window.wangpPromptTools = window.wangpPromptTools || {};
    window.wangpPromptTools.attach = function(root) {
        const scope = root && root.querySelectorAll ? root : document;
        function movePopups(sourceRoot, buttons) {
            buttons.forEach((button) => {
                const popupId = button.getAttribute("data-wangp-model-info-open");
                if (!popupId) return;
                const popups = Array.from(document.querySelectorAll("#" + CSS.escape(popupId)));
                const popup = popups.find((candidate) => sourceRoot?.contains(candidate)) || popups[popups.length - 1];
                popups.forEach((candidate) => {
                    if (candidate !== popup) candidate.remove();
                });
                if (popup && popup.parentElement !== document.body) document.body.appendChild(popup);
            });
        }
        scope.querySelectorAll(".wangp-prompt-tools-row[data-wangp-prompt-tools-for]").forEach((row) => {
            if (!row.isConnected) return;
            const sourceRoot = row.parentElement;
            const targetId = row.getAttribute("data-wangp-prompt-tools-for") || "";
            const target = document.getElementById(targetId);
            const label = target?.querySelector('[data-testid="block-info"]');
            if (!label) return;
            movePopups(sourceRoot, row.querySelectorAll("[data-wangp-model-info-open]"));
            label.querySelectorAll(".wangp-prompt-tools-row[data-wangp-prompt-tools-for]").forEach((existing) => {
                if (existing !== row && existing.getAttribute("data-wangp-prompt-tools-for") === targetId) existing.remove();
            });
            if (row.isConnected && row.parentElement !== label) label.appendChild(row);
        });
        scope.querySelectorAll(".wangp-field-help-inline[data-wangp-field-help-for]").forEach((inline) => {
            if (!inline.isConnected) return;
            const sourceRoot = inline.parentElement;
            const targetId = inline.getAttribute("data-wangp-field-help-for") || "";
            const target = document.getElementById(targetId);
            const label = target?.querySelector('[data-testid="block-info"]');
            // Only mount incoming markers; an old mounted marker must not discard its replacement popup.
            if (!label || inline.parentElement === label) return;
            movePopups(sourceRoot, inline.querySelectorAll("[data-wangp-model-info-open]"));
            label.querySelectorAll(".wangp-field-help-inline[data-wangp-field-help-for]").forEach((existing) => {
                if (existing !== inline && existing.getAttribute("data-wangp-field-help-for") === targetId) existing.remove();
            });
            if (inline.isConnected && inline.parentElement !== label) label.appendChild(inline);
        });
    };
rh   rh   r   r   Úget_javascriptrk     s   € ð,ð ,r   )r/   Ú	itertoolsrE   ÚgradiorS   Úshared.gradior   Úcountr   rI   ÚSPATIAL_UPSAMPLER_HELP_INTROÚTEMPORAL_UPSAMPLER_HELP_INTROr$   r   r   r    r(   r6   rP   rV   r\   rY   ri   rk   rh   r   r   ú<module>rr      sÃ  ðà €€€Ø Ð Ð Ð Ø 	€	€	€	à Ð Ð Ð à %Ð %Ð %Ð %Ð %Ð %ð ˆ9Œ?ÑÔ€ðFð ð  XÐ ð !jÐ ð 6Ø0ðð ð
 &Ø1ðð ð	ð 	€ðMð Mð Mð
ð ð ð	ð 	ð 	ð %)°4ð 0ð 0ð 0ð 0ð 0ðð ð ð .2¸DÐRVÐeiÐv{ð ð ð ð ð ð, '+°Tð Jð Jð Jð Jð Jð ^bÐptð Pð Pð Pð Pð Pð dhÐvzð ð ð ð ð ð.Qð Qð Qðh-ð -ð -ð -ð -r   