§
    ÎÐj¼  ã                   ó˜   — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ  e¦   «         Z e
¦   «         ZdadZd	Zd
„ Zd„ Zd„ ZdS )zEAvoid decoding unchanged file-backed PIL inputs on every UI callback.é    )ÚOrderedDict)Údeepcopy)Úwraps)ÚPath)ÚRLock)ÚImagei   é    c                  ó|   — t           5  t                               ¦   «          dad d d ¦  «         d S # 1 swxY w Y   d S )Nr   )Ú_lockÚ_cacheÚclearÚ_bytes© ó    úSC:\Users\johnn\OneDrive\Documents\AI\shared\gradio\gradio_image_preprocess_cache.pyr   r      s~   € å	ð ð Ý�Š‰ŒˆØˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ˆ1±5¸5c                 ó`   — |                       ¦   «         }t          | j        ¦  «        |_        |S )N)Úcopyr   Úinfo)ÚimageÚresults     r   Ú_copyr      s%   € à�ZŠZ‰\Œ\€FÝ˜5œ:Ñ&Ô&€F„KØ€Mr   c                  ó˜   ‡— ddl m}  | j        Št          ‰dd¦  «        rd S t	          ‰¦  «        ˆfd„¦   «         }d|_        || _        d S )Nr   )Úimage_utilsÚ_wangp_input_cacheFc                 óB  •— | �\|dk    sV|dvsR| j         rK| j        pd                     d¦  «        s/t          | j        pd¦  «        j                             ¦   «         dv r ‰| ||||¦  «        S t          | j         ¦  «        }|                     ¦   «         }t          | 	                    ¦   «         ¦  «        |j
        |j        |j        | j        |f}t          5  t                               |¦  «        }|�t                               |¦  «         d d d ¦  «         n# 1 swxY w Y   |�t#          |d         ¦  «        S  ‰| ||||¦  «        }	t%          |	t&          j        ¦  «        s|	S ddlm}
  |
|	| ||d	¬
¦  «         |	j        |	j        z  |	j        dk    rdndz  }|t2          k    röt#          |	¦  «        }t          5  t                               |d ¦  «        }|�t6          |d         z  a||ft          |<   t6          |z  at6          t2          k    st9          t          ¦  «        t:          k    rXt                               d	¬¦  «        \  }\  }}t6          |z  at6          t2          k    °;t9          t          ¦  «        t:          k    °Xd d d ¦  «         n# 1 swxY w Y   |	S )NÚpil)ÚRGBÚRGBAÚLÚ zdata:)z.gifz.svgr   é   )Úremember_source_imageF)Úcache_identityr   é   )Úlast)ÚpathÚurlÚ
startswithr   Ú	orig_nameÚsuffixÚlowerÚstatÚstrÚresolveÚst_sizeÚst_mtime_nsÚst_ctime_nsr   r   ÚgetÚmove_to_endr   Ú
isinstancer   Úgradio_save_image_cache_patchr"   ÚwidthÚheightÚmodeÚ
_MAX_BYTESÚpopr   ÚlenÚ_MAX_ENTRIESÚpopitem)ÚpayloadÚ	cache_dirÚformatÚ
image_modeÚtyper&   r,   ÚkeyÚentryr   r"   ÚsizeÚsavedÚpreviousÚ_Úremoved_sizeÚoriginals                   €r   Ú
preprocesszinstall.<locals>.preprocess(   sY  ø€ ð ˆ?˜d ešm˜m¨zÐAUÐ/UÐ/UÐ]dÔ]iÐ/UÐnuÔnyÐnÐ}÷  nLò  nLð  MTñ  nUô  nUÐ/Uõ  Y]ð  ^eô  ^oð  ^uð  suñ  Yvô  Yvô  Y}÷  YCò  YCñ  YEô  YEð  IYð  YYð  YYØ�8˜G Y°¸
ÀDÑIÔIÐIÝ�G”LÑ!Ô!ˆØ�yŠy‰{Œ{ˆÝ�4—<’<‘>”>Ñ"Ô" D¤L°$Ô2BÀDÔDTÐV]ÔVgÐisÐtˆÝð 	(ð 	(Ý—J’J˜s‘O”OˆEØÐ Ý×"Ò" 3Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð ÐÝ˜˜qœ‘?”?Ð"Ø�˜' 9¨f°jÀ$ÑGÔGˆÝ˜&¥%¤+Ñ.Ô.ð 	ØˆMð 	IÐHÐHÐHÐHÐHØÐ˜f g¨y¸&ÐQVÐWÑWÔWÐWàŒ|˜fœmÑ+°F´KÀ3Ò4FÐ4F¨q¨qÈAÑNˆØ•:ÒÐÝ˜&‘M”MˆEÝð +ð +Ý!Ÿ:š: c¨4Ñ0Ô0�ØÐ'Ý˜h qœkÑ)�FØ$ d˜m•�s‘Ý˜$‘�Ý�zÒ)Ð)­Sµ©[¬[½<Ò-GÐ-GÝ+1¯>ª>¸u¨>Ñ+EÔ+EÑ(�AÑ(˜˜<Ý˜lÑ*�Fõ �zÒ)Ð)­Sµ©[¬[½<Ò-GÐ-Gð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð ˆs%   Ã7DÄD Ä#D Æ?C	JÊJÊJT)Úgradior   Úpreprocess_imageÚgetattrr   r   )r   rK   rJ   s     @r   ÚinstallrO   !   sy   ø€ Ø"Ð"Ð"Ð"Ð"Ð"àÔ+€HÝˆxÐ-¨uÑ5Ô5ð Øˆå
ˆ8�_„_ð"ð "ð "ð "ñ „_ð"ðH %)€JÔ!Ø#-€KÔ Ð Ð r   N)Ú__doc__Úcollectionsr   r   r   Ú	functoolsr   Úpathlibr   Ú	threadingr   ÚPILr   r   r   r   r9   r<   r   r   rO   r   r   r   ú<module>rV      sÕ   ðà KÐ KØ #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð ð 
ˆ‰Œ€Øˆ‰Œ€Ø	
€Ø€
Ø€ðð ð ðð ð ð-.ð -.ð -.ð -.ð -.r   