Ë
    ñEj-  ã                  óø  — d dl mZ d dlmZ ddlmZmZ 	 ddlmZ dZddddœZ
ddd	œZd
dddœZd„ Z G d„ dej                  «      Zd„ Zd„ Z ej"                  ej$                  ee«       er� ej&                  ej$                  e«       ej(                  r ej*                  ej$                  e«        ej,                  ej$                  d«        ej.                  ej$                  d«       yy# e	$ r dZY ŒÚw xY w)é    )Úannotations)ÚBytesIOé   )ÚImageÚ	ImageFile)Ú_webpTF)ÚRGBXÚRGBAÚRGB)r   r
   r   r
   )s   VP8 s   VP8Xs   VP8Lc                ó\   — | d d dk(  }| dd dk(  }| dd t         v }|r|r|r	t        s	 yyy y y )	Né   s   RIFFé   é   s   WEBPé   zEimage file could not be identified because WEBP support not installedT)Ú_VP8_MODES_BY_IDENTIFIERÚ	SUPPORTED)ÚprefixÚis_riff_file_formatÚis_webp_fileÚis_valid_vp8_modes       úV/var/www/html/peoplehubportal/venv/lib/python3.12/site-packages/PIL/WebPImagePlugin.pyÚ_acceptr      sX   € Ø   !˜*¨Ñ/ÐØ˜!˜B�< 7Ñ*€LØ˜r "˜Ô)AÐAÐá™|Ñ0AÝàWðð ð 1B˜|Ðó    c                  ój   ‡ — e Zd ZdZdZdZdZd„ Zd„ Zd„ Z	d„ Z
