§
    Å‡tjfz  ã                  ód  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
ddlmZ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 d
Zerd dlmZmZ ddlmZ dÎd„ZdÎd„ZdÎd„Z dÎd„Z!dÎd„Z"i ddde!f“ddde!f“ddd e!f“d!d"d#e!f“d$d%d&ef“d'd(d)e!f“d*d+d,e!f“d-d.d/e!f“d0d1“d2d3d4e!f“d5d6d7e!f“d8d9d:e!f“d;d<d=ef“d>d?d@e!f“dAdBdCe!f“dDdEdFe!f“dGdH“i dIdJ“dKdL“dMdN“dOdP“dQdR“dSdT“dUdV“dWdX“dYdZ“d[d\d]ef“d^d_d`e"f“dadbdcef“dddedfef“dgdhdie!f“djdkdlef“dmdndoef“dpdqdref“¥i dsdtduef“dvdwdxef“dydzd{ef“d|d}d~ef“dd€d�ef“d‚dƒd„ef“d…d†d‡ef“dˆd‰dŠef“d‹dŒd�ef“dŽd�d�ef“d‘d’d“ef“d”d•d–ef“d—d˜d™ef“dšd›dœef“d�dž“dŸd “d¡d¢“¥d£d¤d¥d¦d§d¨d©dªd«d¬d­d®d¯e fd°œ¥Z#dÏd´„Z$ G dµ„ dej        ¦  «        Z%dÐd·„Z&dÐd¸„Z'd¹d¹dºdºd»d¼d½œZ(d¾Z)d dd¿dÀœZ*dÑdÃ„Z+dÒdÈ„Z,	 dÓdÔdË„Z- ej.        e%j/        e-e$¦  «          ej0        e%j/        e,¦  «          ej1        e%j/        g dÌ¢¦  «          ej2        e%j/        dÍ¦  «         dS )Õé    )ÚannotationsNé   )ÚImageÚ	ImageFile)Úi16be)Úi32be)Úo8)Úo16be)ÚpresetsF)ÚIOÚAny©ÚMpoImageFileÚselfÚJpegImageFileÚmarkerÚintÚreturnÚNonec                ó    — | j         €J ‚t          | j                              d¦  «        ¦  «        dz
  }t          j        | j         |¦  «         d S )Né   )ÚfpÚi16Úreadr   Ú
_safe_read)r   r   Úns      úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/PIL/JpegImagePlugin.pyÚSkipr   ?   sI   € ØŒ7ÐÐÐÝˆDŒG�LŠL˜‰OŒOÑÔ˜qÑ €AÝÔ˜œ !Ñ$Ô$Ð$Ð$Ð$ó    c                ó„  — | j         €J ‚t          | j                              d¦  «        ¦  «        dz
  }t          j        | j         |¦  «        }d|dz  › �}|| j        |<   | j                             ||f¦  «         |dk    rÏ|                     d¦  «        rºt          |d¦  «        x| j	        d<   }t          |d¦  «        | j	        d	<   	 |d
         }t          |d¦  «        t          |d¦  «        f}|dk    r|| j	        d<   n'|dk    r!t          d„ |D ¦   «         ¦  «        | j	        d<   || j	        d<   || j	        d<   d S # t          $ r Y d S w xY w|dk    rm|                     d¦  «        rXd| j	        v r| j	        dxx         |dd …         z  cc<   d S || j	        d<   | j                              ¦   «         |z
  dz   | _        d S |dk    r;|                     d¦  «        r&|                     dd¦  «        d         | j	        d<   d S |dk    r!|                     d¦  «        r|| j	        d<   d S |dk    r1|                     d¦  «        r| j                             |¦  «         d S |dk    �r%|                     d¦  «        �rd}| j	                             d i ¦  «        }		 |||d!z   …         d"k    rÈ|d!z  }t          ||¦  «        }
|dz  }||         }|d|z   z  }||dz  z  }t%          ||¦  «        }|d!z  }||||z   …         }|
d#k    rIt%          |d$¦  «        d%z  t          |d!¦  «        t%          |d¦  «        d%z  t          |d&¦  «        d'œ|	|
<   n||	|
<   ||z  }||dz  z  }|||d!z   …         d"k    °Æd S d S # t&          j        $ r Y d S w xY w|d(k    rS|                     d)¦  «        r>t          |d¦  «        | j	        d*<   	 |d+         }|| j	        d,<   d S # t*          $ r Y d S w xY w|dk    rP|                     d-¦  «        r=|d!d …         | j	        d.<   | j                              ¦   «         |z
  d!z   | j	        d/<   d S d S d S )0Nr   ÚAPPé   éàÿ  s   JFIFé   Újfifé   Újfif_versioné   é   é
   r   Údpic              3  ó    K  — | ]	}|d z  V — Œ
