§
    ÎÐjÁ	  ã                   ó>   — d Z ddlmZ ddlZddlmZ d„ Zd„ ZdZdZ	dS )	zJSmall, deduplicated UI events that need media metadata rather than pixels.é    )ÚwrapsN)Úblocksc           
      ó¼   ‡— t          ‰¦  «        ˆfd„¦   «         }d„ |D ¦   «         |_        t          j        | ||t          j        d¬¦  «        g|dddd¬¦  «        S )zCSources are (component, value/count/presence/editor/gallery) pairs.c                 ó   •—  ‰| |¦  «        S )N© )Ústate_valueÚmetadataÚcallbacks     €úEC:\Users\johnn\OneDrive\Documents\AI\shared\gradio\metadata_events.pyÚrefreshzbind.<locals>.refresh   s   ø€ àˆx˜ XÑ.Ô.Ð.ó    c                 ó&   — g | ]\  }}|j         |f‘ŒS r   )Ú_id)Ú.0Ú	componentÚkinds      r   ú
<listcomp>zbind.<locals>.<listcomp>   s#   € Ð%[Ð%[Ð%[ÁÀ	È4 y¤}°dÐ&;Ð%[Ð%[Ð%[r   F)ÚvisibleÚalways_lastÚhidden)ÚtriggersÚfnÚinputsÚoutputsÚqueueÚtrigger_modeÚshow_progressÚapi_name)r   Ú_wangp_metadata_inputsÚgrÚonÚJSON)r   Úsourcesr
   Ústater   r   s     `   r   Úbindr%   	   s–   ø€ å
ˆ8�_„_ð/ð /ð /ð /ñ „_ð/ð &\Ð%[ÐSZÐ%[Ñ%[Ô%[€GÔ"ÝŒ5˜( w¸½r¼wÈuÐ?UÑ?UÔ?UÐ7VÐ`gÐotð  DQð  aið  tyð  zñ  zô  zð  zr   c                  ó´   ‡— t           j        j        Št          ‰dd¦  «        rd S t	          ‰¦  «        ˆfd„¦   «         } d| _        | t           j        _        d S )NÚ_wangp_metadata_eventsFc                 ó�   •—  ‰| ¦  «        }|d         D ]0}t          | j        |d                  j        dd ¦  «        }|�||d<   Œ1|S )NÚdependenciesÚidr   Úwangp_metadata_inputs)ÚgetattrÚfnsr   )ÚselfÚconfigÚ
dependencyr#   Úoriginals       €r   Úget_config_filez install.<locals>.get_config_file   s]   ø€ à�˜$‘”ˆØ  Ô0ð 	>ð 	>ˆJÝ˜dœh z°$Ô'7Ô8Ô;Ð=UÐW[Ñ\Ô\ˆGØÐ"Ø6=�
Ð2Ñ3øØˆr   T)r   ÚBlocksr2   r,   r   r'   )r2   r1   s    @r   Úinstallr4      sj   ø€ ÝŒ}Ô,€HÝˆxÐ1°5Ñ9Ô9ð Øˆå
ˆ8�_„_ðð ð ð ñ „_ðð .2€OÔ*Ø$3…F„MÔ!Ð!Ð!r   aÓ  
let wangpMetadata;
if(R.wangp_metadata_inputs){
    const token={};
    wangpMetadataPending.set(S,token);
    await new Promise(resolve=>setTimeout(resolve,0));
    if(wangpMetadataPending.get(S)!==token)return;
    wangpMetadataPending.delete(S);
    wangpMetadata=R.wangp_metadata_inputs.map(([id,kind])=>P(id,kind));
    const signature=JSON.stringify(wangpMetadata);
    if(wangpMetadataSent.get(S)===signature)return;
    wangpMetadataSent.set(S,signature);
}
a�  
if(g&&wangpKind){
    const value=g.props.value;
    if(wangpKind==="value")return value;
    if(wangpKind==="count")return value?.length||0;
    if(wangpKind==="editor")return g.instance.get_metadata();
    if(wangpKind==="gallery")return {items:value?.map(item=>(item.image||item.video).path)||[],selected:g.props.selected_index};
    return value&&( !Array.isArray(value)||value.length) ? "present" : null;
}
)
Ú__doc__Ú	functoolsr   Úgradior    r   r%   r4   Ú
PREPARE_JSÚREAD_JSr   r   r   ú<module>r:      sn   ðà PÐ PØ Ð Ð Ð Ð Ð à Ð Ð Ð Ø Ð Ð Ð Ð Ð ðzð zð zð4ð 4ð 4ð(€
ð	€€€r   