dd„Zd	„ Zd
„ Zˆ fd„Zd„ Zˆ fd„Zˆ xZS )ÚWebPImageFileÚWEBPz
WebP imager   c                óF  — t         j                  s¦t        j                  | j                  j	                  «       «      \  }}}| _        }}|r|| j                  d<   |r|| j                  d<   ||f| _        t        |«      | _        dd| j                  z   d| j                  fg| _        d| _        d| _        y t        j                  | j                  j	                  «       «      | _        | j                  j!                  «       \  }}}}}}	||f| _        || j                  d<   |d	z	  d
z  |dz	  d
z  |dz	  d
z  |d
z  f\  }
}}}||||
f| j                  d<   || _        | j                  dkD  | _        |	dk(  rdn|	| _        |	| _        g | _        | j                  j%                  d«      }| j                  j%                  d«      }| j                  j%                  d«      }|r|| j                  d<   |r|| j                  d<   |r|| j                  d<   | j'                  d¬«       y )NÚicc_profileÚexifÚraw©r   r   r   r   FÚloopé   éÿ   r   r   Ú
backgroundr	   r   ÚICCPÚEXIFzXMP Úxmp)Úreset)r   ÚHAVE_WEBPANIMÚ
WebPDecodeÚfpÚreadÚ_modeÚinfoÚ_sizer   ÚsizeÚmodeÚtileÚn_framesÚis_animatedÚWebPAnimDecoderÚ_decoderÚget_infoÚrawmodeÚ	get_chunkÚ_reset)ÚselfÚdataÚwidthÚheightr   r   Ú
loop_countÚbgcolorÚframe_countr2   Úbg_aÚbg_rÚbg_gÚbg_br(   s                  r   Ú_openzWebPImageFile._open-   s  € Ü×"Ò"äAF×AQÑAQØ—‘—‘“óBÑ>ˆD�%˜ ¤¨[¸$ñ Ø+6�—	‘	˜-Ñ(ÙØ$(�—	‘	˜&Ñ!Ø ˜ˆDŒJÜ˜d“mˆDŒGØ ¨$¯)©)Ñ!3°Q¸¿	¹	ÐBÐCˆDŒIØˆDŒMØ$ˆDÔØô ×-Ñ-¨d¯g©g¯l©l«nÓ=ˆŒð AEÇÁ×@VÑ@VÓ@XÑ=ˆˆv�z 7¨K¸Ø˜F�]ˆŒ
Ø&ˆ�	‰	�&Ñà˜‰]˜dÑ"Ø˜‰]˜dÑ"Ø˜‰\˜TÑ!Ø�d‰Nð	"
Ñˆˆd�D˜$ð $(¨¨t°TÐ":ˆ�	‰	�,ÑØ#ˆŒØŸ=™=¨1Ñ,ˆÔØ" fšn‘U°$ˆŒ
ØˆŒØˆŒ	ð —m‘m×-Ñ-¨fÓ5ˆØ�}‰}×&Ñ& vÓ.ˆØ�m‰m×%Ñ% fÓ-ˆÙØ'2ˆD�I‰I�mÑ$ÙØ $ˆD�I‰I�fÑÙØ"ˆD�I‰I�eÑð 	�‰˜%ˆÕ r   c                ó\   — d| j                   vry | j                  «       j                  «       S )Nr   )r/   ÚgetexifÚ_get_merged_dict©r<   s    r   Ú_getexifzWebPImageFile._getexifa   s&   € Ø˜Ÿ™Ñ"ØØ�|‰|‹~×.Ñ.Ó0Ð0r   c                ó^   — d| j                   v r| j                  | j                   d   «      S i S )z™
        Returns a dictionary containing the XMP tags.
        Requires defusedxml to be installed.

        :returns: XMP tags in a dictionary.
        r(   )r/   Ú_getxmprK   s    r   ÚgetxmpzWebPImageFile.getxmpf   s,   € ð 27¸$¿)¹)Ñ1Cˆt�|‰|˜DŸI™I eÑ,Ó-ÐKÈÐKr   c                ó6   — | j                  |«      sy || _        y ©N)Ú_seek_checkÚ_WebPImageFile__logical_frame©r<   Úframes     r   ÚseekzWebPImageFile.seeko   s   € Ø×Ñ Ô&Øð  %ˆÕr   c                óf   — |r| j                   j                  «        d| _        d| _        d| _        y )Nr   éÿÿÿÿ)r7   r)   Ú_WebPImageFile__physical_frameÚ_WebPImageFile__loadedÚ_WebPImageFile__timestamp)r<   r)   s     r   r;   zWebPImageFile._resetv   s,   € ÙØ�M‰M×ÑÔ!Ø !ˆÔØˆŒØˆÕr   c                ó
  — | j                   j                  «       }| xj                  dz  c_        |€.| j                  «        | j	                  d«       d}t        |«      ‚|\  }}|| j                  z
  }|| _        ||z  }|||fS )Nr   r   z(failed to decode next frame in WebP file)r7   Úget_nextrY   r;   rV   ÚEOFErrorr[   )r<   ÚretÚmsgr=   Ú	timestampÚdurations         r   Ú	_get_nextzWebPImageFile._get_next}   s‹   € à�m‰m×$Ñ$Ó&ˆØ×Ò Ñ"Õð ˆ;Ø�K‰KŒMØ�I‰I�aŒLØ<ˆCÜ˜3“-Ðð ‰ˆˆiØ˜t×/Ñ/Ñ/ˆØ$ˆÔð 	�XÑˆ	Ø�Y Ð(Ð(r   c                óÂ   — | j                   |k(  ry || j                   k  r| j                  «        | j                   |k  r!| j                  «        | j                   |k  rŒ y y rQ   )rY   r;   rc   rT   s     r   Ú_seekzWebPImageFile._seek’   sR   € Ø× Ñ  EÒ)ØØ�4×(Ñ(Ò(Ø�K‰KŒMØ×#Ñ# eÒ+Ø�N‰NÔð ×#Ñ# eÕ+r   c                óø  •— t         j                  rÜ| j                  | j                  k7  rÃ| j	                  | j                  «       | j                  «       \  }}}|| j                  d<   || j                  d<   | j                  | _        | j                  r&| j                  r| j                  j                  «        t        |«      | _        dd| j                  z   d| j                  fg| _        t        ‰| �=  «       S )Nra   rb   r    r!   r   )r   r*   rZ   rS   re   rc   r/   r,   Ú_exclusive_fpÚcloser   r1   r9   r3   ÚsuperÚload)r<   r=   ra   rb   Ú	__class__s       €r   rj   zWebPImageFile.loadš   sÃ   ø€ Ü×ÒØ�}‰} × 4Ñ 4Ò4Ø—