dS )çR¸…ëQ@N© )Ú.0Úds     r   ú	<genexpr>zAPP.<locals>.<genexpr>b   s&   è è € Ð(HÐ(H°a¨¨T©Ð(HÐ(HÐ(HÐ(HÐ(HÐ(Hr   Ú	jfif_unitÚjfif_densityéáÿ  s   Exif  Úexifé   ó   http://ns.adobe.com/xap/1.0/ ó    Úxmpéâÿ  s   FPXR Úflashpixó   ICC_PROFILE éíÿ  s   Photoshop 3.0 é   Ú	photoshopé   s   8BIMií  r   i   é   )ÚXResolutionÚDisplayedUnitsXÚYResolutionÚDisplayedUnitsYéîÿ  s   AdobeÚadobeé   Úadobe_transforms   MPF ÚmpÚmpoffset)r   r   r   r   r   ÚappÚapplistÚappendÚ
startswithÚinfoÚdivmodÚtupleÚ	ExceptionÚtellÚ_exif_offsetÚsplitÚicclistÚ
setdefaultÚi32ÚstructÚerrorÚ
IndexError)r   r   r   ÚsrL   Úversionr2   r3   Úoffsetr?   ÚcodeÚname_lenÚsizeÚdatarI   s                  r   r!   r!   E   s	  € ð
 Œ7ÐÐÐÝˆDŒG�LŠL˜‰OŒOÑÔ˜qÑ €AÝÔ˜TœW aÑ(Ô(€Aà
�˜‘Ð
Ð
€Cà€D„HˆS�MØ„L×Ò˜˜a˜Ñ!Ô!Ð!à�ÒÐ˜AŸLšL¨Ñ1Ô1Ðå&)¨!¨Q¡i¤iÐ/ˆŒ	�&Ñ˜GÝ$*¨7°CÑ$8Ô$8ˆŒ	�.Ñ!ð	5Ø˜!œˆIÝ˜q !™9œ9¥c¨!¨R¡j¤jÐ0ˆLð ˜AŠ~ˆ~Ø#/�”	˜%Ñ Ð Ø˜a’�å#(Ð(HÐ(H¸<Ð(HÑ(HÔ(HÑ#HÔ#H�”	˜%Ñ Ø%.ˆDŒI�kÑ"Ø(4ˆDŒI�nÑ%Ð%Ð%øõ ð 	ð 	ð 	ØˆDˆDð	øøøð 
�6Ò	Ð	˜aŸlšl¨;Ñ7Ô7Ð	à�T”YÐÐØŒI�fÐÐÔ  1 2 2¤Ñ&ÐÐÑÐÐà !ˆDŒI�fÑØ $¤§¢¡¤°Ñ 2°QÑ 6ˆDÔÐÐØ	�6Ò	Ð	˜aŸlšlÐ+NÑOÔOÐ	ØŸ7š7 7¨AÑ.Ô.¨qÔ1ˆŒ	�%ÑÐÐØ	�6Ò	Ð	˜aŸlšl¨9Ñ5Ô5Ð	à !ˆŒ	�*ÑÐÐØ	�6Ò	Ð	˜aŸlšlÐ+;Ñ<Ô<Ð	ð 	Œ×Ò˜AÑÔÐÐÐØ	�6Ò	Ñ	˜aŸlšlÐ+?Ñ@Ô@Ñ	àˆØ”I×(Ò(¨°bÑ9Ô9ˆ	ð	Ø�F˜V a™ZÐ'Ô(¨GÒ3Ð3Ø˜!‘�å˜1˜f‘~”~�Ø˜!‘�à˜Vœ9�à˜!˜h™,Ñ&�Ø˜& 1™*Ñ$�å˜1˜f‘~”~�Ø˜!‘�Ø˜ &¨4¡-Ð/Ô0�Ø˜6’>�>å'*¨4°¡|¤|°eÑ';Ý+.¨t°Q©<¬<Ý'*¨4°¡|¤|°eÑ';Ý+.¨t°R©=¬=ð	'ð '�I˜d‘O�Oð '+�I˜d‘OØ˜$‘�Ø˜& 1™*Ñ$�ð1 �F˜V a™ZÐ'Ô(¨GÒ3Ð3Ð3Ð3Ð3Ð3øõ2 Œ|ð 	ð 	ð 	ØˆDˆDð	øøøð 
�6Ò	Ð	˜aŸlšl¨8Ñ4Ô4Ð	Ý   A™YœYˆŒ	�'Ñð	;Ø œeˆOð ,;ˆDŒIÐ'Ñ(Ð(Ð(øõ ð 	ð 	ð 	ØˆDˆDð	øøøð 
�6Ò	Ð	˜aŸlšl¨8Ñ4Ô4Ð	à˜A˜B˜Bœ%ˆŒ	�$‰ð !%¤§¢¡¤°Ñ 2°QÑ 6ˆŒ	�*ÑÐÐð 
Ð	Ð	Ð	s7   Ã
(E  Å 
EÅEÊCM9 Í9NÎNÏO Ï
O%Ï$O%c                ó   — | j         €J ‚t          | j                              d¦  «        ¦  «        dz
  }t          j        | j         |¦  «        }|| j        d<   || j        d<   | j                             d|f¦  «         d S )Nr   ÚcommentÚCOM)	r   r   r   r   r   rP   rL   rM   rN   )r   r   r   r]   s       r   rf   rf   °   s{   € ð Œ7ÐÐÐÝˆDŒG�LŠL˜‰OŒOÑÔ˜qÑ €AÝÔ˜TœW aÑ(Ô(€Aà€D„IˆiÑØ€D„HˆU�OØ„L×Ò˜ ˜
Ñ#Ô#Ð#Ð#Ð#r   c                ó^  — | j         €J ‚t          | j                              d¦  «        ¦  «        dz
  }t          j        | j         |¦  «        }t          |d¦  «        t          |d¦  «        f| _        | j        �| j        | j        j        k    rd | _        |d         | _	        | j	        dk    rd| j	        › d�}t          |¦  «        ‚|d         | _        | j        dk    rd	| _        n@| j        dk    rd
| _        n-| j        dk    rd| _        nd| j        › d�}t          |¦  «        ‚|dv rdx| j        d<   | j        d<   | j        r|| j                             ¦   «          | j        d         d         t!          | j        ¦  «        k    r'd„ | j        D ¦   «         }d                     |¦  «        }nd }|| j        d<   g | _        t%          dt!          |¦  «        d¦  «        D ]K}|||dz   …         }| j                             |d         |d         dz  |d         dz  |d         f¦  «         ŒLd S )Nr   é   r   r   r)   zcannot handle z-bit layersr$   ÚLÚRGBr@   ÚCMYKz-layer images)éÂÿ  éÆÿ  éÊÿ  éÎÿ  ÚprogressiveÚprogressioné   c                ó"   — g | ]}|d d…         ‘ŒS )r>   Nr.   )r/   Úps     r   ú
<listcomp>zSOF.<locals>.<listcomp>â   s    € Ð4Ð4Ð4 !�q˜˜˜”vÐ4Ð4Ð4r   r   Úicc_profiler6   é   r"   )r   r   r   r   r   Ú_sizeÚ_imrb   ÚimÚbitsÚSyntaxErrorÚlayersÚ_moderP   rW   ÚsortÚlenÚjoinÚrangeÚlayerrN   )	r   r   r   r]   ÚmsgÚprofilerv   ÚiÚts	            r   ÚSOFrˆ   ¼   s:  € ð Œ7ÐÐÐÝˆDŒG�LŠL˜‰OŒOÑÔ˜qÑ €AÝÔ˜TœW aÑ(Ô(€AÝ�Q˜‘”�C  1™IœIÐ%€D„JØ„xÐ ¤	¨T¬W¬\Ò 9Ð 9ØˆŒà�!”€D„IØ„y�A‚~€~Ø5˜tœyÐ5Ð5Ð5ˆÝ˜#ÑÔÐà�A”$€D„KØ„{�aÒÐØˆŒ
ˆ
Ø	Œ˜Ò	Ð	ØˆŒ
ˆ
Ø	Œ˜Ò	Ð	ØˆŒ
ˆ
à9˜tœ{Ð9Ð9Ð9ˆÝ˜#ÑÔÐàÐ1Ð1Ð1Ø>?Ð?ˆŒ	�-Ñ  4¤9¨]Ñ#;à„|ð 	àŒ×ÒÑÔÐØŒ<˜Œ?˜2Ô¥# d¤lÑ"3Ô"3Ò3Ð3Ø4Ð4 t¤|Ð4Ñ4Ô4ˆGØŸ(š( 7Ñ+Ô+ˆKˆKàˆKØ#.ˆŒ	�-Ñ ØˆŒå�1•c˜!‘f”f˜aÑ Ô ð ?ð ?ˆØˆa�!�a‘%ˆiŒLˆàŒ
×Ò˜1˜Qœ4  1¤¨¡¨Q¨q¬T°B©Y¸¸!¼Ð=Ñ>Ô>Ð>Ð>ð?ð ?r   c                óR  ‡— | j         €J ‚t          | j                              d¦  «        ¦  «        dz
  }t          j        | j         |¦  «        }t          |¦  «        rÉ|d         }|dz  dk    rdnd}d|dz  z   }t          |¦  «        |k     rd}t          |¦  «        ‚t          j        |dk    rdnd|d|…         ¦  «        Št          j	        d	k    r|dk    r‰ 
                    ¦   «          ˆfd
„t          D ¦   «         | j        |dz  <   ||d …         }t          |¦  «        °Çd S d S )Nr   r   rw   r   é@   zbad quantization table markerÚBÚHÚlittlec                ó    •— g | ]
}‰|         ‘ŒS r.   r.   )r/   r†   rc   s     €r   ru   zDQT.<locals>.<listcomp>  s   ø€ Ð$CÐ$CÐ$C° T¨!¤WÐ$CÐ$CÐ$Cr   r"   )r   r   r   r   r   r€   r|   ÚarrayÚsysÚ	byteorderÚbyteswapÚzigzag_indexÚquantization)	r   r   r   r]   ÚvÚ	precisionÚ	qt_lengthr„   rc   s	           @r   ÚDQTr˜   ï   s@  ø€ ð Œ7ÐÐÐÝˆDŒG�LŠL˜‰OŒOÑÔ˜qÑ €AÝÔ˜TœW aÑ(Ô(€AÝ
ˆa‰&Œ&ð ØˆaŒDˆØ˜r™' Qš,˜,�A�A¨Qˆ	Ø˜	 B™Ñ&ˆ	Ýˆq‰6Œ6�IÒÐØ1ˆCÝ˜cÑ"Ô"Ð"ÝŒ{ )¨q¢. .˜3˜3°c¸1¸Q¸y¸[¼>ÑJÔJˆÝŒ=˜HÒ$Ð$¨°Qª¨Ø�MŠM‰OŒOˆOØ$CÐ$CÐ$CÐ$CµlÐ$CÑ$CÔ$CˆÔ˜!˜b™&Ñ!ØˆiˆjˆjŒMˆõ ˆa‰&Œ&ð ð ð ð ð r   iÀÿ  ÚSOF0zBaseline DCTiÁÿ  ÚSOF1zExtended Sequential DCTrl   ÚSOF2zProgressive DCTiÃÿ  ÚSOF3zSpatial losslessiÄÿ  ÚDHTzDefine Huffman tableiÅÿ  ÚSOF5zDifferential sequential DCTrm   ÚSOF6zDifferential progressive DCTiÇÿ  ÚSOF7zDifferential spatialiÈÿ  )ÚJPGÚ	ExtensionNiÉÿ  ÚSOF9zExtended sequential DCT (AC)rn   ÚSOF10zProgressive DCT (AC)iËÿ  ÚSOF11zSpatial lossless DCT (AC)iÌÿ  ÚDACz%Define arithmetic coding conditioningiÍÿ  ÚSOF13z Differential sequential DCT (AC)ro   ÚSOF14z!Differential progressive DCT (AC)iÏÿ  ÚSOF15zDifferential spatial (AC)iÐÿ  )ÚRST0z	Restart 0NiÑÿ  )ÚRST1z	Restart 1NiÒÿ  )ÚRST2z	Restart 2NiÓÿ  )ÚRST3z	Restart 3NiÔÿ  )ÚRST4z	Restart 4NiÕÿ  )ÚRST5z	Restart 5NiÖÿ  )ÚRST6z	Restart 6Ni×ÿ  )ÚRST7z	Restart 7NiØÿ  )ÚSOIzStart of imageNiÙÿ  )ÚEOIzEnd of imageNéÚÿ  ÚSOSzStart of scaniÛÿ  r˜   zDefine quantization tableiÜÿ  ÚDNLzDefine number of linesiÝÿ  ÚDRIzDefine restart intervaliÞÿ  ÚDHPzDefine hierarchical progressionißÿ  ÚEXPzExpand reference componentr#   ÚAPP0zApplication segment 0r4   ÚAPP1zApplication segment 1r:   ÚAPP2zApplication segment 2iãÿ  ÚAPP3zApplication segment 3iäÿ  ÚAPP4zApplication segment 4iåÿ  ÚAPP5zApplication segment 5iæÿ  ÚAPP6zApplication segment 6içÿ  ÚAPP7zApplication segment 7ièÿ  ÚAPP8zApplication segment 8iéÿ  ÚAPP9zApplication segment 9iêÿ  ÚAPP10zApplication segment 10iëÿ  ÚAPP11zApplication segment 11iìÿ  ÚAPP12zApplication segment 12r=   ÚAPP13zApplication segment 13rF   ÚAPP14zApplication segment 14iïÿ  ÚAPP15zApplication segment 15iðÿ  )ÚJPG0zExtension 0Niñÿ  )ÚJPG1zExtension 1Niòÿ  )ÚJPG2zExtension 2N)ÚJPG3zExtension 3N)ÚJPG4zExtension 4N)ÚJPG5zExtension 5N)ÚJPG6zExtension 6N)ÚJPG7zExtension 7N)ÚJPG8zExtension 8N)ÚJPG9zExtension 9N)ÚJPG10zExtension 10N)ÚJPG11zExtension 11N)ÚJPG12zExtension 12N)ÚJPG13zExtension 13Nrf   ÚComment)ióÿ  iôÿ  iõÿ  iöÿ  i÷ÿ  iøÿ  iùÿ  iúÿ  iûÿ  iüÿ  éýÿ  iþÿ  ÚprefixÚbytesÚboolc                ó,   — |                       d¦  «        S )Ns   ÿØÿ)rO   )rÚ   s    r   Ú_acceptrÞ   N  s   € à×Ò˜_Ñ-Ô-Ð-r   c                  ól   ‡ — e Zd ZdZdZdd„Zdˆ fd„Zdˆ fd	„Zdd„Zdd„Z	dd„Z
dd„Zdd„Zdd„Zˆ xZS )r   ÚJPEGzJPEG (ISO 10918)r   r   c                ór  — | j         €J ‚| j                              d¦  «        }t          |¦  «        sd}t          |¦  «        ‚d}dx| _        | _        d| _        g | _        i | _        i | _	        i | _
        i | _        g | _        g | _        	 |d         }|dk    r-|| j                              d¦  «        z   }t          |¦  «        }n| j                              d¦  «        }ŒW|t          v r|t          |         \  }}}|� || |¦  «         |dk    r<| j        }| j        d	k    rd
}t#          j        dd| j        z   d|df¦  «        g| _        nV| j                              d¦  «        }n9|dv rd}n2|dk    r| j                              d¦  «        }nd}t          |¦  «        ‚�Œ|                      ¦   «          d S )Nrh   znot a JPEG fileó   ÿr   Téÿ   r   r´   rk   úCMYK;IÚjpeg©r   r   Ú >   éÿÿ  r   i ÿ  zno marker found)r   r   rÞ   r|   r{   r}   rU   rƒ   Ú_huffman_dcÚ_huffman_acr”   rL   rM   rW   r   ÚMARKERÚmoder   Ú_Tilerb   ÚtileÚ_read_dpi_from_exif)r   r]   r„   r†   ÚnameÚdescriptionÚhandlerÚrawmodes           r   Ú_openzJpegImageFile._open[  sÙ  € ØŒwÐ"Ð"Ð"ØŒG�LŠL˜‰OŒOˆå�q‰zŒzð 	#Ø#ˆCÝ˜cÑ"Ô"Ð"Øˆð #$Ð#ˆŒ	�D”KØˆÔð 79ˆŒ
Ø+-ˆÔØ+-ˆÔØ24ˆÔØ%'ˆŒØ02ˆŒØ$&ˆŒð	'Ø�!”ˆAØ�DŠyˆyØ˜œŸš Q™œÑ'�Ý˜‘F”F��ð ”G—L’L ‘O”O�Øà•Fˆ{ˆ{Ý-3°A¬YÑ*��k 7ØÐ&Ø�G˜D !Ñ$Ô$Ð$Ø˜’;�;Ø"œi�GØ”y FÒ*Ð*Ø"*˜å!œ¨°¸¼Ñ0BÀAÈÐQSÀ}ÑUÔUð!�D”Ið Ø”G—L’L ‘O”O��Ø�kÐ!Ð!à��Ø�f’�Ø”G—L’L ‘O”O��à'�Ý! #Ñ&Ô&Ð&ñ?	'ðB 	× Ò Ñ"Ô"Ð"Ð"Ð"r   ú	list[Any]c                ób   •— t          ¦   «                              ¦   «         | j        | j        gz   S ©N)ÚsuperÚ__getstate__r}   rƒ   )r   Ú	__class__s    €r   rù   zJpegImageFile.__getstate__”  s'   ø€ Ý‰wŒw×#Ò#Ñ%Ô%¨¬°d´jÐ(AÑAÐAr   Ústatec                óx   •— |dd …         \  | _         | _        t          ¦   «                              |¦  «         d S )Nr6   )r}   rƒ   rø   Ú__setstate__)r   rû   rú   s     €r   rý   zJpegImageFile.__setstate__—  s7   ø€ Ø"'¨¨¨¤)ÑˆŒ�T”ZÝ‰Œ×Ò˜UÑ#Ô#Ð#Ð#Ð#r   Ú
read_bytesr   rÛ   c                óš   — | j         €J ‚| j                              |¦  «        }|s%t          j        rt	          | d¦  «        s	d| _        dS |S )z›
        internal: read more image data
        For premature EOF and LOAD_TRUNCATED_IMAGES adds EOI marker
        so libjpeg can finish decoding
        NÚ_endedTs   ÿÙ)r   r   r   ÚLOAD_TRUNCATED_IMAGESÚhasattrr   )r   rþ   r]   s      r   Ú	load_readzJpegImageFile.load_read›  s[   € ð ŒwÐ"Ð"Ð"ØŒG�LŠL˜Ñ$Ô$ˆàð 	•YÔ4ð 	½WÀTÈ8Ñ=TÔ=Tð 	ð ˆDŒKØ�;àˆr   rì   ú
str | Nonerb   útuple[int, int] | Noneú0tuple[str, tuple[int, int, float, float]] | Nonec                ó  — t          | j        ¦  «        dk    rd S | j        rd S | j        d         \  }}}}d}| j        }t	          |t
          ¦  «        sJ ‚|d         dk    r|dv r|| _        |df}|rÐt          | j        d         |d         z  | j        d         |d         z  ¦  «        }dD ]
}	||	k    r nŒ|€J ‚|d         |d         |d         |d         z
  |	z   dz
  |	z  |d         z   |d         |d         z
  |	z   dz
  |	z  |d         z   f}| j        d         |	z   dz
  |	z  | j        d         |	z   dz
  |	z  f| _        |	}t          j
        ||||¦  «        g| _        |df| _        dd|d         |z  |d         |z  f}
