§
    ¢”j~&  ã                  ó¬  — d dl mZ d dlmZ ddlmZmZ 	 ddlmZ dZn# e	$ r dZY nw xY wdZ
e
rd dlmZmZ d	d
d
dœZd d„Z G d„ dej        ¦  «        Zd!d„Zd"d„Zd"d„Z ej        ej        ee¦  «         erZ ej        ej        e¦  «          ej        ej        e¦  «          ej        ej        d¦  «          ej        ej        d¦  «         dS dS )#é    )Úannotations)ÚBytesIOé   )ÚImageÚ	ImageFile)Ú_webpTF)ÚIOÚAnyÚRGBÚRGBA)s   VP8 s   VP8Xs   VP8LÚprefixÚbytesÚreturnú
bool | strc                ó’   — |                       d¦  «        }| dd…         dk    }| dd…         t          v }|r|r|rt          s	 dS dS dS )	Ns   RIFFé   é   s   WEBPé   zEimage file could not be identified because WEBP support not installedTF)Ú
startswithÚ_VP8_MODES_BY_IDENTIFIERÚ	SUPPORTED)r   Úis_riff_file_formatÚis_webp_fileÚis_valid_vp8_modes       úb/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/PIL/WebPImagePlugin.pyÚ_acceptr      st   € Ø ×+Ò+¨GÑ4Ô4ÐØ˜!˜B˜$”< 7Ò*€LØ˜r "˜uœÕ)AÐAÐàð ˜|ð Ð0Að Ýð 	àWðð ð ˆtØˆ5ó    c                  ór   ‡ — e Zd ZdZdZdZdZdd„Zdd„Zdd„Z	ddd„Z
dd„Zdd„Zdˆ fd„Zdd„Zd d„Zˆ xZS )!ÚWebPImageFileÚWEBPz
WebP imager   r   ÚNonec                ó0  — | j         €J ‚t          j        | j                              ¦   «         ¦  «        | _        | j                             ¦   «         \  | _        | j        d<   }| _        | _	        |dz	  dz  |dz	  dz  |dz  |dz	  dz  f| j        d<   | j        dk    | _
        | j	        dk    rd	n| j	        | _        d
dddœ                     ¦   «         D ]+\  }}| j                             |¦  «        x}r
|| j        |<   Œ,|                      d¬¦  «         d S )NÚloopr   éÿ   r   é   Ú
backgroundr   ÚRGBXr   ÚICCPÚEXIFzXMP )Úicc_profileÚexifÚxmpF)Úreset)Úfpr   ÚWebPAnimDecoderÚreadÚ_decoderÚget_infoÚ_sizeÚinfoÚn_framesÚrawmodeÚis_animatedÚ_modeÚitemsÚ	get_chunkÚ_reset)ÚselfÚbgcolorÚkeyÚ
chunk_nameÚvalues        r   Ú_openzWebPImageFile._open-   s:  € ð ŒwÐ"Ð"Ð"ÝÔ-¨d¬g¯lªl©n¬nÑ=Ô=ˆŒð ŒM×"Ò"Ñ$Ô$ñ 	LˆŒ
�D”I˜fÑ% w°´¸t¼|ð ˜‰]˜dÑ"Ø˜‰\˜TÑ!Ø�d‰NØ˜‰]˜dÑ"ð	#
ˆŒ	�,Ñð  œ=¨1Ò,ˆÔØ"œl¨fÒ4Ð4�U�U¸$¼,ˆŒ
ð "ØØð 
ð  
÷ Š%‰'Œ'ð		'ð 	'‰OˆC�ð
 œ×/Ò/°
