§
    œ"²cä/  ã                   ó  — 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  ej        d¦  «        Z ej        d¦  «        ZdZej                             d¦  «        rd dlZdD ]Z ej        e¦  «        �eZ nŒd	Zd
„ Zdd„Z G d„ d¦  «        Zd„ Z G d„ dej        ¦  «        Zdd„Z ej        ej        ee¦  «          ej        ej        e¦  «          ej        ej        ddg¦  «          ej        ej        d¦  «         dS )é    Né   )ÚImageÚ	ImageFile)Úi32lez^%%([^:]*):[ \t]*(.*)[ \t]*$z^%[%!\w]([^:]*)[ \t]*$Úwin)Úgswin32cÚgswin64cÚgsFc                  óÀ   — t           rdS t          j                             d¦  «        s5	 t	          j        ddgt          j        ¬¦  «         dS # t          $ r Y nw xY wdS )NTr   r
   z	--version)ÚstdoutF)Úgs_windows_binaryÚsysÚplatformÚ
startswithÚ
subprocessÚ
check_callÚDEVNULLÚOSError© ó    ú4/usr/lib/python3/dist-packages/PIL/EpsImagePlugin.pyÚhas_ghostscriptr   3   sv   € Ýð ØˆtÝŒ<×"Ò" 5Ñ)Ô)ð ð	ÝÔ! 4¨Ð"5½jÔ>PÐQÑQÔQÐQØ�4øÝð 	ð 	ð 	àˆDð	øøøð ˆ5s   ª"A Á
AÁAc                 óÚ  — | d         \  }} }}|\  }}	t          |¦  «        pd}|d         |z  |d         |z  f}d|d         z  |	d         |	d         z
  z  d|d         z  |	d         |	d         z
  z  f}
t          j        ¦   «         \  }}t          j        |¦  «         d}t          |d¦  «        r,t          j                             |j        ¦  «        r|j        }nøt          j        ¦   «         \  }}t          j        |¦  «         |}t          |d¦  «        5 }| 
                    dt          j        ¦  «         |                     ¦   «         }| 
                    d¦  «         |}|dk    rS|                     t          |d	¦  «        ¦  «        }|sn-|t!          |¦  «        z  }|                     |¦  «         |dk    °Sddd¦  «         n# 1 swxY w Y   |rd
nd}ddd|z  d|
z  dddd|› �d|› �d|	d          › d|	d          › d�d|ddg}t$          �"t$          sd}t'          |¦  «        ‚t$          |d<   	 d}t(          j                             d¦  «        r-t/          j        ¦   «         }|xj        t.          j        z  c_        t/          j        ||¬¦  «         t9          j	        |¦  «        }|                     ¦   «          	 t          j        |¦  «         |rt          j        |¦  «         nQ# t&          $ r Y nEw xY w# 	 t          j        |¦  «         |rt          j        |¦  «         w w # t&          $ r Y w w xY wxY w|j                              ¦   «         }|                     ¦   «          |S )z!Render an image using Ghostscriptr   r   g      R@é   é   NÚnameÚwbi � ÚpngalphaÚppmrawr
   z-qz-g%dx%dz-r%fx%fz-dBATCHz	-dNOPAUSEz-dSAFERz	-sDEVICE=z-sOutputFile=z-cú z
 translatez-fÚshowpagez%Unable to locate Ghostscript on pathsr   )Ústartupinfo)!ÚintÚtempfileÚmkstempÚosÚcloseÚhasattrÚpathÚexistsr   ÚopenÚseekÚioÚSEEK_ENDÚtellÚreadÚminÚlenÚwriter   r   r   r   r   r   ÚSTARTUPINFOÚdwFlagsÚSTARTF_USESHOWWINDOWr   r   ÚloadÚunlinkÚimÚcopy)ÚtileÚsizeÚfpÚscaleÚtransparencyÚdecoderÚoffsetÚdataÚlengthÚbboxÚresÚout_fdÚoutfileÚinfile_tempÚinfileÚin_fdÚfÚfsizeÚ