| j        |
fS )	Nr   r   rj   )ri   ÚYCbCrrç   )r)   r@   r   r   r   rh   )r€   rî   Údecoderconfigrb   Ú
isinstancerR   r~   Úminrx   r   rí   rì   )r   rì   rb   r0   ÚeÚoÚaÚscaleÚoriginal_sizer]   Úboxs              r   ÚdraftzJpegImageFile.draft¬  sÝ  € õ ˆtŒy‰>Œ>˜QÒÐØ�4ð Ôð 	Ø�4à”Y˜q”\‰
ˆˆ1ˆa�ØˆØœ	ˆå˜!�UÑ#Ô#Ð#Ð#Ð#ØˆQŒ4�5Š=ˆ=˜T ^Ð3Ð3ØˆDŒJØ�b�ˆAàð 	Ý˜œ	 !œ¨¨Q¬Ñ/°´¸1´ÀÀaÄÑ1HÑIÔIˆEØ!ð ð �Ø˜A’:�:Ø�Eð à�=�=�=à�!”Ø�!”Ø�1”˜˜!œ‘˜q‘ 1Ñ$¨Ñ*¨Q¨q¬TÑ1Ø�1”˜˜!œ‘˜q‘ 1Ñ$¨Ñ*¨Q¨q¬TÑ1ð	ˆAð  œ9 Qœ<¨!Ñ+¨aÑ/°AÑ5¸¼	À!¼ÀqÑ8HÈ1Ñ8LÐQRÑ7RÐSˆDŒJØˆEå”_ Q¨¨1¨aÑ0Ô0Ð1ˆŒ	Ø# Q˜ZˆÔà�!�] 1Ô%¨Ñ-¨}¸QÔ/?À%Ñ/GÐHˆØŒy˜#ˆ~Ðr   c                óØ  — t          j        ¦   «         \  }}t          j        |¦  «         t          j                             | j        ¦  «        rt          j        dd|| j        g¦  «         n7	 t          j	        |¦  «         n# t          $ r Y nw xY wd}t          |¦  «        ‚	 t          j        |¦  «        5 }|                     ¦   «          |j        | _        d d d ¦  «         n# 1 swxY w Y   	 t          j	        |¦  «         n:# t          $ r Y n.w xY w# 	 t          j	        |¦  «         w # t          $ r Y w w xY wxY w| j        j        | _        | j        j        | _        g | _        d S )NÚdjpegz-outfilezInvalid Filename)ÚtempfileÚmkstempÚosÚcloseÚpathÚexistsÚfilenameÚ
subprocessÚ
check_callÚunlinkÚOSErrorÚ
ValueErrorr   ÚopenÚloadrz   rì   r~   rb   rx   rî   )r   Úfr  r„   ry   s        r   Ú
load_djpegzJpegImageFile.load_djpegÔ  s­  € õ Ô"Ñ$Ô$‰ˆˆ4Ý
Œ�‰ŒˆÝŒ7�>Š>˜$œ-Ñ(Ô(ð 		"ÝÔ! 7¨J¸¸d¼mÐ"LÑMÔMÐMÐMðÝ”	˜$‘”��øÝð ð ð Ø�ðøøøð %ˆCÝ˜S‘/”/Ð!ð	Ý”˜DÑ!Ô!ð ! SØ—’‘
”
�
Øœ&�”ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ðÝ”	˜$‘”��øÝð ð ð Ø�ðøøøøðÝ”	˜$‘”��øÝð ð ð Ø�ðøøøøøøð ”W”\ˆŒ
Ø”W”\ˆŒ
àˆŒ	ˆ	ˆ	sx   Á.B Â
BÂBÂ%D Â9!C&ÃD Ã&C*Ã*D Ã-C*Ã.D Ã2D Ä
DÄDÄD>ÄD.Ä-D>Ä.
D;Ä8D>Ä:D;Ä;D>údict[int, Any] | Nonec                ó    — t          | ¦  «        S r÷   )Ú_getexif©r   s    r   r'  zJpegImageFile._getexifó  s   € Ý˜‰~Œ~Ðr   c                óÒ  — d| j         v s	d| j         vrd S 	 |                      ¦   «         }|d         }|d         }	 t          |d         ¦  «        |d         z  }n# t          $ r |}Y nw xY wt	          j        |¦  «        rd}t          |¦  «        ‚|dk    r|d	z  }||f| j         d<   d S # t          j        t          t          t          t          t          f$ r d
| j         d<   Y d S w xY w)Nr+   r5   i(  i  r   r   zDPI is not a numberrh   r-   )éH   r*  )rP   ÚgetexifÚfloatÚ	TypeErrorÚmathÚisnanr   rZ   r[   ÚKeyErrorr|   ÚZeroDivisionError)r   r5   Úresolution_unitÚx_resolutionr+   r„   s         r   rï   z!JpegImageFile._read_dpi_from_exifö  s  € à�D”IÐÐ ¨t¬yÐ!8Ð!8ØˆFð	&Ø—<’<‘>”>ˆDØ" 6œlˆOØ œ<ˆLð#Ý˜L¨œOÑ,Ô,¨|¸A¬Ñ>��øÝð #ð #ð #Ø"���ð#øøøåŒz˜#‰Œð &Ø+�Ý  ‘o”oÐ%Ø !Ò#Ð#à�t‘�Ø" C˜xˆDŒI�eÑÐÐøåŒLÝÝÝÝÝð
ð 	&ð 	&ð 	&ð  &ˆDŒI�eÑÐÐÐð	&øøøs4   –$B* »A ÁB* ÁA)Á&B* Á(A)Á)?B* Â*8C&Ã%C&c                ó    — t          | ¦  «        S r÷   )Ú_getmpr(  s    r   r5  zJpegImageFile._getmp  s   € Ý�d‰|Œ|Ðr   )r   r   )r   rõ   )rû   rõ   r   r   )rþ   r   r   rÛ   )rì   r  rb   r  r   r  )r   r%  )Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionrô   rù   rý   r  r  r$  r'  rï   r5  Ú__classcell__)rú   s   @r   r   r   W  sú   ø€ € € € € Ø€FØ+Ðð7#ð 7#ð 7#ð 7#ðrBð Bð Bð Bð Bð Bð$ð $ð $ð $ð $ð $ðð ð ð ð"&ð &ð &ð &ðPð ð ð ð>ð ð ð ð&ð &ð &ð &ð:ð ð ð ð ð ð ð r   r%  c                ód   — d| j         vrd S |                      ¦   «                              ¦   «         S )Nr5   )rP   r+  Ú_get_merged_dictr(  s    r   r'  r'    s.   € Ø�T”YÐÐØˆtØ�<Š<‰>Œ>×*Ò*Ñ,Ô,Ð,r   c           	     óÐ  — 	 | j         d         }n# t          $ r Y d S w xY wt          j        |¦  «        }|                     d¦  «        }|                     d¦  «        rdnd}ddlm} 	 |                     |¦  «        }| 	                    |j
        ¦  «         |                     |¦  «         t          |¦  «        }n$# t          $ r}d}	t          |	¦  «        |‚d }~ww xY w	 |d	         }
