HEX
Server: LiteSpeed
System: Linux standart9.isimtescil.net 3.10.0-962.3.2.lve1.5.26.7.el7.x86_64 #1 SMP Wed Oct 2 07:53:12 EDT 2019 x86_64
User: karalev (5310)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //proc/self/root/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyc
�
`�3LcK@ s�dZddlmZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Zddlm
Z
ddlmZddlmZmZmZmZmZyeWn!ek
r�ddlmZnXddlZddlmZmZmZdd	lmZdd
lm Z m!Z!m"Z"m#Z#ddl$m%Z%ddl&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,dd
l-m.Z.ddl/m0Z0ddl1m2Z2m3Z3ddl4m5Z5ddl6j7Z7ddl8j9Z9ddl:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@ddlAmBZBddlCmDZDmEZEmFZFmGZGddlHmIZIddlmJZJdd�ZKejLd�ZMd�ZNd�ZOdePfd��YZQdePfd��YZRdePfd ��YZSeTd!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidj�%ZUe'eTgeUjV�D]\ZWZXeWeSeX�f^q���ZYdkePfdl��YZZdmePfdn��YZ[doe fdp��YZ\dqe!fdr��YZ]ds�Z^dtePfdu��YZ_dve#fdw��YZ`dxe"fdy��YZaeaZbdS(zsS
A PDF matplotlib backend (not yet complete)
Author: Jouni K Sepp�nen <jks@iki.fi>
i����(tdivisionN(tStringIO(tdatetime(tceiltcostfloortpitsin(tSet(t__version__trcParamst
get_data_path(tGcf(tRendererBasetGraphicsContextBasetFigureManagerBasetFigureCanvasBase(tMixedModeRenderer(tBunchtis_string_liketreverse_dicttget_realpath_and_stattis_writable_file_liketmaxdict(t
quad2cubic(tFigure(tfindfonttis_opentype_cff_font(tAFM(tFT2FonttFIXED_WIDTHtITALICt
LOAD_NO_SCALEtLOAD_NO_HINTINGtKERNING_UNFITTED(tMathTextParser(tAffine2DtBboxtBboxBasetTransformedPath(tPath(tttconviKcC s�d}d}g}xpt|�D]b\}}t|�}|||krX||d7}q|jdj|||!��|}|}qW|jdj||��dj|�S(s�Make one string from sequence of strings, with whitespace
    in between. The whitespace is chosen to form lines of at most
    linelen characters, if possible.iit s
(t	enumeratetlentappendtjoin(tstringstlinelentcurrpostlastitresulttitstlength((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytfill`s
s([\\()\r\n])cC sS|jd�}|dkr#d|S|dkr3dS|dkrCdStsOt�dS(Nis\()s\s
s\ns
s\r(tgrouptFalsetAssertionError(tmatchtm((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt_string_escapeyscC s�t|d�r|j�St|t�rctj|�sCtd�nd|}|jd�jd�St|t�r�ddg|St|t	t
f�r�d|St|t�r�y|jd	�}t|�SWq�t
k
r�tj|jd
�}t|�SXn�t|�r!dtjt|�dSt|t�r�d
g}|jg|j�D].\}}dt|�j�t|�f^qL�|jd�t|�St|ttf�r�dg}|jg|D]}t|�^q��|jd�t|�S|dkrdSt|t�r�|jd�}tj r6tj!}n	tj"}|dkrX|d7}nI|dkr�|d|d|df7}n|d|d|df7}t|�St|t#�r�tg|j$D]}t|�^q��St%dt&|��dS(s!Map Python objects to PDF syntax.tpdfReprs%Can only output finite numbers in PDFs%.10ft0t.tfalsettrues%dtASCIIsUTF-16BEt(t)s<<s%s %ss>>t[t]tnullsD:%Y%m%d%H%M%SitZs+%02d'%02d'is-%02d'%02d's/Don't know a PDF representation for %s objects.N('thasattrR>t
isinstancetfloattnptisfinitet
ValueErrortrstriptbooltinttlongtunicodetencodetUnicodeEncodeErrortcodecstBOM_UTF16_BERt_string_escape_regextsubR=tdicttextendtitemstNameR-R7tlistttupletNoneRtstrftimettimetdaylighttaltzonettimezoneR&tboundst	TypeErrorttype(tobjtrR5tkeytvaltz((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR>�sb


		?

	&

		
!
&t	ReferencecB s2eZdZd�Zd�Zd�Zd�ZRS(sPPDF reference object.
    Use PdfFile.reserveObject() to create References.
    cC s
||_dS(N(tid(tselfRp((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt__init__�scC sd|jS(Ns<Reference %d>(Rp(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt__repr__�scC sd|jS(Ns%d 0 R(Rp(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR>�scC s8|j}|d|j�|t|��|d�dS(Ns	%d 0 obj
s
endobj
(twriteRpR>(RqtcontentstfileRt((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRt�s	(t__name__t
__module__t__doc__RrRsR>Rt(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRo�s
			R^cB sVeZdZdZejd�Zd�Zd�Zd�Z	e
d��Zd�ZRS(	sPDF name object.tnames[^!-~]cC s=t|t�r|j|_n|jjtj|�|_dS(N(RKR^Rzt_regexRZthexify(RqRz((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRr�scC sd|jS(Ns	<Name %s>(Rz(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRs�scC sd|jS(Nt/(Rz(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt__str__�scC sdt|j��S(Ns#%02x(tordR8(R;((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR|�scC sd|jS(NR}(Rz(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR>�s(sname(
RwRxRyt	__slots__tretcompileR{RrRsR~tstaticmethodR|R>(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR^�s			tOperatorcB s/eZdZdZd�Zd�Zd�ZRS(sPDF operator object.topcC s
||_dS(N(R�(RqR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRrscC sd|jS(Ns
<Operator %s>(R�(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRsscC s|jS(N(R�(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR>	s(sop(RwRxRyR�RrRsR>(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR��s
		tclose_fill_stroketbtfill_stroketBR7tft	closepaththtclose_strokeR5tstroketStendpathtnt
begin_texttBTtend_texttETtcurvetotct	rectangleR�tlinetotltmovetoR<t
concat_matrixtcmtuse_xobjecttDotsetgray_stroketGtsetgray_nonstroketgt
setrgb_stroketRGtsetrgb_nonstroketrgtsetcolorspace_stroketCStsetcolorspace_nonstroketcstsetcolor_stroketSCNtsetcolor_nonstroketscntsetdashtdtsetlinejointjt
setlinecaptJt	setgstatetgstgsavetqtgrestoretQttextpostTdt
selectfonttTft
textmatrixtTmtshowtTjtshowkerntTJtsetlinewidthtwtcliptWtshadingtshtStreamcB sDeZdZd
Zdd�Zd	�Zd
�Zd�Zd�Z	RS(s�PDF stream object.

    This has no pdfRepr method. Instead, call begin(), then output the
    contents of the stream by calling write(), and finally call end().
    RpR,tpdfFileRvtcompressobjtextratposcC s�||_||_||_|j|_d|_|dkrKt�|_n	||_|jj	|j�t
dr�tjt
d�|_n|jdkr�t�|_n|j
�|jj�|_dS(s�id: object id of stream; len: an unused Reference object for the
        length of the stream, or None (to use a memory buffer); file:
        a PdfFile; extra: a dictionary of extra key-value pairs to
        include in the stream header spdf.compressionN(RpR,R�tfhRvRaR�R[R�t
recordXrefR
tzlibRt_writeHeaderttellR�(RqRpR,RvR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRr(s					

cC sn|jj}|d|j�|j}|j|d<tdrPtd�|d<n|t|��|d�dS(Ns	%d 0 obj
tLengthspdf.compressiontFlateDecodetFilters
stream
(RvRtRpR�R,R
R^R>(RqRtR[((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�>s	

cC s�|j�|jdkrs|jj�}t|�|_|jj|_|j�|jj|�|jjd�n<|jj	�|j
}|jjd�|jj|j|�dS(sFinalize stream.s
endstream
endobj
N(t_flushR,RaRvtgetvalueR�R�R�RtR�R�twriteObject(RqRuR6((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytendIs

cC sH|jdkr"|jj|�n"|jj|�}|jj|�dS(sWrite some data on the stream.N(R�RaRvRttcompress(Rqtdatat
compressed((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRtYscC s>|jdk	r:|jj�}|jj|�d|_ndS(sFlush the compression object.N(R�RatflushRvRt(RqR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�bs(sidslenspdfFilesfilescompressobjsextrasposN(
RwRxRyR�RaRrR�R�RtR�(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR� s				tPdfFilecB s[eZdZd�Zd�Zd�Zd�Zd�Zed�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�ZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zdddd�Zd�Zd�Zd�Zeeed��Ze d�Z!d d!�Z"d"�Z#d#�Z$d$�Z%d%�Z&d&�Z'RS('sPDF file object.c	C s�d|_dddgg|_t|_t|�rEt|d�}n*t|�rc|}t|_ntd��t	j
jtddd	�|_
||_d|_|jd
�|jd�|jd�|_|jd
�|_g|_|jd�|_|jd�|_|jd�|_|jd�|_|jd�|_|jd�|_itd�d6|jd6}|j|j|�d}d|kr�d|jd�jd�dj�}nd}idt d6d|d6t!j"�d6|_#i|_$d|_%i|_&i|_'i|_(i|_)d|_*i|_+d|_,g|_-i|_.d|_/i|_0i|_1gd j�D]}t|�^q{}i|jd!6|jd"6|jd#6|jd$6|jd%6|d&6}|j|j|�dS('Niii��sthe zero objecttwbs-filename must be a path or a file-like objecttdatapathtfontstpdfcorefontss	%PDF-1.4
s%�� ��
troottpagessextended graphics statesstiling patternssGouraud trianglessexternal objectst	resourcestCatalogtTypetPagess$Rev: 8292 $t:s rt$ts'matplotlib %s, http://matplotlib.sf.nettCreatorsmatplotlib pdf backend%stProducertCreationDatesPDF Text ImageB ImageC ImageItFonttXObjectt	ExtGStatetPatterntShadingtProcSet(2t
nextObjectt	xrefTableR9tpassed_in_file_objectRRvRtTrueROtostpathR.R
t_core14fontdirR�Rat
currentstreamRtt
reserveObjectt
rootObjecttpagesObjecttpageListt
fontObjecttalphaStateObjectthatchObjectt
gouraudObjectt
XObjectObjecttresourceObjectR^R�tstriptsplitR	RttodaytinfoDictt	fontNamestnextFonttdviFontInfottype1Descriptorstused_characterstalphaStatestnextAlphaStatet
hatchPatternst	nextHatchtgouraudTrianglestimagest	nextImagetmarkerstmulti_byte_charprocs(	RqtfilenameR�R�tsvn_special_stringtrevisiontxtprocsetsR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRrmst					

	
)														"





cC s�|j�|||_|_|jd�}itd�d6|jd6|jd6ddd|d|gd6|d	6}|jd
�}|j||�|jj	|�|j
|j|jd��|jt
jdtj�dS(
Ns
page contentstPageR�tParentt	ResourcesiiHtMediaBoxtContentstpageslength of content streamtround(t	endStreamtwidththeightRR^RR	R�RR-tbeginStreamRptoutputtGraphicsContextPdft
joinstylestOpR�(RqR)R*t
contentObjecttthePaget
pageObject((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytnewPage�s



cC s|j�|j�|j|jtg|jj�D]}|d|df^q3��|j�|j�t|j	j��}x)|j
j�D]}|d||d<q�Wx'|jj�D]\}}|||<q�W|j|j
|�|j�|j�|j|jitd�d6|jd6t|j�d6�|j�|j�|j�|jrn|jj�n
|jj�dS(NiiR�R�tKidstCount(R(t
writeFontsR�RR[RtvaluestwriteHatchestwriteGouraudTrianglesRRRR]RtwriteImagestwriteMarkersRR^RR,t
writeInfoDictt	writeXreftwriteTrailerR�R�R�tclose(RqRmtxobjectsttupRztvalue((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR?�s2

1







	cC s6|jdkr"|jj|�n|jj|�dS(N(R�RaR�Rt(RqR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRt�scG s-|jttt|���|jd�dS(Ns
(RtR7tmapR>(RqR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR,�scC s1|jdkst�t||||�|_dS(N(R�RaR:R�(RqRpR,R�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR+�scC s,|jdk	r(|jj�d|_ndS(N(R�RaR�(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR(�s
cC s�t|�r|}n^tdrgt|ddd|j�}|d
krstdddd|j�}qsnt|�}|jj|�}|d
kr�td|j�}||j|<|jd7_t	j
jd||fd	�n|S(s�
        Select a font based on fontprop and return a name suitable for
        Op.selectfont. If fontprop is a string, it will be interpreted
        as the filename (or dvi name) of the font.
        spdf.use14corefontstfontexttafmt	directoryt	HelveticasF%disAssigning font %s = %stdebugN(RR
RR�RaRtgetR^Rt
matplotlibtverbosetreport(RqtfontpropRtFx((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytfontNames$	

	

cC sAi}x!|jj�D]\}}tjjd|d�|jd�rqtjjdd�|j|�||<q|jj|�r�tjjdd�|j	||j|�||<qtjjdd�t
|�\}}|jj|�}|dk	rt|d�r|j||d�||<qqW|j|j|�dS(NsEmbedding font %sRHs.afmsWriting AFM fontsWriting Type-1 fontsWriting TrueType fonti(RR]RJRKRLtendswitht_write_afm_fontRthas_keytembedTeXFontRRRIRaR,tembedTTFR�R(RqR�RRNtrealpathtstat_keytchars((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR6!s !cC s�t|�}t|�}|j�|j�}itd�d6td�d6t|�d6td�d6}|jd�}|j||�|S(	NR�R�tType1tSubtypetBaseFonttWinAnsiEncodingtEncodingsfont dictionary(RvRR?tget_fontnameR^RR�(RqRR�tfonttfontnametfontdicttfontdictObject((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRQ6s


cC sHtjjd|d|j
d�|jd�}|j||jj�|jd�}itd�d6td�d	6d
d6t	|jj�dd
6|d6}|j
dk	r
tj
|j
�}g|D]}t|�^q�}d
g|}itd�d6|d6|d<n|jdkrdtjdd|jddd�t|j�|d<|j||�|Stj|j�}	|jr�|	j|j�}	nt|	jd�|d<|jjdd�|jjdd�f}
|jj|j|
f�}|dkr*|j|	|j�}||j|j|
f<n||d<|j||�|S(NsEmbedding TeX font s - fontinfo=RHsfont widthssfont dictionaryR�R�RXRYit	FirstCharitLastChartWidthsR\tDifferencess5Because of TeX configuration (pdftex.map, see updmap s)option pdftexDownloadBase14) the font %s s2is not embedded. This is deprecated as of PDF 1.5 s<and it may cause the consumer application to show something sthat was not intended.RZtFontNametslantgR\g�?tFontDescriptor(RJRKRLt__dict__RR�tdvifonttwidthsR^R,tencodingfileRatdvireadR\tfontfiletwarningstwarntbasefontt	type1fontt	Type1Fontteffectst	transformtpropRIRtcreateType1Descriptor(RqttexnametfontinfotwidthsObjectRaR`tenctchtdifferencesArraytt1fontRttfontdesc((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRSCsJ	



	*
c
C s�|jd�}|jd�}|jd}|jd}d}|rQ|dO}n|dO}|rn|dO}ntt|��}itd	�d
6t|jd�d6|d6|jd
6|d6|jd6|jd6dd6dd6|d6|jdd6dd6}	|j||	�|j	|j
dit|j
d�d6t|j
d�d6dd6�|jj|j
d�|jj|j
d�|j�|S(Nsfont descriptors	font filetItalicAngletisFixedPitchiiiiRhR�RftFlagstFontBBoxtAscenttDescenti�t	CapHeighti�tXHeighttFontFilet
FamilyNamet
FontFamilyi2tStemVtLength1tLength2tLength3iii@(RRvRtstrR^tbboxtascendert	descenderR�R+RpRaR,tpartsR�RtR((
RqR~RntfontdescObjecttfontfileObjecttitalic_angletfixed_pitchtflagstft2fontt
descriptor((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRw~sB










cC s*dtjjtjj|��d|fS(Ns%s-%si(R�R�tsplitexttbasename(RqRtsymbol_name((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt_get_xobject_symbol_name�ssO/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo
<< /Registry (Adobe)
   /Ordering (UCS)
   /Supplement 0
>> def
/CMapName /Adobe-Identity-UCS def
/CMapType 2 def
1 begincodespacerange
<0000> <ffff>
endcodespacerange
%d beginbfrange
%s
endbfrange
endcmap
CMapName currentdict /CMap defineresource pop
end
endc	 s�tt���}td}|jtd������fd�}���fd�}|j�}y|d$�Wn0tk
r�|d%jd
�jdd��nXt	���|j
d
�p�idd6dd6}|j
d�p�id&d6}	|j}
|j}d}t
}
|
t@r(|d'O}n|
r;|d(O}n
|d)O}|t@r\|d*O}ni
t	d�d6�d6|d6g|jD]}�|dt
�^q�d6�|jdt
�d6�|jdt
�d6�|ddt
�d6�|d�d6|	ddd6dd6}t��rFd }tjd!d"tjj���n|dkrb||||�S|d kr~||||�Sd#S(+s9Embed the TTF font from the named file into the document.spdf.fonttypecS sB||d}|rt|�S|dkr4t|�St|�SdS(s1Convert font coordinates to PDF glyph coordinatesi�iN(R'RR(R6tupetnearestRB((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytcvt�s