Ñ;Ô;Ð;ˆuð 'Ø!&�”	˜#‘øð 	�Š˜%ˆÑ Ô Ð Ð Ð r   údict[int, Any] | Nonec                ód   — d| j         vrd S |                      ¦   «                              ¦   «         S )Nr+   )r4   ÚgetexifÚ_get_merged_dict©r<   s    r   Ú_getexifzWebPImageFile._getexifL   s.   € Ø˜œÐ"Ð"Ø�4Ø�|Š|‰~Œ~×.Ò.Ñ0Ô0Ð0r   ÚframeÚintc                óB   — |                       |¦  «        sd S || _        d S ©N)Ú_seek_checkÚ_WebPImageFile__logical_frame©r<   rH   s     r   ÚseekzWebPImageFile.seekQ   s-   € Ø×Ò Ñ&Ô&ð 	ØˆFð  %ˆÔÐÐr   Tr-   Úboolc                óf   — |r| j                              ¦   «          d| _        d| _        d| _        d S )Nr   éÿÿÿÿ)r1   r-   Ú_WebPImageFile__physical_frameÚ_WebPImageFile__loadedÚ_WebPImageFile__timestamp)r<   r-   s     r   r;   zWebPImageFile._resetX   s;   € Øð 	"ØŒM×ÒÑ!Ô!Ð!Ø !ˆÔØˆŒØˆÔÐÐr   útuple[bytes, int, int]c                ó  — | j                              ¦   «         }| xj        dz  c_        |€:|                      ¦   «          |                      d¦  «         d}t          |¦  «        ‚|\  }}|| j        z
  }|| _        ||z  }|||fS )Nr   r   z(failed to decode next frame in WebP file)r1   Úget_nextrS   r;   rO   ÚEOFErrorrU   )r<   ÚretÚmsgÚdataÚ	timestampÚdurations         r   Ú	_get_nextzWebPImageFile._get_next_   s–   € àŒm×$Ò$Ñ&Ô&ˆØÐÔ Ñ"ÐÔð ˆ;Ø�KŠK‰MŒMˆMØ�IŠI�a‰LŒLˆLØ<ˆCÝ˜3‘-”-Ðð ‰ˆˆiØ˜tÔ/Ñ/ˆØ$ˆÔð 	�XÑˆ	Ø�Y Ð(Ð(r   c                ó¶   — | j         |k    rd S || j         k     r|                      ¦   «          | j         |k     r!|                      ¦   «          | j         |k     °d S d S rK   )rS   r;   r_   rN   s     r   Ú_seekzWebPImageFile._seekt   sj   € ØÔ  EÒ)Ð)ØˆFØ�4Ô(Ò(Ð(Ø�KŠK‰MŒMˆMØÔ# eÒ+Ð+Ø�NŠNÑÔÐð Ô# eÒ+Ð+Ð+Ð+Ð+Ð+r   úImage.core.PixelAccess | Nonec                óÊ  •— | j         | j        k    r³|                      | j        ¦  «         |                      ¦   «         \  }| j        d<   | j        d<   | j        | _         | j        r | j        r| j                             ¦   «          t          |¦  «        | _        t          j
        dd| j        z   d| j        ¦  «        g| _        t          ¦   «                              ¦   «         S )Nr]   r^   Úraw)r   r   r   )rT   rM   ra   r_   r4   r.   Ú_exclusive_fpÚcloser   r   Ú_TileÚsizer6   ÚtileÚsuperÚload)r<   r\   Ú	__class__s     €r   rk   zWebPImageFile.load|   sÁ   ø€ ØŒ=˜DÔ0Ò0Ð0Ø�JŠJ�tÔ+Ñ,Ô,Ð,ð CGÇ.Â.ÑBRÔBRÑ?ˆD�$”)˜KÑ(¨$¬)°JÑ*?Ø Ô0ˆDŒMð Œwð  ˜4Ô-ð  Ø”—’‘”�Ý˜d‘m”mˆDŒGÝ"œ¨°¸¼Ñ0BÀAÀtÄ|ÑTÔTÐUˆDŒIå‰wŒw�|Š|‰~Œ~Ðr   Úposc                ó   — d S rK   © )r<   rm   s     r   Ú	load_seekzWebPImageFile.load_seekŒ   s   € Øˆr   c                ó   — | j         S rK   )rM   rF   s    r   ÚtellzWebPImageFile.tell�   s   € ØÔ#Ð#r   )r   r!   )r   rB   )rH   rI   r   r!   )T)r-   rP   r   r!   )r   rV   )r   rb   )rm   rI   r   r!   )r   rI   )Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionrT   rM   rA   rG   rO   r;   r_   ra   rk   rp   rr   Ú__classcell__)rl   s   @r   r   r   '   s÷   ø€ € € € € Ø€FØ%ÐØ€HØ€Oð!ð !ð !ð !ð>1ð 1ð 1ð 1ð