n$# t          $ r}d
}	t          |	¦  «        |‚d }~ww xY wg }	 |d         }t          |
¦  «        D �]}t!          j        |› d�||dz  ¦  «        }d}t          t%          ||¦  «        ¦  «        }t'          |d         dz  ¦  «        t'          |d         dz  ¦  «        t'          |d         dz  ¦  «        |d         dz  dz	  |d         dz  dz	  |d         dz  dœ}|d         dk    rd|d<   nd}	t          |	¦  «        ‚dddd d!d"d#d$œ}|                     |d%         d&¦  «        |d%<   ||d<   |                     |¦  «         �Œ||d<   n$# t          $ r}d'}	t          |	¦  «        |‚d }~ww xY w|S )(NrJ   r)   s   MM *ú>ú<r   )ÚTiffImagePluginz)malformed MP Index (unreadable directory)é°  z(malformed MP Index (no number of images)i°  ÚLLLHHrw   )Ú	AttributeÚSizeÚ
DataOffsetÚEntryNo1ÚEntryNo2rD  l        i   @i    i   é   i   é   iÿÿÿ )ÚDependentParentImageFlagÚDependentChildImageFlagÚRepresentativeImageFlagÚReservedÚImageDataFormatÚMPTyperO  r   rà   z!unsupported picture format in MPOÚ	Undefinedz Large Thumbnail (VGA Equivalent)z$Large Thumbnail (Full HD Equivalent)zMulti-Frame Image (Panorama)zMulti-Frame Image: (Disparity)z Multi-Frame Image: (Multi-Angle)zBaseline MP Primary Image)r   i  i  i  i  i  i   rP  ÚUnknownz!malformed MP Index (bad MP Entry))rP   r0  ÚioÚBytesIOr   rO   rç   rA  ÚImageFileDirectory_v2ÚseekÚnextr"  ÚdictrS   r|   r‚   rZ   Úunpack_fromÚziprÜ   ÚgetrN   )r   rc   Úfile_contentsÚheadÚ
endiannessrA  rP   rJ   r  r„   ÚquantÚ	mpentriesÚrawmpentriesÚentrynumÚunpackedentryÚlabelsÚmpentryÚmpentryattrÚ	mptypemaps                      r   r5  r5    s  € ðØŒy˜ŒˆˆøÝð ð ð Øˆtˆtðøøøå”J˜tÑ$Ô$€MØ×Ò˜aÑ Ô €DØŸšÐ(;Ñ<Ô<ÐE��À#€Jà!Ð!Ð!Ð!Ð!Ð!ð&Ø×4Ò4°TÑ:Ô:ˆØ×Ò˜4œ9Ñ%Ô%Ð%Ø�	Š	�-Ñ Ô Ð Ý�$‰ZŒZˆˆøÝð &ð &ð &Ø9ˆÝ˜#ÑÔ AÐ%øøøøð&øøøð&Ø�6”
ˆˆøÝð &ð &ð &Ø8ˆÝ˜#ÑÔ AÐ%øøøøð&øøøð €Ið$&Ø˜&”zˆÝ˜e™œð 	&ñ 	&ˆHÝ"Ô.ØÐ$Ð$Ð$ l°H¸r±Mñô ˆMð QˆFÝ�3˜v }Ñ5Ô5Ñ6Ô6ˆGå,0°¸Ô1EÈÑ1QÑ,RÔ,RÝ+/°¸Ô0DÈÑ0PÑ+QÔ+QÝ+/°¸Ô0DÈÑ0PÑ+QÔ+QØ$ [Ô1°WÑ=À"ÑDØ$+¨KÔ$8¸GÑ$DÈÑ#KØ! +Ô.°Ñ;ðð ˆKð Ð,Ô-°Ò2Ð2Ø17�Ð-Ñ.Ð.à9�Ý! #Ñ&Ô&Ð&à%Ø<Ø@Ø8Ø:Ø<Ø5ðð ˆIð %.§M¢M°+¸hÔ2GÈÑ$SÔ$SˆK˜Ñ!Ø#.ˆG�KÑ Ø×Ò˜WÑ%Ô%Ð%Ñ%Øˆˆ6‰
ˆ
øÝð &ð &ð &Ø1ˆÝ˜#ÑÔ AÐ%øøøøð&øøøð €IsV   ‚ �
�Á*AB> Â>
CÃCÃCÃ#C, Ã,
DÃ6DÄDÄD.I É
I#ÉIÉI#ri   rj   rä   r  )Ú1ri   rj   ÚRGBXrk   r  )@r   r   r$   r6   r>   r"   rI  é   r   r@   r(   rr   rw   é   é   é*   rh   r)   rA   é   é   é   é)   é+   é	   rH   é   rJ  é   é(   é,   é5   r*   é   é   é    é'   é-   é4   é6   é   é   é!   é&   é.   é3   é7   é<   é   é"   é%   é/   é2   é8   é;   é=   é#   é$   é0   é1   é9   é:   é>   é?   r   ))r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   rz   úImage.Imagec                óú   — t          | t          ¦  «        r	| j        dv rdS | j        d         dd…         | j        d         dd…         z   | j        d         dd…         z   }t                               |d¦  «        S )N)r   r@   éÿÿÿÿr   r   rh   r   )r
  r   r}   rƒ   Ú	samplingsr[  )rz   Úsamplings     r   Úget_samplingr�  ‰  sw   € õ �b�-Ñ(Ô(ð ¨B¬I¸Ð,?Ð,?ØˆrØŒx˜Œ{˜1˜Q˜3Ô "¤(¨1¤+¨a°¨cÔ"2Ñ2°R´X¸a´[ÀÀ1ÀÔ5EÑE€HÝ�=Š=˜ 2Ñ&Ô&Ð&r   r   ú	IO[bytes]r  ústr | bytesc                ór  — 	 t           | j                 }n-# t          $ r }d| j        › d�}t          |¦  «        |‚d }~ww xY w| j        }d„ |                     dd¦  «        D ¦   «         }|                     dd¦  «        }|                     dd¦  «        }	|                     d	¦  «        }
|d
k    rd}d
}	d
}
nÒ|t          v r;t          |         }d}|                     dd¦  «        }	|                     d¦  «        }
nŽt          |t          ¦  «        sd}t          |¦  «        ‚|	t          v r!t          |	                              dd¦  «        }	t          |
t          ¦  «        r)|
t          v r t          |
                              d¦  «        }
