Ë
    ™2Úiª&  ã                   ó²  — d dl Z d dlZddlmZ 	 d dlmZ dZ e«       Zej                  e«        e j                  e«      Z G d„ d«      Z G d	„ d
e«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zi de“de“de“d e“d!e“d"e“d#e“d$e“d%e“d&e“d'e“d(e“d)e“d*e“d+e“d,e“d-e“Zej8                  d.k(  reed/<   eed0<   eed1<   eed2<   eed3<   need/<   eed0<   eed1<   eed2<   eed3<   d5d4„Zy# e	$ rZ
ddlmZ  ee
«      xZZY dZ
[
�Œ!dZ
[
ww xY w)6é    Né   )Ú	deprecate)ÚFFIz|
    struct Pixel_RGBA {
        unsigned char r,g,b,a;
    };
    struct Pixel_I16 {
        unsigned char l,r;
    };
    )ÚDeferredErrorc                   ó4   — e Zd Zdd„Zd„ Zd„ Zd„ ZeZeZd„ Z	y)ÚPyAccessc                 ó  — t        dd«       t        |j                  j                  «      }|| _        t
        j                  d|d   «      | _        t
        j                  d|d   «      | _        t
        j                  d|d   «      | _	        |j                  j                  \  | _        | _        || _        |j                  | _        | j                  j                  dv r|j                   | _        | j%                  «        y )	Nr   é   zunsigned char **Úimage8zint **Úimage32Úimage©ÚPÚPA)r   ÚdictÚimÚunsafe_ptrsÚreadonlyÚffiÚcastr   r   r   ÚsizeÚxsizeÚysizeÚ_imgÚ_imÚmodeÚpaletteÚ_paletteÚ
_post_init)ÚselfÚimgr   Úvalss       úC/var/www/html/acx/venv/lib/python3.12/site-packages/PIL/PyAccess.pyÚ__init__zPyAccess.__init__3   s¼   € Ü�*˜bÔ!Ü�C—F‘F×&Ñ&Ó'ˆØ ˆŒÜ—h‘hÐ1°4¸±>ÓBˆŒÜ—x‘x ¨$¨y©/Ó:ˆŒÜ—X‘XÐ0°$°w±-Ó@ˆŒ
Ø!$§¡§¡ÑˆŒ
�D”JØˆŒ	ð —6‘6ˆŒØ�8‰8�=‰=˜KÑ'ØŸK™KˆDŒMð
 	�‰Õó    c                  ó   — y ©N© )r    s    r#   r   zPyAccess._post_initG   s   € Ør%   c                 óB  — | j                   rd}t        |«      ‚|\  }}|dk  r| j                  |z   }|dk  r| j                  |z   }| j	                  ||f«      \  }}| j
                  j                  dv r™t        |t        t        f«      rƒt        |«      dv rv| j
                  j                  dk(  rt        |«      dk(  r|d   nd}|d	d }| j                  j                  || j                  «      }| j
                  j                  dk(  r|f}| j                  |||«      S )
a0  
        Modifies the pixel at x,y. The color is given as a single
        numerical value for single band images, and a tuple for
        multi-band images

        :param xy: The pixel coordinate, given as (x, y). See
           :ref:`coordinate-system`.
        :param color: The pixel value.
        z%Attempt to putpixel a read only imager   r   )é   é   r   r+   r*   éÿ   N)r   Ú