lengthfileÚsÚdeviceÚcommandÚmsgr"   Úout_imr9   s                             r   ÚGhostscriptrS   @   sñ  € ð #' q¤'Ñ€GˆT�6˜4Ø�L€FˆDõ �‰JŒJˆO˜!€Eð �ŒG�e‰O˜T !œW u™_Ð-€Dð 	ˆt�AŒw‰˜$˜qœ' D¨¤GÑ+Ñ,Øˆt�AŒw‰˜$˜qœ' D¨¤GÑ+Ñ,ð€Cõ
 Ô&Ñ(Ô(�O€FˆGÝ„HˆVÑÔÐà€KÝˆr�6ÑÔð �rœwŸ~š~¨b¬gÑ6Ô6ð Ø”ˆˆå%Ô-Ñ/Ô/Ñˆˆ{Ý
Œ�‰ŒˆØˆõ
 �+˜tÑ$Ô$ð 	¨à�GŠG�A•r”{Ñ#Ô#Ð#Ø—G’G‘I”IˆEð �GŠG�A‰JŒJˆJØˆJØ˜q’.�.Ø—G’G�C 
¨JÑ7Ô7Ñ8Ô8�Øð ØØ�c !™fœfÑ$�
Ø—’˜‘
”
�
ð ˜q’.�.ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð (Ð5ˆZˆZ¨X€Fð 	ØØ�DÑØ�C‰ØØØØ�FÐÐØ!˜Ð!Ð!àØ�ŒGˆ8Ð*Ð*�t˜A”w�hÐ*Ð*Ð*ØØàØð#€Gõ( Ð$Ý ð 	Ø9ˆCÝ˜#‘,”,ÐÝ&ˆ�‰
ðØˆÝŒ<×"Ò" 5Ñ)Ô)ð 	CÝ$Ô0Ñ2Ô2ˆKØÐÔ¥:Ô#BÑBÐÔÝÔ˜g°;Ð?Ñ?Ô?Ð?Ý”˜GÑ$Ô$ˆØ�Š‰Œˆð	ÝŒI�gÑÔÐØð 'Ý”	˜+Ñ&Ô&Ð&øøÝð 	ð 	ð 	ØˆDð	øøøøð		ÝŒI�gÑÔÐØð 'Ý”	˜+Ñ&Ô&Ð&Ð&ð'øåð 	ð 	ð 	ØˆDð	øøøøøøð 
Œ�ŠÑ	Ô	€BØ
‡L‚L�N„N€NØ€IsV   ÄB%G	Ç	GÇGÈ5BK= Ë*K- Ë-
K:Ë9K:Ë=L;Ë?*L+Ì)L;Ì+
L8Ì5L;Ì7L8Ì8L;c                   ó2   — e Zd ZdZd„ Zej        fd„Zd„ ZdS )ÚPSFilezP
    Wrapper for bytesio object that treats either CR or LF as end of line.
    c                 ó"   — || _         d | _        d S ©N)r=   Úchar)Úselfr=   s     r   Ú__init__zPSFile.__init__§   s   € ØˆŒØˆŒ	ˆ	ˆ	r   c                 óJ   — d | _         | j                             ||¦  «         d S rW   )rX   r=   r,   )rY   rA   Úwhences      r   r,   zPSFile.seek«   s%   € ØˆŒ	ØŒ�Š�V˜VÑ$Ô$Ð$Ð$Ð$r   c                 ó°  — | j         pdg}d | _         | j                             d¦  «        }|dvrQt          |¦  «        rB|                     |¦  «         | j                             d¦  «        }|dvrt          |¦  «        °B| j                             d¦  «        | _         | j         dv rd | _         d                     |¦  «                             d¦  «        S )Nr   r   s   
zlatin-1)rX   r=   r0   r2   ÚappendÚjoinÚdecode)rY   rN   Úcs      r   ÚreadlinezPSFile.readline¯   s¾   € ØŒYÐ˜#ÐˆØˆŒ	àŒG�LŠL˜‰OŒOˆØ˜ÐÐ¥S¨¡V¤VÐØ�HŠH�Q‰KŒKˆKØ”—’˜Q‘”ˆAð ˜ÐÐ¥S¨¡V¤VÐð ”G—L’L ‘O”OˆŒ	àŒ9˜ÐÐØˆDŒIà�xŠx˜‰{Œ{×!Ò! )Ñ,Ô,Ð,r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__rZ   r-   ÚSEEK_SETr,   rb   r   r   r   rU   rU   ¢   sW   € € € € € ðð ðð ð ð #%¤+ð %ð %ð %ð %ð-ð -ð -ð -ð -r   rU   c                 ój   — | d d…         dk    p%t          | ¦  «        dk    ot          | ¦  «        dk    S )Né   ó   %!PSì   ÅP§ )r2   Úi32)Úprefixs    r   Ú_acceptrn   À   s5   € Ø�"�1�"Œ:˜Ò ÐT¥S¨¡[¤[°AÒ%5Ð%S½#¸f¹+¼+ÈÒ:SÐTr   c                   óB   — e Zd ZdZdZdZdddddœZd	„ Zd
„ Zdd„Z	d„ Z
dS )ÚEpsImageFilez.EPS File Parser for the Python Imaging LibraryÚEPSzEncapsulated PostscriptÚLÚLABÚRGBÚCMYK)r   r   r   ri   c                 ó  — |                       | j        ¦  «        \  }}t          | j        ¦  «        }|                     |¦  «         d }d| _        d| _        |                     ¦   «         }|                     d¦  «        }|�rÌ|�rŒt          |¦  «        dk    rd}t          |¦  «        ‚	 t                               |¦  «        }n)# t          j        $ r}	d}t          |¦  «        |	‚d }	~	ww xY w|r—|                     dd¦  «        \  }
}|| j        |
<   |
dk    rm	 d	„ | 
                    ¦   «         D ¦   «         }|d         |d
         z
  |d         |d         z
  f| _        dd| j        z   |||ffg| _        n›# t$          $ r Y n�w xY wnŠt&                               |¦  «        }|rP|                     d¦  «        }