|	dk    rd}	nL|	dk    rd}	nC|	dk    rd}	n:|	dk    rd}	n1|	d
k    r+| j        dk    rd}t          |¦  «        ‚t          | ¦  «        }	d7d„}|
d
k    r-| j        dk    rd}t          |¦  «        ‚t          | dd ¦  «        }
 ||
¦  «        }
|                     dd¦  «        }d}|                     d¦  «        x}r[d}||z
  }t          |¦  «        |k    rd}t          |¦  «        ‚t          d|z   t          |¦  «        z   ¦  «        }|d |z   d!z   |z   z  }|                     d"¦  «        x}r�d#}||z
  }g }|r)|                     |d |…         ¦  «         ||d …         }|°)d}|D ]d}t          d|z   t          |¦  «        z   ¦  «        }|d$|z   d%z   t#          |¦  «        z   t#          t          |¦  «        ¦  «        z   |z   z  }|dz  }Œe|                     d&| j                             d&¦  «        ¦  «        }|                     d'd(¦  «        p|                     d)d(¦  «        }|                     d*d(¦  «        }|                     d+d¦  «        }t          |t&          j        ¦  «        r|                     ¦   «         }t          |¦  «        |k    rd,}t          |¦  «        ‚|||                     d-d¦  «        ||                     d.d(¦  «        |                     d/d¦  «        ||	|                     d0d¦  «        |                     d1d¦  «        |
