
    :h@                       U 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m	Z	 ddl
mZmZ ddlmZ  ej                   d      Z ej                   d      Zdad	ed
<   daddZ	 	 d	 	 	 	 	 	 	 	 	 	 	 ddZddZ G d dej                        ZdddZ ej6                  ej8                  ee        ej:                  ej8                  e        ej<                  ej8                  ddg        ej>                  ej8                  d       y)    )annotationsN)IO   )Image	ImageFile)i32lez^%%([^:]*):[ \t]*(.*)[ \t]*$z^%[%!\w]([^:]*)[ \t]*$zstr | bool | None	gs_binaryc                 \   t         t        j                  j                  d      r6t        "dd l} dD ]  }| j                  |      |a n dat        a t         duS 	 t        j                  ddgt        j                         da t         duS t         duS # t        $ r da Y t         duS w xY w)Nwinr   )gswin32cgswin64cgsFr   z	--version)stdout)r	   sysplatform
startswithgs_windows_binaryshutilwhich
subprocess
check_callDEVNULLOSError)r   binarys     P/var/www/urcfiles/bundle/venv/lib/python3.12/site-packages/PIL/EpsImagePlugin.pyhas_ghostscriptr   -   s    <<""5) (<F||F+7,2) =
 ).%)I E!!"%%t[&9*BTBTU 	 E!!9E!!  "!	E!!"s   )B B+*B+c                F   t               sd}t        |      t        t        t              sJ | d   j
                  }t        |t              sJ |\  }}t        |      xs d}|d   |z  }	|d   |z  }
d|	z  |d   |d   z
  z  }d|
z  |d   |d   z
  z  }t        j                         \  }}t        j                  |       d}t        |d      r6t        j                  j                  |j                        r|j                  }nt        j                         \  }}t        j                  |       |}t!        |d	      5 }|j#                  dt$        j&                         |j)                         }|j#                  d       |}|dkD  rC|j+                  t-        |d
            }|sn%|t/        |      z  }|j1                  |       |dkD  rCddd       |rd}nd}t        dd|	dd|
dd|dd|ddddd| d| d|d     d|d     dd|ddg}	 d}t2        j4                  j7                  d      r7t9        j:                         }|xj<                  t8        j>                  z  c_        t9        j@                  ||       tC        j                   |      5 }|jE                          |jF                  jI                         cddd       	 t        jJ                  |       |rt        jJ                  |       S S # 1 sw Y   1xY w# t        $ r Y S w xY w# 1 sw Y   nxY w	 	 t        jJ                  |       |rt        jJ                  |       yy# t        $ r Y yw xY w# 	 t        jJ                  |       |rt        jJ                  |       w w # t        $ r Y w w xY wxY w)z!Render an image using Ghostscriptz%Unable to locate Ghostscript on pathsr   r   g      R@      Nnamewbi  pngalphapnmrawz-qz-gdxz-rfz-dBATCHz	-dNOPAUSEz-dSAFERz	-sDEVICE=z-sOutputFile=z-c z
 translatez-fshowpager   )startupinfo)&r   r   