|
dk    rn�|
d d…         dk    r|
dd …         | j        |
d d…         <   n)d| j        |
<   n|d
         dk    rnd}t)          |¦  «        ‚|                     ¦   «         }|                     d¦  «        }|r|d d…         dk    rn|�°Ì|d d…         dk    �rt          |¦  «        dk    rd}t          |¦  «        ‚|d d…         dk    r°|dd …          
                    d d¦  «        d d…         \  }}}}t+          |¦  «        dk    rd| _        nEt+          |¦  «        dk    r1	 | j        t+          |¦  «                 | _        n# t.          $ r Y ncw xY wn^t+          |¦  «        t+          |¦  «        f| _        d S |                     ¦   «                              d¦  «        }|sn|d d…         dk    �°|sd}t)          |¦  «        ‚d S )Nrt   )r   r   z
éÿ   únot an EPS filer   r   ÚBoundingBoxc                 óF   — g | ]}t          t          |¦  «        ¦  «        ‘ŒS r   )r#   Úfloat)Ú.0Úis     r   ú
<listcomp>z&EpsImageFile._open.<locals>.<listcomp>ú   s$   € Ð"DÐ"DÐ"D°Q¥3¥u¨Q¡x¤x¡=¤=Ð"DÐ"DÐ"Dr   r   r   Úeps©r   r   ÚEndCommentsé   zPS-Adobeé	   Ú ú%zbad EPS headeré   z%ImageData:é   ri   Ú1z!cannot determine EPS bounding box)Ú_find_offsetr=   rU   r,   ÚmodeÚ_sizerb   Ústripr2   ÚSyntaxErrorÚsplitÚmatchÚreÚerrorÚgroupÚinfor<   r;   Ú	ExceptionÚfieldr   r#   Úmode_mapÚ
ValueError)rY   rC   rA   r=   ÚboxÚs_rawrN   rQ   ÚmÚeÚkÚvÚxÚyÚbiÚmos                   r   Ú_openzEpsImageFile._openÑ   sä  € Ø×,Ò,¨T¬WÑ5Ô5Ñˆ�õ �D”G‰_Œ_ˆð 	�Š�‰ŒˆàˆàˆŒ	ØˆŒ
ð
 —’‘”ˆØ�KŠK˜ÑÔˆàñ 3	Øñ ,+Ý�q‘6”6˜C’<�<Ø+�CÝ% cÑ*Ô*Ð*ð2ÝŸš A™œ�A�AøÝ”xð 2ð 2ð 2Ø+�CÝ% cÑ*Ô*°Ð1øøøøð2øøøð ð !+ØŸ7š7 1 a™=œ=‘D�A�qØ#$�D”I˜a‘LØ˜MÒ)Ð)ð