|||f| _        |s|rŸ| j        d2k    rd3| j        d         z  | j        d         z  }nF|d4k    s|dk    rd| j        d         z  | j        d         z  }n| j        d         | j        d         z  }|r|t          |¦  «        d5z   z  }|r|t          |¦  «        dz   z  }n0t1          t          |¦  «        d5z   t          |¦  «        dz   ¦  «        }t3          j        | |t3          j        d6d| j        z   d|¦  «        g|¦  «         d S )8Nzcannot write mode z as JPEGc                ó,   — g | ]}t          |¦  «        ‘ŒS r.   )Úround)r/   Úxs     r   ru   z_save.<locals>.<listcomp>   s   € Ð
5Ð
5Ð
5˜�5�‰8Œ8Ð
5Ð
5Ð
5r   r+   ræ   Úqualityrš  ÚsubsamplingÚqtablesÚkeepr”   zInvalid quality settingz4:4:4r   z4:2:2r   z4:2:0r   z4:1:1rà   z3Cannot use 'keep' when original image is not a JPEGúKstr | tuple[list[int], ...] | list[list[int]] | dict[int, list[int]] | Noner   úlist[list[int]] | Nonec                óˆ  ‡ ‡— ‰ €‰ S t          ‰ t          ¦  «        rn	 d„ ‰                      ¦   «         D ¦   «         Šˆfd„t          dt	          ‰¦  «        d¦  «        D ¦   «         Š n$# t
          $ r}d}t          |¦  «        |‚d }~ww xY wt          ‰ t          t          t          f¦  «        �rt          ‰ t          ¦  «        r)ˆ fd„t          t	          ‰ ¦  «        ¦  «        D ¦   «         Š n$t          ‰ t          ¦  «        rt          ‰ ¦  «        Š dt	          ‰ ¦  «        cxk     rdk     sn d}t          |¦  «        ‚	 t          ‰ ¦  «        D ]N\  }}t	          |¦  «        dk    rd}t          |¦  «        ‚t          t          j        d	|¦  «        ¦  «        ‰ |<   ŒOn$# t          $ r}d}t          |¦  «        |‚d }~ww xY w‰ S d S )