‘
˜4×/Ñ/Ô0ð -1¯N©NÓ,<Ñ)��i Ø)2�—	‘	˜+Ñ&Ø(0�—	‘	˜*Ñ%Ø $× 4Ñ 4�”ð —7’7˜t×1Ò1Ø—G‘G—M‘M”OÜ! $›-�”Ø# V¨d¯i©iÑ%7¸¸D¿L¹LÐIÐJ�”	ä‰w‰|‹~Ðr   c                 ó   — y rQ   © )r<   Úposs     r   Ú	load_seekzWebPImageFile.load_seek­   s   € Ør   c                óX   •— t         j                  st        ‰| �  «       S | j                  S rQ   )r   r*   ri   ÚtellrS   )r<   rk   s    €r   rq   zWebPImageFile.tell°   s$   ø€ Ü×"Ò"Ü‘7‘<“>Ð!à×#Ñ#Ð#r   )T)Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionrZ   rS   rG   rL   rO   rV   r;   rc   re   rj   ro   rq   Ú__classcell__)rk   s   @r   r   r   '   sQ   ø„ Ø€FØ%ÐØ€HØ€Oò2!òh1ò
Lò%óò)ò*ôò&÷$ð $r   r   c                ó(
  — | j                   j                  «       }t        |j                  dg «      «      }d}| g|z   D ]  }|t	        |dd«      z  }Œ |dk(  rt        | ||«       y d}d|v r|d   }n^d| j                  v rP| j                  d   }t        |t        «      r1| j                  «       }|r||dz  |dz   dz   \  }	}
}|	|
|df}n|||df}| j                   j                  d	| j                  j                  d	d«      «      }| j                   j                  d
d«      }| j                   j                  dd«      }| j                   j                  dd «      }| j                   j                  dd «      }| j                   j                  dd«      }d}| j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  d«      xs d}| j                   j                  dd«      }t        |t        j                  «      r|j                  «       }| j                   j                  dd«      }|rd}|€|rdnd}|€|rdnd}t        |t        t        f«      r t        |«      dk7  st        d„ |D «       «      sd|› �}t!        |«      ‚|\  }}}}|d z  |d!z  z  |d"z  z  |dz  z  }t#        j$                  | j&                  d   | j&                  d   |||||||«	      }d} d}!| j)                  «       }"	 | g|z   D �]C  }t	        |dd«      }#t+        |#«      D �]$  }$|j-                  |$«       |j/                  «        |}%|j0                  }&|j0                  t2        vrdd#|j0                  v xs= d$|j0                  v xs- |j0                  d%k(  xr d#|j4                  j7                  «       v }'|'rd&nd'}&|j9                  |&«      }%|&d'k(  rd(}&|j;                  |%j                  d)|&«      t=        |!«      |%j&                  d   |%j&                  d   |&||||«	       t        |t        t        f«      r	|!||    z  }!n|!|z  }!| dz  } �Œ' �ŒF 	 | j-                  |"«       |j;                  d t=        |!«      ddd|||d«	       |j?                  |||«      }(|(€d*}t!        |«      ‚|jA                  |(«       y # | j-                  |"«       w xY w)+NÚappend_imagesr   r4   r   )r   r   r   r   r%   é   r$   rb   r"   Úminimize_sizeFÚkminÚkmaxÚallow_mixedÚlosslessÚqualityéP   Úalpha_qualityéd   Úmethodr   Ú r   r(   é	   é   é   r   c              3  ó<   K  — | ]  }d |cxk  xr dk  nc –— Œ y­w)r   é   Nrm   )Ú.0Úvs     r   ú	<genexpr>z_save_all.<locals>.<genexpr>ð   s   è ø€ Ò4 A�1˜–<˜C—<�<Ñ4ùs   ‚z:Background color is not an RGBA tuple clamped to (0-255): r#   r   r   ÚAÚaÚPr
   r   r	   r    ú1cannot write file as WebP (encoder returned None))!ÚencoderinfoÚcopyÚlistÚgetÚgetattrÚ_saver/   Ú