%ð %ð %ð %ðð ð ð ð ð)ð )ð )ð )ð*ð ð ð ðð ð ð ð ð ð ð ð ð ð$ð $ð $ð $ð $ð $ð $ð $r   r   ÚimúImage.Imagec                óT   — | j         dvr|                      | j        rdnd¦  «        } | S )N)r'   r   r   r   r   )ÚmodeÚconvertÚhas_transparency_data)ry   s    r   Ú_convert_framer   “   s2   € à	„wÐ-Ð-Ð-Ø�ZŠZ "Ô":ÐE˜˜ÀÑFÔFˆØ€Ir   r.   ú	IO[bytes]Úfilenameústr | bytesr!   c           
     óZ	  — | j                              ¦   «         }t          |                     dg ¦  «        ¦  «        }d}| g|z   D ]}|t	          |dd¦  «        z  }Œ|dk    rt          | ||¦  «         d S d}d|v r	|d         }ned| j        v r\| j        d         }t          |t          ¦  «        r:|  	                    ¦   «         }|r||dz  |dz   dz  …         \  }	}
}|	|
|df}n|||df}| j                              d	| j                             d	d¦  «        ¦  «        }| j                              d
d¦  «        }| j                              dd¦  «        }| j                              dd ¦  «        }| j                              dd ¦  «        }| j                              dd¦  «        }d}| j                              dd¦  «        }| j                              dd¦  «        }| j                              dd¦  «        }| j                              dd¦  «        }| j                              d¦  «        pd}| j                              dd¦  «        }t          |t          j        ¦  «        r|                     ¦   «         }| j                              dd¦  «        }|rd}|€|rdnd}|€|rdnd}t          |t          t          f¦  «        r,t          |¦  «        dk    st          d„ |D ¦   «         ¦  «        sd|› �}t!          |¦  «        ‚|\  }}}}|d z  |d!z  z  |d"z  z  |dz  z  }t#          j        | j        |||||||¦  «        }d} d}!|                      ¦   «         }"	 | g|z   D ]´}t	          |dd¦  «        }#t+          |#¦  «        D ]‘}$|                     |$¦  «         t/          |¦  «        }%|                     |%                     ¦   «         t5          |!¦  «        ||||¦  «         t          |t          t          f¦  «        r|!||          z  }!n|!|z  }!| dz  } Œ’Œµ	 |                      |"¦  «         n# |                      |"¦  «         w xY w|                     d t5          |!¦  «        |||d¦  «         |                     |||¦  «        }&|&€d#}t!          |¦  «        ‚|                     |&¦  «         d S )$NÚappend_imagesr   r5   r   )r   r   r   r   r&   é   r$   r^   r#   Úminimize_sizeFÚkminÚkmaxÚallow_mixedÚlosslessÚqualityéP   Úalpha_qualityéd   Úmethodr*   Ú r+   r,   é	   é   é   é   c              3  ó6   K  — | ]}d |cxk    odk     nc V — ŒdS )r   é   Nro   )Ú.0Úvs     r   ú	<genexpr>z_save_all.<locals>.<genexpr>Ó   s6   è è € Ð4Ð4 A�1˜�<�<’<�<˜C’<�<�<�<Ð4Ð4Ð4Ð4Ð4Ð4r   z:Background color is not an RGBA tuple clamped to (0-255): r%   r   r   ú1cannot write file as WebP (encoder returned None))ÚencoderinfoÚcopyÚlistÚgetÚgetattrÚ_saver4   Ú
isinstancerI   Ú
getpaletter   ÚExifÚtobytesÚtupleÚlenÚallÚOSErrorr   ÚWebPAnimEncoderrh   rr   ÚrangerO   r   ÚaddÚgetimÚroundÚassembleÚwrite)'ry   r.   r�   r›   r„   ÚtotalÚimsr&   ÚpaletteÚrÚgÚbr^   r#   r†   r‡   rˆ   r‰   ÚverboserŠ   r‹   r�   r�   r*   r+   r,   r[   Úbg_rÚbg_gÚbg_bÚbg_aÚencÚ	frame_idxr]   Úcur_idxÚnfrÚidxrH   r\   s'                                          r   Ú	_save_allrÀ   š   s  € Ø”.×%Ò%Ñ'Ô'€KÝ˜Ÿš¨¸"Ñ=Ô=Ñ>Ô>€Mð €EØˆt�mÑ#ð -ð -ˆØ•˜˜j¨!Ñ,Ô,Ñ,ˆˆØ�‚z€zÝˆb�"�hÑÔÐØˆà(4€JØ�{Ð"Ð"Ø  Ô.ˆ
ˆ
Ø	˜œÐ	 Ð	 Ø”W˜\Ô*ˆ
Ý�j¥#Ñ&Ô&ð 	Gð —m’m‘o”oˆGØð GØ! *¨q¡.°JÀ±NÀaÑ3GÐ"GÔH‘��1�aØ  A s˜^�
�
à(¨*°jÀ#ÐF�
àŒ~×!Ò! *¨b¬g¯kªk¸*ÀaÑ.HÔ.HÑIÔI€HØŒ>×Ò˜f aÑ(Ô(€DØ”N×&Ò& ¸Ñ>Ô>€MØŒ>×Ò˜f dÑ+Ô+€DØŒ>×Ò˜f dÑ+Ô+€DØ”.×$Ò$ ]°EÑ:Ô:€KØ€GØŒ~×!Ò! *¨eÑ4Ô4€HØŒn× Ò  ¨BÑ/Ô/€GØ”N×&Ò& ¸Ñ<Ô<€MØŒ^×Ò ¨!Ñ,Ô,€FØ”.×$Ò$ ]Ñ3Ô3Ð9°r€KØŒ>×Ò˜f bÑ)Ô)€DÝ�$�œ
Ñ#Ô#ð Ø�|Š|‰~Œ~ˆØ
Œ.×
Ò
˜U BÑ
'Ô
'€CØð Øˆð €|ØÐ#ˆqˆq !ˆØ€|ØÐ$ˆrˆr 1ˆõ �z¥D­% =Ñ1Ô1ðåˆz‰?Œ?˜aÒÐÝÐ4Ð4¨Ð4Ñ4Ô4Ñ4Ô4ð  ð XÈ:ÐWÐWˆÝ�c‰lŒlÐð (Ñ€Dˆ$��dØ˜"‘* ¨¡Ñ,°¸±	Ñ:¸dÀa¹iÑH€Jõ Ô
Ø
ŒØØØØØØØñ	ô 	€Cð €IØ€IØ�gŠg‰iŒi€GðØ�4˜-Ñ'ð 	ð 	ˆCå˜#˜z¨1Ñ-Ô-ˆCå˜S‘z”zð ð �Ø—’˜‘”�å& sÑ+Ô+�ð —’Ø—K’K‘M”MÝ˜)Ñ$Ô$ØØØ!Øñô ð õ ˜h­­u¨Ñ6Ô6ð *Ø ¨)Ô!4Ñ4�I�Ià Ñ)�IØ˜Q‘�	�	ð)ð		ð6 	�Š�ÑÔÐÐøˆ�Š�ÑÔÐÐøøøð ‡G‚GˆD•%˜	Ñ"Ô" H¨g°}ÀaÑHÔHÐHð �<Š<˜ T¨3Ñ/Ô/€DØ€|ØAˆÝ�c‰lŒlÐà‡H‚HˆT�N„N€N€N€Ns   ÍB;P+ Ð+Qc                óV  — | j                              dd¦  «        }| j                              dd¦  «        }| j                              dd¦  «        }| j                              d¦  «        pd}| j                              d	d
¦  «        }t          |t          j        ¦  «        r|                     ¦   «         }|                     d¦  «        r
|dd …         }| j                              dd¦  «        }| j                              dd¦  «        }	| j                              d¦  «        rdnd}
t          | ¦  «        } t          j	        |  
                    ¦   «         |t          |¦  «        t          |¦  «        ||	|