!ð #EÐ"D¸!¿'º'¹)¼)Ð"DÑ"DÔ"D˜CØ),¨Q¬°#°a´&©¸#¸a¼&À3ÀqÄ6¹/Ð)I˜DœJà!&¨°´Ñ(:¸FÀVÈSÀMÐ Rð)˜DœI˜Iøõ  )ð !ð !ð !Ø ˜Dð!øøøð *õ Ÿš A™œ�AØð +ØŸGšG A™JœJ˜à Ò-Ð-Ø!Ø˜R˜a˜Rœ5 JÒ.Ð.Ø/0°°°¬u˜DœI a¨¨¨¤eÑ,Ð,à+-˜DœI a™L˜LØ˜1œ š˜ð à.˜Ý% c™lœlÐ*à—K’K‘M”MˆEØ—’˜FÑ#Ô#ˆAàð �Q�r˜�r”U˜c’\�\Øðg ñ 3	ðp ���Œe�sŠl‰lå�1‰vŒv˜Š|ˆ|Ø'�Ý! #Ñ&Ô&Ð&à��"�Œv˜Ò&Ð&à    œvŸ|š|¨D°!Ñ4Ô4°R°a°RÔ8‘��1�b˜"å�r‘7”7˜a’<�<Ø #�D”I�IÝ˜‘W”W ’\�\ðØ$(¤Mµ#°b±'´'Ô$:˜œ	˜	øÝ%ð ð ð Ø˜ðøøøð å  ™VœV¥S¨¡V¤V˜^�”
Ø�à—’‘”×#Ò# FÑ+Ô+ˆAØð Øð3 ���Œe�sŠl‰lð6 ð 	Ø5ˆCÝ˜#‘,”,Ðð	ð 	s=   Â+C ÃC,ÃC'Ã'C,ÄAE7 Å7
FÆFË*L
 Ì

LÌLc                 óJ  — |                      d¦  «        }|d d…         dk    r7|                     dt          j        ¦  «         |                     ¦   «         }d}nFt          |d¦  «        dk    r!t          |d¦  «        }t          |d¦  «        }nd}t          |¦  «        ‚||fS )Né    ri   rj   r   rk   r‚   rx   )r0   r,   r-   r.   r/   rl   r�   )rY   r=   rN   rC   rA   rQ   s         r   r‰   zEpsImageFile._find_offset=  sœ   € à�GŠG�C‰LŒLˆàˆRˆaˆRŒ5�GÒÐà�GŠG�A•r”{Ñ#Ô#Ð#Ø—W’W‘Y”YˆFØˆFˆFÝ��A‰YŒY˜*Ò$Ð$õ ˜˜A‘Y”YˆFÝ˜˜A‘Y”YˆFˆFà#ˆCÝ˜cÑ"Ô"Ð"à�vˆ~Ðr   r   Fc                 óî   — | j         rPt          | j         | j        | j        ||¦  «        | _        | j        j        | _        | j        j        | _        g | _         t          j                             | ¦  «        S rW   )	r;   rS   r<   r=   r9   rŠ   r‹   r   r7   )rY   r>   r?   s      r   r7   zEpsImageFile.loadT  s\   € àŒ9ð 	Ý! $¤)¨T¬Y¸¼ÀÈÑUÔUˆDŒGØœœˆDŒIØœœˆDŒJØˆDŒIÝŒ{×Ò Ñ%Ô%Ð%r   c                 ó   — d S rW   r   )rY   ÚargsÚkwargss      r   Ú	load_seekzEpsImageFile.load_seek]  s	   € ð 	ˆr   N©r   F)rc   rd   re   rf   ÚformatÚformat_descriptionr–   r¢   r‰   r7   r©   r   r   r   rp   rp   É   s{   € € € € € Ø8Ð8à€FØ2Ðà˜5 U¨vÐ6Ð6€Hðjð jð jðXð ð ð.&ð &ð &ð &ðð ð ð ð r   rp   c                 óJ  — |                       ¦   «          | j        dk    rd}n-| j        dk    rd}n| j        dk    rd}nd}t          |¦  «        ‚|r»|                     d¦  «         |                     d	¦  «         |                     d
| j        z  ¦  «         |                     d¦  «         |                     d¦  «         |                     d¦  «         |                     d| j        z  ¦  «         |                     d|z  ¦  «         |                     d¦  «         |                     d¦  «         |                     d| j        d         |d         z  z  ¦  «         |                     d| j        z  ¦  «         |                     d| j        z  ¦  «         |                     d| j        d         | j        d         | j        d         fz  ¦  «         |                     d¦  «         |                     |d         dz   ¦  «         t          |d¦  «        r|                     ¦   «          t          j        | |dd| j        z   ddfg¦  «         |                     d¦  «         |                     d ¦  «         t          |d¦  «        r|                     ¦   «          dS dS )!z*EPS Writer for the Python Imaging Library.rr   )r‚   r   s   imagert   )r‚   r   s   false 3 colorimageru   )r‚   ri   s   false 4 colorimagezimage mode is not supporteds   %!PS-Adobe-3.0 EPSF-3.0
s   %%Creator: PIL 0.1 EpsEncode
s   %%%%BoundingBox: 0 0 %d %d
s   %%Pages: 1
s   %%EndComments
s   %%Page: 1 1
s   %%ImageData: %d %d s   %d %d 0 1 1 "%s"
s   gsave
s   10 dict begin
s   /buf %d string def
r   r   s   %d %d scale
s   %d %d 8
s   [%d 0 0 -%d 0 %d]
s+   { currentfile buf readhexstring pop } bind
r   ó   
Úflushr   r€   Ns   
%%%%EndBinary
s   grestore end
)	r7   rŠ   r—   r3   r<   r(   r¯   r   Ú_save)r9   r=   Úfilenamer   ÚoperatorrQ   s         r   r°   r°   g  s‹  € ð
 ‡G‚G�I„I€Ið 