ValueErrorr   r   Úcheck_xyr   r   Ú
isinstanceÚlistÚtupleÚlenr   Úgetcolorr   Ú	set_pixel)r    ÚxyÚcolorÚmsgÚxÚyÚalphas          r#   Ú__setitem__zPyAccess.__setitem__J   s  € ð �=Š=Ø9ˆCÜ˜S“/Ð!Ø‰ˆˆAØˆqŠ5Ø—
‘
˜Q‘ˆAØˆqŠ5Ø—
‘
˜Q‘ˆAØ—‘  1˜vÓ&‰ˆˆAð �H‰H�M‰M˜[Ñ(Ü˜5¤4¬ -Ô0Ü�E“
˜fÑ$ð �x‰x�}‰} Ò$Ü$'¨£J°!¢O˜˜aš¸�Ø˜b˜q˜	�Ø—M‘M×*Ñ*¨5°$·)±)Ó<ˆEØ�x‰x�}‰} Ò$Ø ˜�à�~‰~˜a  EÓ*Ð*r%   c                 ó¬   — |\  }}|dk  r| j                   |z   }|dk  r| j                  |z   }| j                  ||f«      \  }}| j                  ||«      S )aq  
        Returns the pixel at x,y. The pixel is returned as a single
        value for single band images or a tuple for multiple band
        images

        :param xy: The pixel coordinate, given as (x, y). See
          :ref:`coordinate-system`.
        :returns: a pixel value for single band images, a tuple of
          pixel values for multiband images.
        r   )r   r   r.   Ú	get_pixel)r    r5   r8   r9   s       r#   Ú__getitem__zPyAccess.__getitem__m   s\   € ð ‰ˆˆAØˆqŠ5Ø—