||¦	  «	        }|€d}t          |¦  «        ‚|                     |¦  «         d S )NrŠ   Fr‹   rŒ   r�   rŽ   r*   r�   r+   r   s   Exif  é   r,   r�   r”   Úexactr   r   rš   )r›   rž   r¡   r   r£   r¤   r   r   r   Ú
WebPEncoder¬   Úfloatr¨   r¯   )ry   r.   r�   rŠ   r‹   r�   r*   r+   r,   r�   rÃ   r\   r[   s                r   r    r      s�  € ØŒ~×!Ò! *¨eÑ4Ô4€HØŒn× Ò  ¨BÑ/Ô/€GØ”N×&Ò& ¸Ñ<Ô<€MØ”.×$Ò$ ]Ñ3Ô3Ð9°r€KØŒ>×Ò˜f cÑ*Ô*€DÝ�$�œ
Ñ#Ô#ð Ø�|Š|‰~Œ~ˆØ‡‚�Ñ'Ô'ð Ø�A�B�BŒxˆØ
Œ.×
Ò
˜U BÑ
'Ô
'€CØŒ^×Ò ¨!Ñ,Ô,€FØ”×#Ò# GÑ,Ô,Ð3ˆAˆA°!€Eå	˜Ñ	Ô	€BåÔØ
�Š‰
Œ
ØÝˆg‰ŒÝˆmÑÔØØØØØñ
ô 
€Dð €|ØAˆÝ�c‰lŒlÐà‡H‚HˆT�N„N€N€N€Nr   z.webpz
image/webpN)r   r   r   r   )ry   rz   r   rz   )ry   rz   r.   r€   r�   r‚   r   r!   )Ú
__future__r   Úior   r�   r   r   r   r   ÚImportErrorÚTYPE_CHECKINGÚtypingr	   r
   r   r   r   r   rÀ   r    Úregister_openrv   Úregister_saveÚregister_save_allÚregister_extensionÚregister_mimero   r   r   ú<module>rÐ      sâ  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ð Ð ðØÐÐÐÐÐà€I€IøØð ð ð Ø€I€I€Iðøøøð €Øð ØÐÐÐÐÐÐÐð ØØðð Ð ðð ð ð ði$ð i$ð i$ð i$ð i$�IÔ'ñ i$ô i$ð i$ðXð ð ð ðyð yð yð yðxð ð ð ðD €Ô �MÔ(¨-¸Ñ AÔ AÐ AØð <Ø€EÔ˜Ô,¨eÑ4Ô4Ð4Ø€EÔ˜MÔ0°)Ñ<Ô<Ð<Ø€EÔ˜]Ô1°7Ñ;Ô;Ð;Ø€EÔ˜Ô,¨lÑ;Ô;Ð;Ð;Ð;ð	<ð <s   – Ÿ)¨)