Nc                óŽ   — g | ]B}|                      d d¦  «        d                               ¦   «         D ]}t          |¦  «        ‘ŒŒCS )ú#r   r   )rV   r   )r/   ÚlineÚnums      r   ru   z3_save.<locals>.validate_qtables.<locals>.<listcomp>Ñ  sd   € ð ð ð àØ#Ÿzšz¨#¨qÑ1Ô1°!Ô4×:Ò:Ñ<Ô<ðð ð õ ˜‘H”Hðð ð ð r   c                ó*   •— g | ]}‰||d z   …         ‘ŒS )rŠ   r.   )r/   r]   Úliness     €r   ru   z3_save.<locals>.validate_qtables.<locals>.<listcomp>Ú  s&   ø€ ÐOÐOÐO°˜5  Q¨¡V Ô,ÐOÐOÐOr   r   rŠ   zInvalid quantization tablec                ó(   •— g | ]}|‰v ¯‰|         ‘ŒS r.   r.   )r/   Úkeyr¦  s     €r   ru   z3_save.<locals>.validate_qtables.<locals>.<listcomp>Ý  s)   ø€ ð ð ð Ø%(À3È'À>À>�G˜C”LÀ>À>À>r   r$   z$None or too many quantization tablesrŒ   )r
  ÚstrÚ