‘
˜Q‘ˆAØˆqŠ5Ø—
‘
˜Q‘ˆAØ—‘  1˜vÓ&‰ˆˆAØ�~‰~˜a Ó#Ð#r%   c                 óˆ   — |\  }}d|cxk  r| j                   k  rn nd|cxk  r| j                  k  sn d}t        |«      ‚|S )Nr   zpixel location out of range)r   r   r-   )r    r5   r8   r9   r7   s        r#   r.   zPyAccess.check_xyƒ   s@   € Ø‰ˆˆAØ�QÔ#˜Ÿ™Õ#¨¨QÔ(;°·±Ô(;Ø/ˆCÜ˜S“/Ð!Øˆ	r%   N©F)
Ú__name__Ú
__module__Ú__qualname__r$   r   r;   r>   ÚputpixelÚgetpixelr.   r(   r%   r#   r   r   2   s(   „ óò(ò!+òF$ð& €HØ€Hór%   r   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)Ú_PyAccess32_2z7PA, LA, stored in first and last bytes of a 32 bit wordc                 óN   — t         j                  d| j                  «      | _        y ©Nzstruct Pixel_RGBA **©r   r   r   Úpixels©r    ÚargsÚkwargss      r#   r   z_PyAccess32_2._post_initŽ   ó   € Ü—h‘hÐ5°t·|±|ÓDˆ�r%   c                 óV   — | j                   |   |   }|j                  |j                  fS r'   )rK   ÚrÚa©r    r8   r9   Úpixels       r#   r=   z_PyAccess32_2.get_pixel‘   s'   € Ø—‘˜A‘˜qÑ!ˆØ�w‰w˜Ÿ™ÐÐr%   c                 óx   — | j                   |   |   }t        |d   d«      |_        t        |d   d«      |_        y )Nr   r,   r   )rK   ÚminrQ   rR   ©r    r8   r9   r6   rT   s        r#   r4   z_PyAccess32_2.set_pixel•   s8   € Ø—‘˜A‘˜qÑ!ˆä�e˜A‘h Ó$ˆŒÜ�e˜A‘h Ó$ˆ�r%   N©rA   rB   rC   Ú__doc__r   r=   r4   r(   r%   r#   rG   rG   ‹   s   „ ÙAòEò ó%r%   rG   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)Ú_PyAccess32_3zARGB and friends, stored in the first three bytes of a 32 bit wordc                 óN   — t         j                  d| j                  «      | _        y rI   rJ   rL   s      r#   r   z_PyAccess32_3._post_initŸ   rO   r%   c                 ól   — | j                   |   |   }|j                  |j                  |j                  fS r'   )rK   rQ   ÚgÚbrS   s       r#   r=   z_PyAccess32_3.get_pixel¢   s-   € Ø—‘˜A‘˜qÑ!ˆØ�w‰w˜Ÿ™ §¡Ð(Ð(r%   c                 ó®   — | j                   |   |   }t        |d   d«      |_        t        |d   d«      |_        t        |d   d«      |_        d|_        y )Nr   r,   r   é   ©rK   rV   rQ   r^   r_   rR   rW   s        r#   r4   z_PyAccess32_3.set_pixel¦   sQ   € Ø—‘˜A‘˜qÑ!ˆä�e˜A‘h Ó$ˆŒÜ�e˜A‘h Ó$ˆŒÜ�e˜A‘h Ó$ˆŒØˆ�r%   NrX   r(   r%   r#   r[   r[   œ   s   „ ÙKòEò)ór%   r[   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)Ú_PyAccess32_4z&RGBA etc, all 4 bytes of a 32 bit wordc                 óN   — t         j                  d| j                  «      | _        y rI   rJ   rL   s      r#   r   z_PyAccess32_4._post_init²   rO   r%   c                 ó‚   — | j                   |   |   }|j                  |j                  |j                  |j                  fS r'   )rK   rQ   r^   r_   rR   rS   s       r#   r=   z_PyAccess32_4.get_pixelµ   s3   € Ø—‘˜A‘˜qÑ!ˆØ�w‰w˜Ÿ™ §¡¨%¯'©'Ð1Ð1r%   c                 óÈ   — | j                   |   |   }t        |d   d«      |_        t        |d   d«      |_        t        |d   d«      |_        t        |d   d«      |_        y )Nr   r,   r   ra   r*   rb   rW   s        r#   r4   z_PyAccess32_4.set_pixel¹   s\   € Ø—‘˜A‘˜qÑ!ˆä�e˜A‘h Ó$ˆŒÜ�e˜A‘h Ó$ˆŒÜ�e˜A‘h Ó$ˆŒÜ�e˜A‘h Ó$ˆ�r%   NrX   r(   r%   r#   rd   rd   ¯   s   „ Ù0òEò2ó%r%   rd   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)Ú
_PyAccess8z%1, L, P, 8 bit images stored as uint8c                 ó&   — | j                   | _        y r'   )r   rK   rL   s      r#   r   z_PyAccess8._post_initÅ   s   € Ø—k‘kˆ�r%   c                 ó&   — | j                   |   |   S r'   ©rK   ©r    r8   r9   s      r#   r=   z_PyAccess8.get_pixelÈ   ó   € Ø�{‰{˜1‰~˜aÑ Ð r%   c                 óš   — 	 t        |d«      | j                  |   |<   y # t        $ r" t        |d   d«      | j                  |   |<   Y y w xY w)Nr,   r   ©rV   rK   Ú	TypeError©r    r8   r9   r6   s       r#   r4   z_PyAccess8.set_pixelË   sK   € ð	3ä # E¨3£ˆD�K‰K˜‰N˜1ÒøÜò 	3ä # E¨!¡H¨cÓ 2ˆD�K‰K˜‰N˜1Óð	3úó   ‚ Ÿ(A
Á	A
NrX   r(   r%   r#   ri   ri   Â   s   „ Ù/ò"ò!ó3r%   ri   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)Ú_PyAccessI16_Nz0I;16 access, native bitendian without conversionc                 óN   — t         j                  d| j                  «      | _        y )Nzunsigned short **©r   r   r   rK   rL   s      r#   r   z_PyAccessI16_N._post_init×   s   € Ü—h‘hÐ2°D·J±JÓ?ˆ�r%   c                 ó&   — | j                   |   |   S r'   rl   rm   s      r#   r=   z_PyAccessI16_N.get_pixelÚ   rn   r%   c                 óš   — 	 t        |d«      | j                  |   |<   y # t        $ r" t        |d   d«      | j                  |   |<   Y y w xY w)Néÿÿ  r   rp   rr   s       r#   r4   z_PyAccessI16_N.set_pixelÝ   sL   € ð	5ä # E¨5Ó 1ˆD�K‰K˜‰N˜1ÒøÜò 	5ä # E¨!¡H¨eÓ 4ˆD�K‰K˜‰N˜1Óð	5úrs   NrX   r(   r%   r#   ru   ru   Ô   s   „ Ù:ò@ò!ó5r%   ru   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)Ú_PyAccessI16_LzI;16L access, with conversionc                 óN   — t         j                  d| j                  «      | _        y ©Nzstruct Pixel_I16 **rw   rL   s      r#   r   z_PyAccessI16_L._post_inité   ó   € Ü—h‘hÐ4°d·j±jÓAˆ�r%   c                 ó^   — | j                   |   |   }|j                  |j                  dz  z   S ©Né   ©rK   ÚlrQ   rS   s       r#   r=   z_PyAccessI16_L.get_pixelì   s+   € Ø—‘˜A‘˜qÑ!ˆØ�w‰w˜Ÿ™ 3™Ñ&Ð&r%   c                 ó¦   — | j                   |   |   }	 t        |d«      }|dz  |_        |dz	  |_        y # t        $ r t        |d   d«      }Y Œ/w xY w)Nrz   r   r,   é   )rK   rV   rq   r„   rQ   rW   s        r#   r4   z_PyAccessI16_L.set_pixelð   s^   € Ø—‘˜A‘˜qÑ!ˆð	)Ü˜˜uÓ%ˆEð ˜$‘,ˆŒØ˜1‘*ˆ�øô	 ò 	)Ü˜˜a™ %Ó(ŠEð	)úó   ”5 µAÁANrX   r(   r%   r#   r|   r|   æ   s   „ Ù'òBò'ór%   r|   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)Ú_PyAccessI16_BzI;16B access, with conversionc                 óN   — t         j                  d| j                  «      | _        y r~   rw   rL   s      r#   r   z_PyAccessI16_B._post_initþ   r   r%   c                 ó^   — | j                   |   |   }|j                  dz  |j                  z   S r�   rƒ   rS   s       r#   r=   z_PyAccessI16_B.get_pixel  s+   € Ø—‘˜A‘˜qÑ!ˆØ�w‰w˜‰}˜uŸw™wÑ&Ð&r%   c                 ó¦   — | j                   |   |   }	 t        |d«      }|dz	  |_        |dz  |_        y # t        $ r t        |d   d«      }Y Œ/w xY w)Nrz   r   r†   r,   )rK   rV   Ú	Exceptionr„   rQ   rW   s        r#   r4   z_PyAccessI16_B.set_pixel  s^   € Ø—‘˜A‘˜qÑ!ˆð	)Ü˜˜uÓ%ˆEð ˜1‘*ˆŒØ˜$‘,ˆ�øô	 ò 	)Ü˜˜a™ %Ó(ŠEð	)úr‡   NrX   r(   r%   r#   r‰   r‰   û   s   „ Ù'òBò'ór%   r‰   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)Ú_PyAccessI32_Nz"Signed Int32 access, native endianc                 ó&   — | j                   | _        y r'   ©r   rK   rL   s      r#   r   z_PyAccessI32_N._post_init  ó   € Ø—l‘lˆ�r%   c                 ó&   — | j                   |   |   S r'   rl   rm   s      r#   r=   z_PyAccessI32_N.get_pixel  rn   r%   c                 ó(   — || j                   |   |<   y r'   rl   rr   s       r#   r4   z_PyAccessI32_N.set_pixel  s   € Ø!ˆ�‰�A‰�qÒr%   NrX   r(   r%   r#   r�   r�     s   „ Ù,ò#ò!ó"r%   r�   c                   ó(   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zy)Ú_PyAccessI32_Swapz,I;32L/B access, with byteswapping conversionc                 ó&   — | j                   | _        y r'   r‘   rL   s      r#   r   z_PyAccessI32_Swap._post_init   r’   r%   c                 óÒ   — t         j                  d|«      }t         j                  d|«      }|d   |d   |d   |d   f\  |d<   |d<   |d<   |d<   t         j                  d|«      d   S )Nzint *zunsigned char *r*   ra   r   r   )r   Únewr   )r    ÚiÚorigÚcharss       r#   Úreversez_PyAccessI32_Swap.reverse#  sq   € Ü�w‰w�w Ó"ˆÜ—‘Ð*¨DÓ1ˆØ16°q±¸5À¹8ÀUÈ1ÁXÈuÐUVÉxÐ1WÑ.ˆˆa‰�%˜‘(˜E !™H e¨A¡hÜ�x‰x˜ Ó'¨Ñ*Ð*r%   c                 óD   — | j                  | j                  |   |   «      S r'   ©r�   rK   rm   s      r#   r=   z_PyAccessI32_Swap.get_pixel)  s   € Ø�|‰|˜DŸK™K¨™N¨1Ñ-Ó.Ð.r%   c                 óF   — | j                  |«      | j                  |   |<   y r'   rŸ   rr   s       r#   r4   z_PyAccessI32_Swap.set_pixel,  s   € Ø ŸL™L¨Ó/ˆ�‰�A‰�qÒr%   N)rA   rB   rC   rY   r   r�   r=   r4   r(   r%   r#   r–   r–     s   „ Ù6ò#ò+ò/ó0r%   r–   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)Ú
_PyAccessFz32 bit float accessc                 óN   — t         j                  d| j                  «      | _        y )Nzfloat **rJ   rL   s      r#   r   z_PyAccessF._post_init3  s   € Ü—h‘h˜z¨4¯<©<Ó8ˆ�r%   c                 ó&   — | j                   |   |   S r'   rl   rm   s      r#   r=   z_PyAccessF.get_pixel6  rn   r%   c                 ór   — 	 || j                   |   |<   y # t        $ r |d   | j                   |   |<   Y y w xY w)Nr   )rK   rq   rr   s       r#   r4   z_PyAccessF.set_pixel9  s>   € ð	)à %ˆD�K‰K˜‰N˜1ÒøÜò 	)à % a¡ˆD�K‰K˜‰N˜1Óð	)ús   ‚ •6µ6NrX   r(   r%   r#   r¢   r¢   0  s   „ Ùò9ò!ó)r%   r¢   Ú1ÚLr   zI;16NÚLAÚLar   ÚRGBÚLABÚHSVÚYCbCrÚRGBAÚRGBaÚRGBXÚCMYKÚFÚIÚlittlezI;16zI;16LzI;16BzI;32LzI;32Bc                 óš   — t         j                  | j                  d «      }|s!t        j	                  d| j                  «       y  || |«      S )NzPyAccess Not Implemented: %s)Úmode_mapÚgetr   ÚloggerÚdebug)r!   r   Úaccess_types      r#   r™   r™   f  s<   € Ü—,‘,˜sŸx™x¨Ó.€KÙÜ�‰Ð3°S·X±XÔ>ØÙ�s˜HÓ%Ð%r%   r@   )ÚloggingÚsysÚ
_deprecater   Úcffir   Údefsr   ÚcdefÚImportErrorÚexÚ_utilr   Ú	getLoggerrA   r¸   r   rG   r[   rd   ri   ru   r|   r‰   r�   r–   r¢   r¶   Ú	byteorderr™   r(   r%   r#   ú<module>rÆ      s9  ðó, Û 
å !ð"Ýð€Dñ ‹%€CØ‡H�HˆT„Nð 
ˆ×	Ñ	˜8Ó	$€÷Vñ Vôr%�Hô %ô"�Hô ô&%�Hô %ô&3�ô 3ô$5�Xô 5ô$�Xô ô*�Xô ô*
"�Xô 
"ô0˜ô 0ô&)�ô )ð$Øˆðàˆðð ˆðð ˆ^ð	ð
 	ˆ-ðð 	ˆ-ðð 	ˆ-ðð 
ˆ=ðð 
ˆ=ðð 
ˆ=ðð ˆ]ðð ˆMðð ˆMðð ˆMðð ˆMðð  ˆð!ð" ˆð#€ð( ‡=�=�HÒØ%€HˆVÑØ&€HˆWÑØ&€HˆWÑà&€HˆWÑØ)€HˆWÒà%€HˆVÑØ&€HˆWÑØ&€HˆWÑà)€HˆWÑØ&€HˆWÑô&øð}	 ò "õ %á˜bÓ!Ð!€CŽ#ûð"ús   � D6 Ä6EÄ;EÅE