c! s��jd�}�jd�}�jd�}�jd�}g}d)\}}	g�jD]}
�|
dt�^qX}itd�d	6�d
6|d6|	d6|d
6td�d6|dd6|d6ddddddgd6|d6itd�d	6|d6d6|d6}ddlm�t�d�r7�fd��n�fd�����fd�}
gt||	d�D]}|
|�^qo}t|�|d <�j	�}g}g}t
�}xt|D]l}|}|j|�p�d}|j|��j
|�}|dkr|j||f�q�|j|�q�W|j�d!}xM|D]E\}}||dkrr|j|�n|jt|��|}qFWtj�|�}i}i}x�|j�D]�\}}it|�d"6}||kr)td#�|d	<td$�|d<||d%<||jd&�d'}n�jd(�} �j| jd*|��jj|��j�||kr��j�|�}| �j|<q�| ||<q�W�j||��j||��j||��j||�|S(+s5The Type 3-specific part of embedding a Truetype fontsfont widthssfont descriptorsfont dictionaryscharacter procsii�R�R�R�RZRbRcRhtType3RYRfR^R�g����MbP?t
FontMatrixt	CharProcsR\ReRdi����(tcp1252tdecoding_mapc s�j|pdS(Ni(R�(tcharcode(R�(sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytdecode_char�sc st�j|�S(N(Rtdecoding_table(R�(R�(sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR��sc s2�|�}�j|dttB�j}�|�S(NR�(t	load_charR R!thoriAdvance(R�RTR)(R�R�R^(sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytget_char_width�sitMaxWidthi����R�R�tFormtBBoxtd1itcharProc(ii�N(RR�R9R^t	encodingsR�RJtrangetmaxtget_charmaptsetRIR-tget_glyph_nametaddtsortR)tget_pdf_charprocsR]R,tfindR+RpRaR�RtR(R�RR�(!R^t
charactersR�RzR�RatcharprocsObjectR}t	firstchartlastcharRR�R`R�R�Rktcmapt	glyph_idstdifferencestmulti_byte_charsR�tccodetgindt
glyph_nametlast_cRztrawcharprocst	charprocstcharprocsReftcharnametstreamtcharprocDicttcharprocObject(R�Rtps_nameRq(R�R�R^sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt
embedTTFType3�s�(



,	





c# s��jd�}�jd�}�jd�}�jd�}�jd�}�jd�}�jd�}	itd�d	6td
�d6�d6id
d6dd6dd6d6|d6|d6|d6}
itd�d	6td�d6�d6td�d6|gd6|	d6}||d<�jd�}�j|j�jd�i|d6�t�d �}
d}xCtr�|
jd!�}|s|Pn|t|�7}�jj	|�q]W|
j
��j��j||�d"gd#}|j
�}g}g}d}x�|D]~}|}|j|�pd}|j|d$t�}|j||jd%f�|d#kret|�||<nt||�}q�W|j�||d& }d'}g}d}g}x�|D]�\}}||d&kr�|j|�|j|g�|j||g�n|d(j|�||d(d&<t||�}|}q�Wg}x[|D]S\}} |jd)|| d*jgt|| d&�D]}!d+|!^qx�f�qCW�jt|�d,j|�f}"d-j|�jd.�}�j|jd1it|�d/6��jj	|��j��j|	jd1i|"d/6��jj	|"��j�||d0<�j||
��j||��j||��j||�|S(2s6The Type 42-specific part of embedding a Truetype fontsfont descriptorsCID font dictionarysType 0 font dictionarysCIDToGIDMap streamsfont file streams
Type 0 widthss
ToUnicode mapR�R�tCIDFontType2RYRZtAdobetRegistrytIdentitytOrderingit
Supplementt
CIDSystemInfoRhR�tCIDToGIDMaptType0s
Identity-HR\tDescendantFontst	ToUnicodet	FontFile2sdecoded length of a fontslength of font streamR�trbiuiR�iii����i����s<%04x> <%04x> [%s]R*s<%04x>s
R�sutf-16beR�R�N(RR^R+RptopenR�treadR,R�RtR?R(R�R�RIR�R!R-R�tunichrR�R�R.R�t_identityToUnicodeCMapRURa(#R^R�R�R�tcidFontDictObjectttype0FontDictObjecttcidToGidMapObjectR�twObjectttoUnicodeMapObjecttcidFontDictt
type0FontDictt
length1ObjectRntlength1R�tcid_to_gid_mapR�tunicode_mappingRkt	max_ccodeR�R�R�tglypht
last_ccodeR�t	max_widthtunicode_groupsR)tunicode_bfrangetstartR�Rtunicode_cmap(RR�Rq(sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytembedTTFType42Hs�








	






<	


iiiii	sutf-16betasciitreplacetpcltt	capHeighttxHeighttposttitalicAngleiiRhR�RfR�R�R�R�R�R�R�R�R�i*s.'%s' can not be subsetted into a Type 3 font. s/The entire font will be embedded in the output.N(iiii(iii	i(iiiii i@(RR�R
tunits_per_EMR�tget_sfnttKeyErrortdecodeRUR^tget_sfnt_tablet
face_flagststyle_flagsR9RRR�R�R�RRoRpR�R�R�(RqRR�R^tfonttypeR�R�tsfntR�R�tfftsfR�tsymbolicRR�((R�RR�RqsR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRT�s\
	oy
#
		






)
	cC s}|jj|d�}|dk	r)|dStd|j�}|jd7_|itd�d6|d6|d6f|j|<|S(	s>Return name of an ExtGState that sets alpha to the given valueisA%diR�R�tCAtcaN(RRIRaR^R(RqtalphatstateRz((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt
alphaState�scC sX|jj|d�}|dk	r%|Std|j�}|jd7_||j|<|S(NsH%di(RRIRaR^R(Rqthatch_styletpatternRz((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pythatchPatterns
c	C s�t�}d}x�|jj�D]�\}}|jd�}|||<igdj�D]}t|�^qTd6}|j|jditd�d6dd6dd	6dd
6dd||gd6|d
6|d6|d6�|d}|j	|d|d|dt
j�|ddk	rY|d}|j	|d|d|dt
jdd||t
j
t
j�
n|j	dt
j�|j	|jtj|d�t�j|�dt��|j	t
j�|j�qW|j|j|�dS(NgR@s
hatch patternsPDF Text ImageB ImageC ImageItProcsetsR�R�itPatternTypet	PaintTypet
TilingTypeiR�tXSteptYStepR#ig�������?tsimplify(R[RR]RRR^R+RpRaR,R/R�R�R�R7R�tpathOperationsR(thatchR$tscaleR9R�R(R�R(	Rqt	hatchDicttsidelenRRztobRtrestrgb((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR8s:	
)	
%
!

cC s6tdt|j��}|jj|||f�|S(NsGT%d(R^R,RR-(RqtpointstcolorsRz((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytaddGouraudTriangles6sc
C s�t�}x�|jD]�\}}}|jd�}|||<|j}|j|d|ddf�}|j|d|ddf�}tj|dd�d}	tj|dd�d}
td�|
|	}|j	|j
didd	6d
d6dd6dd
6td�d6t
d6|	d|
d|	d|
dddddddg
d6�tj|d|dfdddddfdddfg�}d|d<||	||d<|dd�dd�fd|d<|j|j��|j�qW|j|j|�dS(NsGouraud triangleiiiitaxisiI����tShadingTypei tBitsPerCoordinatetBitsPerComponenttBitsPerFlagt	DeviceRGBt
ColorSpacet	AntiAliastDecodetdtypeR�tu1R s>u4R!ig�o@ii(sflagsR-(i(i(R[RRtshapetreshapeRMtminR�RLR+RpRaR^R�temptyRtttostringR(R�R(
RqtgouraudDictRzR R!RR.tflat_pointstflat_colorst
points_mint
points_maxtfactort	streamarr((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR9;s@	
	!!	


$cC sx|jj|d�}|dk	r)|dStd|j�}|jd|j�}|jd7_||f|j|<|S(s=Return name of an image XObject representing the given image.isI%dsimage %diN(RRIRaR^RR(RqtimagetpairRzR((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytimageObjectascC s�|j�\}}}tj|tj�}||df|_|dd�dd�dd�f}|dd�dd�dd�f}|||j�|j�fS(Nii(tas_rgba_strRMt
fromstringtuint8R.R2(RqtimR�R�R5trgbaRta((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt_rgbqs%%g333333�?g�z�G��?g)\��(�?cC s�|j�}tj|dtj�}|d|ddf|_|jtj�}|dd�dd�df}|dd�dd�df}	|dd�dd�df}
|||	||
|jtj�}|d|d|j�fS(Niiii(R=RMR>R?R.tastypetfloat32R2(RqR@trctgctbctrgbatRAtrgba_fRkR�R�tgray((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt_grayzs&c	C s�x�|jj�D]�\}}|j�|jr�|j|�\}}}|j|dj|jd�itd�d6td�d6|d6|d6td	�d
6dd6�|j	j
|�|j�n!|j|�\}}}}|jd
�}|j|j|jd�itd�d6td�d6|d6|d6td	�d
6dd6�}|j	j
|�|j�|j|dj|jd�itd�d6td�d6|d6|d6td�d
6dd6|d6�|j	j
|�|j�|j�qWdS(Nislength of image streamR�R�tImageRYtWidthtHeightt
DeviceGrayR)iR&tsmaskslength of smask streamR(tSMask(
RR]t
flipud_outtis_grayscaleRLR+RpRR^R�RtR(RC(	RqtimgR;R*R)R�tadatatsmaskObjectR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR:�s@
	




cC s�|j||dt�}t|�t|�f}|jj|�}|dkr�tdt|j��}|j	dt|j��}	|j
|�}
||	|
|g|j|<n'|d|kr�||d<n|d}|S(s<Return name of a marker XObject representing the given path.RsM%ds	marker %di����iN(RR9R`RQRRIRaR^R,Rtget_extents(RqR�ttranstfillptlwtpathopsRlR3RzRR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytmarkerObject�s

cC s�x�|jj�D]�\\}}\}}}}|j|d�}|j|jditd�d6td�d6t|j�d6�|j	|�|r�|j	t
j�n|j	t
j�|j
�qWdS(Ng�?R�R�R�RYR�(Rt	iteritemstpaddedR+RpRaR^R_textentsR,R/R�R�R((RqR\RZRzRR�R[((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR;�s.	
cC s\g}d}xI|j|d|d|�D],\}}|tjkrc|j|�|jtj�n�|dkr{td�n�|tj	kr�|j|�|jtj
�n�|tjkr�tt
|d�t
|��}|j|d�|jtj�nQ|tjkr,|j|�|jtj�n"|tjkrN|jtj�n|}q(W|S(NR�RsPath lacks initial MOVETOi����i(Rat
iter_segmentsR(tMOVETOR\R-R/R�ROtLINETOR�tCURVE3RR_R�tCURVE4t	CLOSEPOLYR�(R�RuR�Rtcmdstlast_pointsR tcode((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�s.

 

cC sj|r2dd|jd|jdf}|j}nd}t}|j|||d|�}|j|�dS(NgiHR(R)R*tshould_simplifyRaR9RR,(RqR�RuR�RRg((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt	writePath�s R�cC s;|j}|jd7_|jjdd|g�t|�S(s�Reserve an ID for an indirect object.
        The name is used for debugging in case we forget to print out
        the object with writeObject.
        iiN(R�R�R-RaRo(RqRzRp((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�s	cC s|jj�|j|d<dS(Ni(R�R�R�(RqRp((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR��scC s$|j|j�|j||�dS(N(R�RpRt(RqtobjectRu((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR��scC s�|jj�|_|jd|j�d}t}x�|jD]�\}}}|d	krwtj	d||fIJt
}n=|dkr�|jd||f�n|jd||f�|d7}q<W|r�td�nd	S(
sWrite out the xref table.s
xref
0 %d
isNo offset for object %d (%s)sthe zero objects%010d %05d f 
s%010d %05d n 
isIndirect object does not existN(R�R�t	startxrefRtR�R9R�RatsyststderrR�R:(RqR4tborkentoffsett
generationRz((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR=s	cC s�d�}d�}i	td6td6td6td6td6td6|d	6|d
6|d6}xb|jj�D]Q}||kr�tjd|�qg|||j|�sgtjd
|�qgqgW|jd�|_|j|j|j�dS(s8Write out the info dictionary, checking it for good formcS s
t|t�S(N(RKR(R((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt<lambda>scS st|t�o|jdkS(NR�R9tUnknown(sTruesFalseRt(RKR^Rz(R((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRsstTitletAuthortSubjecttKeywordsR�R�R�tModDatetTrappedsUnknown infodict keyword: %ss!Bad value for infodict keyword %stinfoN(RR
tkeysRoRpRt
infoObjectR�(Rqtis_datet
check_trappedtkeywordstk((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR<s$		

cC sV|jd�|jti|jd6|jd6|jd6��|jd|j�dS(sWrite out the PDF trailer.strailer
tSizetRoottInfos
startxref
%d
%%%%EOF
N(RtR>R�RR}Rm(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR>.s
	

((RwRxRyRrR3R?RtR,RaR+R(ROR6RQRSRwR�R�RTR
RR8R"R9R<RCRLR:R]R;R�RR9RkRR�R�R=R<R>(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�jsJ	Q								
	;	2		�-		
	(		&				%		
				tRendererPdfcB seZed�Zed�Zd�Zd�Zdd�Zd�Z	d�Z
d�Zd�Zd�Z
dd	�Zdd
�Zd�Zd�Zd
d
d
d
d�Zd�Zd�Zd�Zed�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(i2cC sJtj|�||_|j�|_td�|_||_d|_	dS(NtPdf(
R
RrRvtnew_gcRGR#tmathtext_parsert	image_dpiRattex_font_map(RqRvR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRr=s
		cC s|jj|jj��dS(N(RvR,RGtfinalize(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�EscC sJ|j}||_|jj|�}|r=|jj|�n||_dS(N(t
_fillcolorRGtdeltaRvR,(RqRGt	fillcolort	orig_fillR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytcheck_gcHs		cC s8|jdkr-tjtjd��|_n|j|S(Ns
pdftex.map(R�RaRmt
PsfontsMapt
find_tex_file(Rqttexfont((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyttex_font_mappingRscC s�t|ttf�r|}n	|j}t|�\}}|jjj||t�f�}|dj	g|D]}t
|�^qk�dS(sDKeeps track of which characters are required from
        each font.iN(RKR�RTtfnameRRvRt
setdefaultR�tupdateR(RqR^R5R�RURVRR((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyttrack_charactersXs		cC sYxR|j�D]D\}\}}|jjj||t�f�}|dj|�q
WdS(Ni(R]RvRR�R�R�(RqtotherRVRUtcharsetR((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytmerge_used_charactersdscC s|jdS(NgR@(R�(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytget_image_magnificationjscC s�|j|�|j�\}}d||jd||j}}|jj|�}|jjtj|dd|||tj|tj	tj
�dS(NgR@i(R�tget_size_outR�RvR<R,R/R�R�R�R�(RqRGRtyR@R�R�timob((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt
draw_imagems
#'cC s[|j||�|jj|||dko:|j�dk�|jj|jj��dS(N(R�RvRkRatget_hatch_pathR,RGtpaint(RqRGR�RutrgbFace((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt	draw_pathvs
	cC sAt|�t|�dkr?tj|||||||�dS|j||�|dk	}|jj}|jj||||jj	�}	|t
j�d\}
}x�|j|dt
�D]u\}}
t|�r�|d\}}||
||}}|dddd||t
j|	t
j�	||}
}q�q�W|t
j�dS(Ni
iRi����i(ii(R,R
tdraw_markersR�RaRvR,R]RGt
_linewidthR/R�RaR9R�R�R�(RqRGtmarker_pathtmarker_transR�RYR�RZR,tmarkertlastxtlastytverticesRiRR�tdxtdy((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�}s&
	
"
cC s,|j||jd�|jd�|�dS(Niiii(iii(iii(tdraw_gouraud_trianglesR/(RqRGR R!RY((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytdraw_gouraud_triangle�scC s0t|�t|�kst�|jdks3t�|jddksLt�|jddkset�|jdkszt�|jddks�t�|jddks�t�|j}|j|d|ddf�}|j|�}|j|�}|jj||�}|j|�|jj	|t
j�dS(Niiiii(R,R:tndimR.R/RuRvR"R�R,R/R�(RqRGR R!RYR.ttpointsRz((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR��s	!
ic			C s�||kodknrH|jj||||||tj�ne|dt}|jjt|�t|�t|�t|�||tj�|jjd|tj�dS(Nig�f@(RvR,R/R�RRRR�(	RqRR�tdescenttangletoldxtoldyt
olddescenttoldangle((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt_setup_textpos�s,cC s/|jj|d|�\}}}	}
}}|j|�td}
|dt}|jjtj�|jjt	|�t
|�t
|�t	|�||tj�|j||j
�|jjtj�d	}d
\}}x�|
D]�\}}}}}}t|�rd}n|
}|dks*|dkr�|j||dd||�||}}||f|kr�|jj|jj|�|tj�||f}n|jj|jt|�|�tj�q�q�W|jjtj�|
dkr�x�|
D]�\}}}}}}t|�rd}n|
}|dkr�|dkr�|jj|�|jjtjd|ddd|||tj�|jj||�}|jjt|�tj�|jjtj�q�q�WnxK|D]C\}}}}|jjtj||||tjtjtj�q�W|jjtj�dS(NiHspdf.fonttypeg�f@ii*i�ig����MbP?(NN(ii(R�tparseR�R
RRvR,R/R�RRR�R�RCR�RaRR�ROR�t
encode_stringR�R�R�R�R^R�R�R�R7(RqRGRR�R5RvR�R)R*R�tglyphstrectsRtglobal_fonttypeRBt	prev_fontR�R�toxtoyR_tfontsizetnumR�RRz((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt
draw_mathtext�sV*

4
	

/	

	c#C s�|j�}|j�}|j||�}	tj|	d�}
t|
�j�}|
j�dg}}
x�|j	D]�\}}}}}||kr4|j
j|j�}|j
j
j|j�s|j|j�}td|jd|jd|jd|jd|�|j
j
|j<n|
d||jgg7}
|}n|
d||t|�g||gg7}
qoWd\}}}x4|t|
�d
kr�|
||d!\}}|d	dkr�|d}n�|d	|d	ko�dknr�|d|dkr�|d|d
}t|�d
krT|ddc|dd	7<|dc|d|d
7<n4|dc|d||dd	g7<|d|d<|
|d
=qsn|d
7}qsWt�j|�j||�}|j||j�|j
jtj �d\}}}}x�|
D]�}|d	dkr>|j
j|d
|dtj!�q|d	dkr�|j"|d
|df�\}}|j#||d	|||�||}}t|d�d
kr�|j
j|dd	tj$�q�|j
j|dtj%�qt&st'�qW|j
jtj(�|j)�}|j*|�|j+d	�t,j-t,j.t,j.t,j.t,j/g}x�|j0D]w\}}} }!t,||g||!|g||!|| g||| gd	d	gg|�}"|j1||"||j�qeWdS(NiHRnRqRlRtRjR^ttextiiiig�������?ii����g@�@(iiN(iiii(2tget_texmanagertget_size_in_pointstmake_dviRmtDvititertnextR?RaR�RvRORxRRRR�RRtpsnametencodingRttsizetchrR,tabsR$t
rotate_degt	translateR�RCR,R/R�R�RuR�R�R�R9R:R�R�tcopy_propertiest
set_linewidthR(RbRcRftboxesR�(#RqRGRR�R5RvR�t
texmanagerR�tdvifiletdviR&toldfonttseqtx1ty1RjR�R)tpdfnametpsfontR4tcurxteltR�RqtmytranstcuryR�R�tboxgcR\R�R�R�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytdraw_tex�sz

					-
8&
$#
!

7cC s,|dkr|jdd�S|jdd�S(NiiR�R�sutf-16be(ii(RU(RqR5R((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�Nsc	 s~�j||j�|r5�j|��	����S�j��tdr��j����j��\}}	}
}|	�d�d�ng�j����j����j	�ddt
��j�d�td�t�j
�r�d�n�fd	�}���������	f	d
�}
���������	f	d�}|��\}}|rp|
�S||�SdS(Nspdf.use14corefontsi�igR�gP@spdf.fonttypei*c st}g}tds��dkr�t|t�r�t|�dkr�t|�}x}|D]u}t|�dkrxd}nd}t|�r�|dd|kr�|ddj|�qW|j||gf�qWWt|�dko�|dddk}q�n||fS(s�Determine if we should use the simple or woven method
            to output this text, and chunks the string into 1-byte and
            2-byte sections if necessary.spdf.use14corefontsiii�iii����(R�R
RKR�R,RTRR-(R5tuse_simple_methodtchunksR�t	char_type(R(sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytcheck_simple_methodxs
.
	 c sm�jjtj�jj���tj��j������jj�j���tjtj	�dS(s%Outputs text using the simple method.N(
RvR,R/R�ROR�R�R�R�R�((	R�R�R�RRvR5RqRR�(sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytdraw_text_simple�s
c
 s�g|D]!\}}|dj|�f^q}�j�}�jjtj��dt}�jjt|�t|�t|�t|���tj	�xLdD]D}d}}d}|dkr��jjtj