splitlinesr‚   r€   r   rR   ÚlistrX  Ú	enumerater-  r�   )r¦  r  r„   ÚidxÚtabler°  s   `    @r   Úvalidate_qtablesz_save.<locals>.validate_qtablesÈ  s  øø€ ð
 ˆ?ØˆNÝ�g�sÑ#Ô#ð 	Pð
Pðð à '× 2Ò 2Ñ 4Ô 4ðñ ô �ð PÐOÐOÐOµe¸A½sÀ5¹z¼zÈ2Ñ6NÔ6NÐOÑOÔO��øõ	 ð -ð -ð -Ø2�Ý  ‘o”o¨1Ð,øøøøð-øøøõ
 �g¥¥t­TÐ2Ñ3Ô3ñ 	Ý˜'¥4Ñ(Ô(ð (ðð ð ð Ý,1µ#°g±,´,Ñ,?Ô,?ðñ ô ��õ ˜G¥UÑ+Ô+ð (Ý˜w™-œ-�Ø�˜G™œÐ(Ð(Ò(Ð( qÒ(Ð(Ð(Ð(Ø<�Ý  ‘o”oÐ%ð-Ý"+¨GÑ"4Ô"4ð Að A‘J�C˜Ý˜5‘z”z RÒ'Ð'Ø:˜Ý'¨™nœnÐ,Ý#'­¬°C¸Ñ(?Ô(?Ñ#@Ô#@�G˜C‘L�Lð	Aøõ
 ð -ð -ð -Ø2�Ý  ‘o”o¨1Ð,øøøøð-øøøð ˆNð'	ð 	s0   �A& Á&
BÁ0BÂBÄ=AF Æ
F=Æ&F8Æ8F=Úextrar   rÙ   r9   rl  zXMP data is too longs   ÿár7   rv   r>   s   ÿâr<   re   rp   Frq   Úoptimizer5   zEXIF data is too longÚsmoothÚkeep_rgbÚ
streamtypeÚrestart_marker_blocksÚrestart_marker_rowsrk   r@   é_   r$   rå   )r¦  r¨  r   r©  )ÚRAWMODErì   r0  r  Úencoderinfor[  r   r
  r   r   r³  r9  r�  Úgetattrr€   Úo16rN   r	   rP   r   ÚExifÚtobytesÚencoderconfigrb   Úmaxr   Ú_saverí   )rz   r   r  ró   r  r„   rP   r+   r¤  r¥  r¦  Úpresetr¹  rº  ÚMAX_BYTES_IN_MARKERr9   Úoverhead_lenÚmax_data_bytes_in_markerrb   rv   Úmarkersr†   r   re   rp   r»  r5   Úbufsizes                               r   rÊ  rÊ  —  sV  € ð"Ý˜"œ'Ô"ˆˆøÝð "ð "ð "Ø4 2¤7Ð4Ð4Ð4ˆÝ�c‰lŒl Ð!øøøøð"øøøð Œ>€Dà
5Ð
5˜TŸXšX e¨VÑ4Ô4Ð
5Ñ
5Ô
5€Cà�hŠh�y "Ñ%Ô%€GØ—(’(˜=¨"Ñ-Ô-€KØ�hŠh�yÑ!Ô!€Gà�&ÒÐØˆØˆØˆˆØ	•GÐ	Ð	Ý˜Ô!ˆØˆØ—j’j °Ñ3Ô3ˆØ—*’*˜^Ñ,Ô,ˆˆÝ˜¥Ñ%Ô%ð ;Ø'ˆÝ˜‰oŒoÐà�'Ð!Ð!Ý! +Ô.×2Ò2°=À"ÑEÔEˆKÝ�g�sÑ#Ô#ð 	;¨µ7Ð(:Ð(:Ý˜gÔ&×*Ò*¨>Ñ:Ô:ˆGà�gÒÐØˆˆØ	˜Ò	Ð	ØˆˆØ	˜Ò	Ð	ØˆˆØ	˜Ò	Ð	ð ˆˆØ	˜Ò	Ð	ØŒ9˜ÒÐØGˆCÝ˜S‘/”/Ð!Ý" 2Ñ&Ô&ˆð&ð &ð &ð &ðP �&ÒÐØŒ9˜ÒÐØGˆCÝ˜S‘/”/Ð!Ý˜"˜n¨dÑ3Ô3ˆØÐ˜wÑ'Ô'€Gà�HŠH�W˜cÑ"Ô"€EàÐØ�hŠh�u‰oŒoÐ€sð PØˆØ#6¸Ñ#EÐ Ýˆs‰8Œ8Ð.Ò.Ð.Ø(ˆCÝ˜S‘/”/Ð!Ý�1�|Ñ#¥c¨#¡h¤hÑ.Ñ/Ô/ˆØ�˜tÑ#Ð&IÑIÈCÑOÑOˆà—h’h˜}Ñ-Ô-Ð-€{ð ØˆØ#6¸Ñ#EÐ ØˆØð 	AØ�NŠN˜;Ð'@Ð(@Ð'@ÔAÑBÔBÐBØ%Ð&>Ð&?Ð&?Ô@ˆKð ð 	Að ˆØð 
	ð 
	ˆFÝ�q˜<Ñ'­#¨f©+¬+Ñ5Ñ6Ô6ˆDØØØñà"ñ#õ �Q‘%”%ñõ •S˜‘\”\Ñ"Ô"ñ	#ð
 ññˆEð �‰FˆAˆAà�hŠh�y "¤'§+¢+¨iÑ"8Ô"8Ñ9Ô9€Gð
 —(’(˜=¨%Ñ0Ô0ÐR°D·H²H¸]ÈEÑ4RÔ4R€Kà�xŠx˜
 EÑ*Ô*€Hà�8Š8�F˜CÑ Ô €DÝ�$�œ
Ñ#Ô#ð Ø�|Š|‰~Œ~ˆÝ
ˆ4�y„yÐ&Ò&Ð&Ø%ˆÝ˜‰oŒoÐð 	ØØ�Š�˜1ÑÔØØ�Š�˜UÑ#Ô#Ø�Š�˜qÑ!Ô!ØØØ�ŠÐ(¨!Ñ,Ô,Ø�ŠÐ&¨Ñ*Ô*ØØØØð€BÔð* ð 5�;ð 5àŒ7�fÒÐØ˜"œ' !œ*‘n r¤w¨q¤zÑ1ˆGˆGà˜Š]ˆ]˜g¨šm˜mØ˜"œ' !œ*‘n r¤w¨q¤zÑ1ˆGˆGà”g˜a”j 2¤7¨1¤:Ñ-ˆGØð 	%Ø•s˜4‘y”y 1‘}Ñ$ˆGØð 	&Ø•s˜5‘z”z A‘~Ñ%ˆGøõ •c˜$‘i”i !‘m¥S¨¡Z¤Z°!¡^Ñ4Ô4ˆå„OØ
ˆB•” ¨°"´'Ñ)9¸1¸gÑFÔFÐGÈñô ð ð ð s   ‚ •
?Ÿ:º?ústr | bytes | NoneúJpegImageFile | MpoImageFilec                ó>  — t          | |¦  «        }	 |                     ¦   «         }|�>|d         dk    r2|j        D ]\  }}|dk    rd|v r|c S Œddlm}  |j        ||¦  «        }n6# t          t          f$ r Y n#t          $ r t          j
        d¦  «         Y nw xY w|S )NrB  r   r»   s    hdrgm:Version="r   zTImage appears to be a malformed MPO file, it will be interpreted as a base JPEG file)r   r5  rM   ÚMpoImagePluginr   Úadoptr-  r\   r|   ÚwarningsÚwarn)r   r  rz   ÚmpheaderÚsegmentÚcontentr   s          r   Újpeg_factoryrÛ  V  sù   € õ 
�r˜8Ñ	$Ô	$€Bð
Ø—9’9‘;”;ˆØÐ H¨U¤O°aÒ$7Ð$7Ø$&¤Jð ð Ñ �˜Ø˜fÒ$Ð$Ð)<ÀÐ)GÐ)Gà�I�I�Iøà4Ð4Ð4Ð4Ð4Ð4ð $�Ô# B¨Ñ1Ô1ˆBøøÝ•zÐ"ð ð ð àˆÝð 
ð 
ð 
ÝŒð.ñ	
ô 	
ð 	
ð 	
ð 	
ð
øøøð
 €Is   ’;A' ÁA' Á'BÁ:BÂB)z.jfifz.jpez.jpgz.jpegz
image/jpeg)r   r   r   r   r   r   )rÚ   rÛ   r   rÜ   )r   r   r   r%  )rz   r˜  r   r   )rz   r˜  r   rž  r  rŸ  r   r   r÷   )r   rž  r  rÑ  r   rÒ  )3Ú
__future__r   r�   rS  r.  r  rZ   r  r�   r  rÖ  rç   r   r   Ú_binaryr   r   r   rY   r	   r
   rÅ  ÚJpegPresetsr   ÚTYPE_CHECKINGÚtypingr   r   rÔ  r   r   r!   rf   rˆ   r˜   rë   rÞ   r   r'  r5  rÂ  r“   r›  r�  rÊ  rÛ  Úregister_openr9  Úregister_saveÚregister_extensionsÚregister_mimer.   r   r   ú<module>rå     sC  ððD #Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø €€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ø 
€
€
€
Ø €€€Ø €€€à Ð Ð Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø  Ð  Ð  Ð  Ð  Ð  à€Øð -ØÐÐÐÐÐÐÐà,Ð,Ð,Ð,Ð,Ð,ð%ð %ð %ð %ðh7ð h7ð h7ð h7ðV	$ð 	$ð 	$ð 	$ð0?ð 0?ð 0?ð 0?ðfð ð ð ð8@
Ø
ˆV�^ SÐ)ð@
à
ˆVÐ.°Ð4ð@
ð ˆVÐ&¨Ð,ð@
ð ˆVÐ'¨Ð-ð	@
ð
 ˆUÐ*¨DÐ1ð@
ð ˆVÐ2°CÐ8ð@
ð ˆVÐ3°SÐ9ð@
ð ˆVÐ+¨SÐ1ð@
ð Ð&ð@
ð ˆVÐ3°SÐ9ð@
ð ˆWÐ,¨cÐ2ð@
ð ˆWÐ1°3Ð7ð@
ð ˆUÐ;¸TÐBð@
ð ˆWÐ8¸#Ð>ð@
ð ˆWÐ9¸3Ð?ð@
ð  ˆWÐ1°3Ð7ð!@
ð" Ð'ð#@
ð @
ð$ Ð'ð%@
ð& Ð'ð'@
ð( Ð'ð)@
ð* Ð'ð+@
ð, Ð'ð-@
ð. Ð'ð/@
ð0 Ð'ð1@
ð2 Ð+ð3@
ð4 Ð)ð5@
ð6 ˆU�O TÐ*ð7@
ð8 ˆUÐ/°Ð5ð9@
ð: ˆUÐ,¨dÐ3ð;@
ð< ˆUÐ-¨tÐ4ð=@
ð> ˆUÐ5°sÐ;ð?@
ð@ ˆUÐ0°$Ð7ðA@
ðB ˆVÐ,¨cÐ2ðC@
ðD ˆVÐ,¨cÐ2ðE@
ð @
ð @
ðF ˆVÐ,¨cÐ2ðG@
ðH ˆVÐ,¨cÐ2ðI@
ðJ ˆVÐ,¨cÐ2ðK@
ðL ˆVÐ,¨cÐ2ðM@
ðN ˆVÐ,¨cÐ2ðO@
ðP ˆVÐ,¨cÐ2ðQ@
ðR ˆVÐ,¨cÐ2ðS@
ðT ˆVÐ,¨cÐ2ðU@
ðV ˆWÐ.°Ð4ðW@
ðX ˆWÐ.°Ð4ðY@
ðZ ˆWÐ.°Ð4ð[@
ð\ ˆWÐ.°Ð4ð]@
ð^ ˆWÐ.°Ð4ð_@
ð` ˆWÐ.°Ð4ða@
ðb Ð)ðc@
ðd Ð)ðe@
ðf Ð)ðg@
ð @
ðh *Ø)Ø)Ø)Ø)Ø)Ø)Ø+Ø+Ø+Ø+Ø�I˜sÐ#ð@
ð @
ð @
€ðF.ð .ð .ð .ð}ð }ð }ð }ð }�IÔ'ñ }ô }ð }ð@-ð -ð -ð -ðIð Ið Ið Ið` 
Ø	ØØØØðð €ð	€ð ØØðð €	ð'ð 'ð 'ð 'ðzð zð zð zð@ 37ðð ð ð ð ð< €Ô �MÔ(¨,¸Ñ @Ô @Ð @Ø €Ô �MÔ(¨%Ñ 0Ô 0Ð 0à €Ô ˜-Ô.Ð0RÐ0RÐ0RÑ SÔ SÐ Sà €Ô �MÔ(¨,Ñ 7Ô 7Ð 7Ð 7Ð 7r   