„w�#‚~€~Ø#ˆˆØ	Œ�EÒ	Ð	Ø0ˆˆØ	Œ�FÒ	Ð	Ø0ˆˆà+ˆÝ˜‰oŒoÐà
ð 3ð 	�ŠÐ-Ñ.Ô.Ð.Ø
�ŠÐ2Ñ3Ô3Ð3à
�ŠÐ0°2´7Ñ:Ñ;Ô;Ð;Ø
�Š�Ñ!Ô!Ð!Ø
�ŠÐ#Ñ$Ô$Ð$Ø
�ŠÐ!Ñ"Ô"Ð"Ø
�ŠÐ'¨"¬'Ñ1Ñ2Ô2Ð2Ø
�ŠÐ&¨Ñ1Ñ2Ô2Ð2ð ‡H‚HˆZÑÔÐØ‡H‚HÐÑ Ô Ð Ø‡H‚HÐ$¨¬°¬
°X¸a´[Ñ(@ÑAÑBÔBÐBØ‡H‚HÐ ¤Ñ'Ñ(Ô(Ð(Ø‡H‚Hˆ\˜BœGÑ#Ñ$Ô$Ð$Ø‡H‚HÐ# r¤w¨q¤z°2´7¸1´:¸r¼wÀq¼zÐ&JÑJÑKÔKÐKØ‡H‚HÐ<Ñ=Ô=Ð=Ø‡H‚HˆX�aŒ[˜5Ñ Ñ!Ô!Ð!Ýˆr�7ÑÔð Ø
�Š‰
Œ
ˆ
å„O�B˜˜e V¨b¬gÑ%5°q¸$Ð?Ð@ÑAÔAÐAà‡H‚HÐ!Ñ"Ô"Ð"Ø‡H‚HÐÑÔÐÝˆr�7ÑÔð Ø
�Š‰
Œ
ˆ
ˆ
ˆ
ðð r   z.psz.epszapplication/postscriptrª   )r   ) r-   r&   r�   r   r   r$   r„   r   r   Ú_binaryr   rl   ÚcompilerŽ   r•   r   r   r   ÚshutilÚbinaryÚwhichr   rS   rU   rn   rp   r°   Úregister_openr«   Úregister_saveÚregister_extensionsÚregister_mimer   r   r   ú<module>r¼      s  ðð. 
€	€	€	Ø 	€	€	€	Ø 	€	€	€	Ø Ð Ð Ð Ø 
€
€
€
Ø €€€à Ð Ð Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !ð
 	ˆŒ
Ð2Ñ3Ô3€ØˆŒ
Ð,Ñ-Ô-€àÐ Ø„<×Ò˜5Ñ!Ô!ð "Ø€M€M€Mà0ð "ð "ˆØˆ6Œ<˜ÑÔÐ+Ø &ÐØˆEð ,ð "Ðð
ð 
ð 
ð_ð _ð _ð _ðD-ð -ð -ð -ð -ñ -ô -ð -ð<Uð Uð UðWð Wð Wð Wð W�9Ô&ñ Wô Wð Wð|2ð 2ð 2ð 2ðr €Ô �LÔ'¨°wÑ ?Ô ?Ð ?à €Ô �LÔ'¨Ñ /Ô /Ð /à €Ô ˜,Ô-°°v¨Ñ ?Ô ?Ð ?à €Ô �LÔ'Ð)AÑ BÔ BÐ BÐ BÐ Br   