�jj���tj�nx�|D]�\}}	|dkrn|dkrn�j
|d�d|d|d��jj�j|	��tj�|}�}nd
}
xG|	D]?}t|�}|j|�}
|
d
k	r{|dkrY|dkrY�j|
�}�jjtj��jjd�ddd�|dtj	��jj�j|�}�jjt|�tj��jjtj�n�j|dt�}|
d
k	r��j|
|
t�}nd}|
}
||d|jd	7}q{q{Wq�W|dkr��jjtj�q�q�W�jjtj�d
S(s�Outputs text using the woven method, alternating
            between chunks of 1-byte characters and 2-byte characters.
            Only used for Type 3 fonts.R�g�f@iiig����MbP?R�gP@g�@N(ii(R.R�RvR,R/R�RRRR�R�ROR�R�R�R�RaRRIR�R�R�R^R�R�R�R!tget_kerningR"tlinearHoriAdvanceR�(R�RBR�R�tmodetnewxR�R�t
chunk_typetchunktlastgindR�R�R�R�RzR�tkern(	R�R�R^R�RRvRqRR�(sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytdraw_text_woven�sZ.4



""	

	$(R�RCR�R�R
t
_get_font_afmtget_str_bboxt
_get_font_ttfR�tset_textR!tget_descentRR�(RqRGRR�R5RvR�tismathR�R�R�R�R�R�R�R�R�((
R�R�R^R�RRvR5RqRR�sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt	draw_textSs.
	
	'	'AcC sgtdrP|j�}|j�}|j||d|�\}}}|||fS|r�|jj|d|�\}}}}	}
}n�tdr�|j|�}|j|�\}
}}}}|j�}||d9}||d9}||d9}ng|j|�}|j	|ddt
�|j�\}}d
}||9}||9}|j�}||9}|||fS(Nstext.usetextrendereriHspdf.use14corefontsi�gR�g�?gP@g�?(
R
R�R�tget_text_width_height_descentR�R�R�tget_str_bbox_and_descentR�R�R!tget_width_heightR�(RqR5RvR�R�R�R�R�R�R�R�RR^R�R�R((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR��s0

-



cC s�t|�}|jj|�}|dkr�t|ddd|jj�}|dkrutdddd|jj�}n|jj|�}|dkr�t|�}t|�}||j|<|j�n||j|<n|S(NRDRERFRG(	thashtafm_font_cacheRIRaRRvR�RR?(RqRvRlR^RR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR��s"

cC s�t|�}|jj|�}|dkr�t|�}|jj|�}|dkrvtt|��}||j|<n||j|<n|j�|j|j	�d�|S(NiH(
R�ttruetype_font_cacheRIRaRRR�tcleartset_sizeR�(RqRvRlR^R((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�s
cC stS(N(R9(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytflipy scC s|jjd|jjdfS(NgR@(RvR)R*(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytget_canvas_width_height#scC s
t|j�S(N(R-Rv(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�&sN(RwRxRRR�RrR�RaR�R�R�R�R�R�R�R�R�R�R�R�R�R�R9R�R�R�R�RRR�(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�9s2		
								
	A	W	�					R-c
B sIeZd�Zd�Zd�Zd�Zd�Zd�Zidd6dd	6d
d6Zidd6dd	6d
d
6Z	d�Z
d�Zd�Zd�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd&efd'efd(e
fd)efd*efd+efd,e
fd-efd.eff	Zd#�Zd$�Zd%�ZRS(/cC s,tj|�d|_||_d|_dS(Ng(ggg(RRrR�RvRatparent(RqRv((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRr,s
		cC s"t|j�}|d=|d=|
S(NRvR(R[Ri(RqR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRs2scC sD|jdkoC|jdkoCt|j�dkpC|jddkS(s�
        Predicate: does the path need to be stroked (its outline drawn)?
        This tests for the various conditions that disable stroking
        the path, in which case it would presumably be filled.
        iig(R�t_alphaR,RC(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt_strokep8scC s>|jp=|jdk	o=t|j�dkp=|jddkS(s=
        Predicate: does the path need to be filled?
        igN(t_hatchR�RaR,(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt_fillpAs	cC sG|j�r)|j�rtjStjSn|j�r<tjStjSdS(s|
        Return the appropriate pdf operator to close the path and
        cause it to be stroked, filled, or both.
        N(RR	R/R�R�R7R�(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytclose_and_paintIs
cC sG|j�r)|j�rtjStjSn|j�r<tjStjSdS(so
        Return the appropriate pdf operator to cause the path to be
        stroked, filled, or both.
        N(RR	R/R�R�R7R�(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�Ys
itbuttiR'it
projectingtmitertbevelcC s|j|tjgS(N(t	capstylesR/R�(Rqtstyle((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytcapstyle_cmdlscC s|j|tjgS(N(R.R/R�(RqR((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt
joinstyle_cmdoscC s
|tjgS(N(R/R�(RqR)((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt
linewidth_cmdrscC s=|\}}|dkr'g}d}nt|�|tjgS(Ni(RaR_R/R�(RqtdashesRqtdash((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytdash_cmdus
	cC s|jj|�}|tjgS(N(RvR
R/R�(RqRRz((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt	alpha_cmd|scC s�|s;|jdk	r%|j|j�Std�tjgSnC|j|j|f}|jj|�}td�tj|tj	gSdS(NR(R�(
R�Rat
fillcolor_cmdR^R/R�RCRvRR�(RqRRRz((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt	hatch_cmd�scC sctdrgS|d|dko1|dknrG|dtjgSt|d �tjgSdS(Nspdf.inheritcoloriiii(R
R/R�R_R�(RqR((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytrgb_cmd�s

(cC so|dkstdrgS|d|dko=|dknrS|dtjgSt|d �tjgSdS(Nspdf.inheritcoloriiii(RaR
R/R�R_R�(RqR((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�s
(cC s;t|j�}|j|�|j|_||_tjgS(N(R-RvR�RR/R�(RqR((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytpush�s

	cC s>|jdk	st�|j|j�|jj|_tjgS(N(RRaR:R�R/R�(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytpop�scC sg}xD|j|jf||fkrL|jdk	rL|j|j��q	W|j|jf||fkr|j|j��|j|kr�|j|tjtj	tj
g�n|j|kr|j�\}}|jtj
||dt�tj	tj
g�qn|S(s5Set clip rectangle. Calls self.pop() and self.push().RN(t	_cliprectt	_clippathRRaR\RRR/R�R�R�tget_transformed_path_and_affineR�RR9(RqtcliprecttclippathRgR�taffine((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytclip_cmd�s!%RRRt	_capstyleR�t
_joinstyleR�t_dashesRCRc	C s=g}x0|jD]%\}}t}x�|D]�}t||�}t||�}yt||k�}WnVtk
r�tj|�}tj|�}|j|jkp�tj||k�}nX|r)Pq)q)W|rg|D]}t||�^q�}|j	|||��x*|D]}t
||t||��qWqqW|S(sy
        Copy properties of other into self and return PDF commands
        needed to transform self into other.
        (tcommandsR9tgetattrRQRORMtasarrayR.tanyR\tsetattr(	RqR�Rgtparamstcmdt	differenttptoursttheirs((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR��s(

+"
$cC s tj||�|j|_dS(s5
        Copy properties of other into self.
        N(RR�R�(RqR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR��scC s3g}x&|jdk	r.|j|j��q	W|S(sB
        Make sure every pushed graphics state is popped.
        N(RRaR\R(RqRg((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR��s(s	_cliprects	_clippath(s_alpha(R$(s
_fillcolor(R%(s
_linewidth(R&(s_rgb(s_hatch(RwRxRrRsRR	R
R�RR.RRRRRRRRRRR#R'R�R�R�(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR-*s>																												cO s@|jdt�}|||�}t|�}t||�}|S(s.
    Create a new figure manager instance
    tFigureClass(RRtFigureCanvasPdftFigureManagerPdf(R�targstkwargsR2tthisFigtcanvastmanager((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytnew_figure_manager�s
tPdfPagescB s;eZdZdZd�Zd�Zd�Zdd�ZRS(s
    A multi-page PDF file.

    Use like this::

        # Initialize:
        pp = PdfPages('foo.pdf')

        # As many times as you like, create a figure fig, then either:
        fig.savefig(pp, format='pdf') # note the format argument!
        # or:
        pp.savefig(fig)

        # Once you are done, remember to close the object:
        pp.close()

    (In reality PdfPages is a thin wrapper around PdfFile, in order to
    avoid confusion when using savefig and forgetting the format
    argument.)
    t_filecC st|�|_dS(s�
        Create a new PdfPages object that will be written to the file
        named *filename*. The file is opened at once and any older
        file with the same name is overwritten.
        N(R�R<(RqR((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRr"scC s|jj�d|_dS(s_
        Finalize this object, making the underlying file a complete
        PDF file.
        N(R<R?Ra(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR?*s
cC s
|jjS(s�
        Return a modifiable information dictionary object
        (see PDF reference section 10.2.1 'Document Information
        Dictionary').
        (R<R
(Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytinfodict2scK s�t|t�r(|j|dd|�n`|dkrCtj�}ntj|�}|dkrotd|
�n|jj	j|dd�dS(s
        Save the Figure instance *figure* to this file as a new page.
        If *figure* is a number, the figure instance is looked up by
        number, and if *figure* is None, the active figure is saved.
        Any other keyword arguments are passed to Figure.savefig.
        tformattpdfsNo such figure: N(
RKRtsavefigRaRt
get_activetget_fig_managerROR8tfigure(RqRCR6t
figureManager((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR@:s(s_fileN(	RwRxRyR�RrR?R=RaR@(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR;s			R3cB s6eZdZd�Zidd6Zd�Zd�ZRS(s�
    The canvas the figure renders into.  Calls the draw and print fig
    methods, creates the renderers, etc...

    Public attribute

      figure - A Figure instance
    cC sdS(N((Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytdrawWssPortable Document FormatR?cC sdS(NR?((Rq((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytget_default_filetype\sc	K s�|jdd�}|jjd�|jj�\}}t|t�rR|j}nt|�}|j||�|j	dd�}t|j|||t||�d|�}|jj
|�|j�t|t�r�|j�n
|j�dS(NtdpiiHtbbox_inches_restore(RIRCtset_dpitget_size_inchesRKR;R<R�R3RRaRR�RER�R(R?(	RqRR6R�R)R*Rvt_bbox_inches_restoreR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt	print_pdf_s 		

(RwRxRyREt	filetypesRFRL(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR3Ms
	
	R4cB seZRS((RwRx(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR4ss(cRyt
__future__RRWR�R�RnRcRoR�tnumpyRMt	cStringIORRtmathRRRRRR�t	NameErrortsetsRRJR	R
Rtmatplotlib._pylab_helpersRtmatplotlib.backend_basesR
RRRt!matplotlib.backends.backend_mixedRtmatplotlib.cbookRRRRRRtmatplotlib.mlabRtmatplotlib.figureRtmatplotlib.font_managerRRtmatplotlib.afmRtmatplotlib.type1fontRrtmatplotlib.dvireadRmtmatplotlib.ft2fontRRRR R!R"tmatplotlib.mathtextR#tmatplotlib.transformsR$R%R&R'tmatplotlib.pathR(R)R7R�RYR=R>RlRoR^R�R[t_pdfopsR]RzRBR/R�R�R�R-R:R;R3R4t
FigureManager(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt<module>s�(
".."3		S	4J�������	B&