isinstanceÚintÚ
getpaletter   ÚExifÚtobytesÚtupleÚlenÚallÚOSErrorr   ÚWebPAnimEncoderr1   rq   ÚrangerV   rj   r2   Ú_VALID_WEBP_MODESÚimÚgetpalettemodeÚconvertÚaddÚroundÚassembleÚwrite))r¤   r,   Úfilenamer’   ry   ÚtotalÚimsr%   ÚpaletteÚrÚgÚbrb   r"   r{   r|   r}   r~   Úverboser   r€   r‚   r„   r   r   r(   r`   rD   rE   rF   rC   ÚencÚ	frame_idxra   Úcur_idxÚnfrÚidxrU   r9   Úalphar=   s)                                            r   Ú	_save_allr¹   ·   sþ  € Ø—.‘.×%Ñ%Ó'€KÜ˜Ÿ™¨¸"Ó=Ó>€Mð €EØˆt�mÑ#ò -ˆØ”˜˜j¨!Ó,Ñ,‰ð-à�‚zÜˆb�"�hÔØà€JØ�{Ñ"Ø  Ñ.‰
Ø	˜Ÿ™Ñ	 Ø—W‘W˜\Ñ*ˆ
Ü�j¤#Ô&ð —m‘m“oˆGÙØ! *¨q¡.°JÀ±NÀaÑ3GÐH‘��1�aØ  A s˜^‘
à(¨*°jÀ#ÐF�
à�~‰~×!Ñ! *¨b¯g©g¯k©k¸*ÀaÓ.HÓI€HØ�>‰>×Ñ˜f aÓ(€DØ—N‘N×&Ñ& ¸Ó>€MØ�>‰>×Ñ˜f dÓ+€DØ�>‰>×Ñ˜f dÓ+€DØ—.‘.×$Ñ$ ]°EÓ:€KØ€GØ�~‰~×!Ñ! *¨eÓ4€HØ�n‰n× Ñ  ¨BÓ/€GØ—N‘N×&Ñ& ¸Ó<€MØ�^‰^×Ñ ¨!Ó,€FØ—.‘.×$Ñ$ ]Ó3Ò9°r€KØ�>‰>×Ñ˜f bÓ)€DÜ�$œŸ
™
Ô#Ø�|‰|‹~ˆØ
�.‰.×
Ñ
˜U BÓ
'€CÙØˆð €|Ù‰q !ˆØ€|Ù‰r 1ˆô �z¤D¬% =Ô1Üˆz‹?˜aÒÜÑ4¨Ô4Ô4àJÈ:È,ÐWˆÜ�c‹lÐð (Ñ€Dˆ$��dØ˜"‘* ¨¡Ñ,°¸±	Ñ:¸dÀa¹iÑH€Jô ×
Ñ
Ø
�‰�‰
Ø
�‰�‰
ØØØØØØØó
€Cð €IØ€IØ�g‰g‹i€Gð.Ø�4˜-Ñ'ó *	ˆCä˜#˜z¨1Ó-ˆCä˜S“zó &�Ø—‘˜”Ø—‘”
ð �ØŸ(™(�Ø—8‘8Ô#4Ñ4à˜sŸx™x˜ò PØ #§(¡(˜?òPàŸH™H¨™OÒN°°s·v±v×7LÑ7LÓ7NÐ0Nð ñ
 ).™f°5�GØŸK™K¨Ó0�Eà˜eÒ#à$�Gð —‘Ø—M‘M %¨Ó1Ü˜)Ó$Ø—J‘J˜q‘MØ—J‘J˜q‘MØØØØ!Øô
ô ˜h¬¬u¨Ô6Ø ¨)Ñ!4Ñ4‘Ià Ñ)�IØ˜Q‘’	òM&ñ	*	ðZ 	�‰�Ôð ‡G�GˆD”%˜	Ó" A q¨"¨h¸ÀÐPQÔRð �<‰<˜ T¨3Ó/€DØ€|ØAˆÜ�c‹lÐà‡H�HˆT…Nøð 	�‰�Õús   Í	ES> Ó>Tc                óº  — | j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  d«      xs d}| j                   j                  d	d
«      }t        |t        j                  «      r|j                  «       }|j                  d«      r|dd  }| j                   j                  dd«      }| j                   j                  dd«      }	| j                   j                  d«      rdnd}
| j                  t        vr| j                  | j                  rdnd«      } t        j                  | j                  «       | j                  d   | j                  d   |t        |«      t        |«      | j                  ||	|
||«      }|€d}t        |«      ‚|j!                  |«       y )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œ   Ú
startswithr2   Ú_VALID_WEBP_LEGACY_MODESr¦   Úhas_transparency_datar   Ú
WebPEncoder1   Úfloatr    rª   )r¤   r,   r«   r   r€   r‚   r   r   r(   r„   r¼   r=   r`   s                r   r—   r—   F  s„  € Ø�~‰~×!Ñ! *¨eÓ4€HØ�n‰n× Ñ  ¨BÓ/€GØ—N‘N×&Ñ& ¸Ó<€MØ—.‘.×$Ñ$ ]Ó3Ò9°r€KØ�>‰>×Ñ˜f cÓ*€DÜ�$œŸ
™
Ô#Ø�|‰|‹~ˆØ‡��Ô'Ø�A�BˆxˆØ
�.‰.×
Ñ
˜U BÓ
'€CØ�^‰^×Ñ ¨!Ó,€FØ—‘×#Ñ# GÔ,‰A°!€Eà	‡w�wÔ.Ñ.Ø�Z‰Z "×":Ò":™ÀÓFˆä×ÑØ
�
‰
‹Ø
�‰�‰
Ø
�‰�‰
ØÜˆg‹ÜˆmÓØ
�‰ØØØØØó€Dð €|ØAˆÜ�c‹lÐà‡H�HˆT…Nr   z.webpz
image/webpN)Ú
__future__r   Úior   r…   r   r   r   r   ÚImportErrorr£   r¾   r   r   r   r¹   r—   Úregister_openru   Úregister_saver*   Úregister_save_allÚregister_extensionÚregister_mimerm   r   r   ú<module>rÊ      s  ðÝ "å ç ðÝà€Ið
 "¨4¸Ñ=Ð à#'°Ñ6Ð ð ØØñÐ ò
ôM$�I×'Ñ'ô M$ò`Lò^#ðL €× Ñ �M×(Ñ(¨-¸Ô AÙØ€E×Ñ˜×,Ñ,¨eÔ4Ø×ÒØˆ×Ñ × 4Ñ 4°iÔ@Ø€E×Ñ˜]×1Ñ1°7Ô;Ø€E×Ñ˜×,Ñ,¨lÕ;ð øðE ò Ø‚Iðús   –C/ Ã/C9Ã8C9