isinstancer	   strargstupleinttempfilemkstemposclosehasattrpathexistsr    openseekioSEEK_ENDtellreadminlenwriter   r   r   r   STARTUPINFOdwFlagsSTARTF_USESHOWWINDOWr   r   loadimcopyunlink)tilesizefpscaletransparencymsgr,   lengthbboxwidthheightres_xres_yout_fdoutfileinfile_tempinfilein_fdr&   fsize
lengthfilesdevicecommandr)   out_ims                             r   Ghostscriptr]   D   sm    5cli%%% 7<<DdE"""LFD JO!EGeOE!Wu_F5LDGd1g-.E6MT!WtAw./E&&(OFGHHVKr6rww~~bgg6%--/{

 +t$GGAr{{#GGIE GGAJJq.GGC
J78c!f$

 q. %   	
U1IQvaj!
U1IQuQi 
F8
y!G8*AtAwhZz*#G*<<""5)$002K:#B#BBg;?ZZ FKKM99>># ! 	IIg		+& s %$v  		 !  	IIg		+&  				IIg		+&  		sz   ?BK:BM! *L	M! ,L:L	LLLM! $,M 	MM!N #,NN 	NN NN c                d    | j                  d      xs t        |       dk\  xr t        |       dk(  S )N   %!PS      P )r   r=   i32)prefixs    r   _acceptrd      s4    W% Fq6S[J6    c                  T    e Zd ZdZdZdZdddddZdd	Zdd
Z	 d	 	 	 	 	 ddZ	ddZ
y)EpsImageFilez.EPS File Parser for the Python Imaging LibraryEPSzEncapsulated PostscriptLLABRGBCMYK)r   r   r   r`   c                <     j                   j                        \  }} j                  j                  |       d _        d d }t	        d      }t        |      }d}d}ddd# fd}d$ fd}		  j                  j                  d      }
|
d	k(  r|dk(  rS|r |        n|
d
v r|dk(  r?;|dk\  r+|d   t        d      k(  rd}t        |      |r	 |        d}d}|
d   ||<   |dz  }y|r|d   t        d      k7  s|d d dk(  r
 |        d}t        |d | d      } |	|      st        j                  |      }|rE|j                  d      }|j                  d      r|dd   j                  d<   nd j                  |<   n|d   dk(  rnd}t        |      |d d dk(  rZ|rd}6|d| j!                  d d      }d |d d D        \  }}}}|dk(  rd _        n|dk(  r	  j"                  |    _        nn8||f}n/|d d dk(  rn*rrt        |d | d      } |	|       n
|d d dk(  rdd}sd}t        |      |xs d   d   z
  d    d   z
  f _        t)        j*                  d!d" j,                  z   ||f      g _        y # t$        $ r Y gw xY w)%Nrk      r   TFc                 r    dj                   vrd} t        |       dj                   vrd} t        |       y)z
            The EPS specification requires that some headers exist.
            This should be checked when the header comments formally end,
            when image data starts, or when the file ends, whichever comes first.
            PS-Adobez'EPS header missing "%!PS-Adobe" commentBoundingBoxz*EPS header missing "%%BoundingBox" commentN)infoSyntaxError)rK   selfs    r   check_required_header_commentsz:EpsImageFile._open.<locals>.check_required_header_comments   sB     *?!#&&DII-B!#&& .re   c                   	 t         j                  |       }|sy|j                  dd      \  }}|	j                  |<   |dk(  r@|dk(  rdyr
r4r2	 |j                         D cg c]  }t        t        |             c}yy# t        j                  $ r}d}t	        |      |d }~ww xY wc c}w # t        $ r Y yw xY w)Nnot an EPS fileFr   r   rq   z(atend)T)
splitmatchreerrorrs   grouprr   r.   float	Exception)rY   merK   kvibounding_boxreading_trailer_commentsrt   trailer_reacheds          r   read_commentz(EpsImageFile._open.<locals>.read_comment   s    .KKN
 771a=DAqDIIaLM!	>/3,  &/>V @Awwy'Iy!E!Hy'I ) 88 .'!#&A-." (J$ s;   B B3 %B. B3 B+B&&B+.B3 3	B?>B?r   re   s   
%rw      s   %%EndCommentszlatin-1rp   	    zbad EPS header   s   %ImageData:   c              3  2   K   | ]  }t        |        y wN)r.   ).0values     r   	<genexpr>z%EpsImageFile._open.<locals>.<genexpr>L  s      5,A5CJ,As   r`   1      s   %%EOFs	   %%Trailerz!cannot determine EPS bounding boxr   r   epsr   r   returnNone)rY   r+   r   bool)_find_offsetrH   r7   _mode	bytearray
memoryviewr;   ordrs   r+   fieldry   r|   r   rr   r   rx   mode_map
ValueError_sizer   _TilerG   rF   )rt   rL   offsetimagedata_sizebyte_arrbytes_mv
bytes_readreading_header_commentsru   r   byterK   rY   r   r   image_data_valuescolumnsrows	bit_depthmode_idr   r   r   s   `                   @@@r   _openzEpsImageFile._open   s5   ,,TWW5 	V
 *.15S>h'
"&#( 	'	 	4 77<<?Ds{?.68 ? $  {c#h./)#..2:<6;3 &'
'+Aw$a
& A;#c(*hsm?O.O24.3+*-y9#AAAGGAJ<<
345abEDIIj1+-DIIaL1 .%cl*#2.0 "!"J %-R
$;$A$A$$J!5,=bq,A51y' >!$DJ!^%)]]7%;
  ")$"1) %=*-y9Q"1-"&JW ^ 5C#, $ 
Ol1o-Ol1o-(

 OOE6DII#5v?UV
	= & s   %J 	JJc                (   |j                  d      }|dk(  r6|j                  dt        j                         |j	                         }d}||fS t        |      dk(  r,|j                  d      }t        |      }t        |d      }||fS d}t        |      )Nr`   r_   r   ra   r   rw   )r;   r7   r8   r9   r:   rb   rs   )rt   rH   rY   rL   r   rK   s         r   r   zEpsImageFile._find_offsetw  s    GGAJ<GGAr{{#WWYFF v~ Vz! 
AVFAYF
 v~ $Cc""re   c                6   | j                   rot        | j                   | j                  | j                  ||      | _        | j                  j
                  | _        | j                  j                  | _        g | _         t        j                  j                  |       S r   )
rF   r]   rG   rH   rC   moder   r   r   rB   )rt   rI   rJ   s      r   rB   zEpsImageFile.load  se     99!$))TYYUDGDJDJDI{{%%re   c                     y r    )rt   poss     r   	load_seekzEpsImageFile.load_seek  s     	re   Nr   )rH   	IO[bytes]r   tuple[int, int]r   F)rI   r.   rJ   r   r   zImage.core.PixelAccess | None)r   r.   r   r   )__name__
__module____qualname____doc__formatformat_descriptionr   r   r   rB   r   r   re   r   rg   rg      sQ    8F25Uv6Hv
p0 49	&	&,0	&	&	&re   rg   c           	        | j                          | j                  dk(  rd}n1| j                  dk(  rd}n| j                  dk(  rd}nd}t        |      |r|j                  d       |j                  d	       |j                  d
| j                  z         |j                  d       |j                  d       |j                  d       |j                  d| j                  z         |j                  d|z         |j                  d       |j                  d       |j                  d| j                  d   |d   z  z         |j                  d| j                  z         |j                  d| j                  z         |j                  d| j                  d   | j                  d   | j                  d   fz         |j                  d       |j                  |d   dz          t        |d      r|j                          t        j                  | |t        j                  dd| j                  z         g       |j                  d       |j                  d       t        |d      r|j                          y y )!z*EPS Writer for the Python Imaging Library.ri   )r   r   s   imagerk   )r   r   s   false 3 colorimagerl   )r   r`   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   s   
%%%%EndBinary
s   grestore end
N)
rB   r   r   r>   rG   r3   r   r   _saver   )rC   rH   filenamer   operatorrK   s         r   r   r     s    GGI 
ww#~#	E	0	F	0+o

-.
23
0277:;
!
#$
!"
'"''12
&12 HHZHH HH$
Xa[(@ABHH'(HH\BGG#$HH#rwwqz2771:rwwqz&JJKHH<=HHXa[5 !r7

OOBY__UFRWW4DEFGHH!"HHr7

 re   z.psz.epszapplication/postscript)r   r   r   )rF   zlist[ImageFile._Tile]rG   r   rH   r   rI   r.   rJ   r   r   zImage.core.ImagingCore)rc   bytesr   r   )r   )
rC   zImage.ImagerH   r   r   zstr | bytesr   r.   r   r   ) 
__future__r   r8   r1   rz   r   r   r/   typingr   r   r   r   _binaryr   rb   compilerx   r   r	   __annotations__r   r   r]   rd   rg   r   register_openr   register_saveregister_extensionsregister_mimer   re   r   <module>r      s5  , # 	 	 	  
    !
 	

23

,-#	 # "6 e
e
e 	e 	e
 e ePe9&& eV.h   L''w ?   L'' /   ,--v ?   L'')A Bre   