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: //opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyo
�
`�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 sG|jd�}|dkr#d|S|dkr3dS|dkrCdSdS(Nis\()s\s
s\ns
s\r(tgroup(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(tselfRn((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt__init__�scC sd|jS(Ns<Reference %d>(Rn(Ro((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt__repr__�scC sd|jS(Ns%d 0 R(Rn(Ro((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
(twriteRnR<(RotcontentstfileRr((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRr�s	(t__name__t
__module__t__doc__RpRqR<Rr(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRm�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(RIR\Rxt_regexRXthexify(RoRx((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRp�scC sd|jS(Ns	<Name %s>(Rx(Ro((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRq�scC sd|jS(Nt/(Rx(Ro((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt__str__�scC sdt|j��S(Ns#%02x(tordR8(R9((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRz�scC sd|jS(NR{(Rx(Ro((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR<�s(sname(
RuRvRwt	__slots__tretcompileRyRpRqR|tstaticmethodRzR<(((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�(RoR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRpscC sd|jS(Ns
<Operator %s>(R�(Ro((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRqscC s|jS(N(R�(Ro((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR<	s(sop(RuRvRwR~RpRqR<(((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	rectangleRtlinetotltmovetoR: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().
    RnR,tpdfFileRttcompressobjtextratposcC 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(RnR,R�tfhRtR_R�RYR�t
recordXrefR
tzlibRt_writeHeaderttellR�(RoRnR,RtR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRp(s					

cC sn|jj}|d|j�|j}|j|d<tdrPtd�|d<n|t|��|d�dS(Ns	%d 0 obj
tLengthspdf.compressiontFlateDecodetFilters
stream
(RtRrRnR�R,R
R\R<(RoRrRY((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,R_RttgetvalueR�R�R�RrR�R�twriteObject(RoRsR6((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�R_RtRrtcompress(Rotdatat
compressed((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRrYscC s>|jdk	r:|jj�}|jj|�d|_ndS(sFlush the compression object.N(R�R_tflushRtRr(RoR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�bs(sidslenspdfFilesfilescompressobjsextrasposN(
RuRvRwR~R_RpR�R�RrR�(((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	xrefTabletFalsetpassed_in_file_objectRRtRtTrueRMtostpathR.R
t_core14fontdirR�R_t
currentstreamRrt
reserveObjectt
rootObjecttpagesObjecttpageListt
fontObjecttalphaStateObjectthatchObjectt
gouraudObjectt
XObjectObjecttresourceObjectR\R�tstriptsplitR	RttodaytinfoDictt	fontNamestnextFonttdviFontInfottype1Descriptorstused_characterstalphaStatestnextAlphaStatet
hatchPatternst	nextHatchtgouraudTrianglestimagest	nextImagetmarkerstmulti_byte_charprocs(	RotfilenameR�R�tsvn_special_stringtrevisiontxtprocsetsR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRpmst					

	
)														"





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	endStreamtwidththeightR�R\RRR�RR-tbeginStreamRntoutputtGraphicsContextPdft
joinstylestOpR�(RoR(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�RRYRtvaluestwriteHatchestwriteGouraudTrianglesRRRR[RtwriteImagestwriteMarkersRR\RR,t
writeInfoDictt	writeXreftwriteTrailerR�R�R�tclose(RoRktxobjectsttupRxtvalue((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�R_R�Rr(RoR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRr�scG s-|jttt|���|jd�dS(Ns
(RrR7tmapR<(RoR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR+�scC st||||�|_dS(N(R�R�(RoRnR,R�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR*�scC s,|jdk	r(|jj�d|_ndS(N(R�R_R�(Ro((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�R_R
tgetR\Rt
matplotlibtverbosetreport(RotfontpropRtFx((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 %sRGs.afmsWriting AFM fontsWriting Type-1 fontsWriting TrueType fonti(R
R[RIRJRKtendswitht_write_afm_fontRthas_keytembedTeXFontRRRHR_R,tembedTTFR�R(RoR�RRMtrealpathtstat_keytchars((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR5!s !cC s�t|�}t|�}|j�|j�}itd�d6td�d6t|�d6td�d6}|jd�}|j||�|S(	NR�R�tType1tSubtypetBaseFonttWinAnsiEncodingtEncodingsfont dictionary(RtRR>tget_fontnameR\R�R�(RoRR�tfonttfontnametfontdicttfontdictObject((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRP6s


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=RGsfont widthssfont dictionaryR�R�RWRXit	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.RYtFontNametslantgRZg�?tFontDescriptor(RIRJRKt__dict__R�R�tdvifonttwidthsR\R,tencodingfileR_tdvireadR[tfontfiletwarningstwarntbasefontt	type1fontt	Type1Fontteffectst	transformtpropRHRtcreateType1Descriptor(RottexnametfontinfotwidthsObjectR`R_tenctchtdifferencesArraytt1fontRstfontdesc((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRRCsJ	



	*
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isFixedPitchiiiiRgR�RetFlagstFontBBoxtAscenttDescenti�t	CapHeighti�tXHeighttFontFilet
FamilyNamet
FontFamilyi2tStemVtLength1tLength2tLength3iii@(R�RuRtstrR\tbboxtascendert	descenderR�R*RnR_R,tpartsR�RrR'(
RoR}RmtfontdescObjecttfontfileObjecttitalic_angletfixed_pitchtflagstft2fontt
descriptor((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRv~sB










cC s*dtjjtjj|��d|fS(Ns%s-%si(R�R�tsplitexttbasename(RoRtsymbol_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(R6tupetnearestRA((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�RYRaRbRgtType3RXReR\R�g����MbP?t
FontMatrixt	CharProcsR[RdRci����(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(R}tdecoding_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�RRR((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(R�R�R�R\t	encodingsR�RHtrangetmaxtget_charmaptsetRHR-tget_glyph_nametaddtsortR)tget_pdf_charprocsR[R,tfindR*RnR_R�RrR'R�RR�(!R]t
charactersR�RyR�R`tcharprocsObjectR|t	firstchartlastcharRR�R_R�R�Rjtcmapt	glyph_idstdifferencestmulti_byte_charsR�tccodetgindt
glyph_nametlast_cRxtrawcharprocst	charprocstcharprocsReftcharnametstreamtcharprocDicttcharprocObject(R�Rtps_nameRo(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CIDFontType2RXRYtAdobetRegistrytIdentitytOrderingit
Supplementt
CIDSystemInfoRgR�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(R�R\R*RntopenR�treadR,R�RrR>R'R�R�RHR�R!R-R�tunichrR�R�R.R�t_identityToUnicodeCMapRSR_(#R]R�R�R�tcidFontDictObjectttype0FontDictObjecttcidToGidMapObjectR�twObjectttoUnicodeMapObjecttcidFontDictt
type0FontDictt
length1ObjectRmtlength1R�tcid_to_gid_mapR�tunicode_mappingRjt	max_ccodeR�R�R�tglypht
last_ccodeR�t	max_widthtunicode_groupsR(tunicode_bfrangetstartR�Rtunicode_cmap(RR�Ro(sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytembedTTFType42Hs�








	






<	


iiiii	sutf-16betasciitreplacetpcltt	capHeighttxHeighttposttitalicAngleiiRgR�ReR�R�R�R�R�R�R�RR�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_sfnttKeyErrortdecodeRSR\tget_sfnt_tablet
face_flagststyle_flagsR�RRR�R�R�RRnRoR�R�R�(RoRR�R]tfonttypeR�R�tsfntR�R�tfftsfR�tsymbolicRR�((R�RR�RosR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRS�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(RRHR_R\R(RotalphatstateRx((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(RRHR_R\R(Rothatch_styletpatternRx((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(RYRR[R�R
R\R*RnR_R+R.R�R�R�R7R�tpathOperationsR(thatchR$tscaleR�R�R'R�R(	Rot	hatchDicttsidelenR
RxtobRtrestrgb((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR7s:	
)	
%
!

cC s6tdt|j��}|jj|||f�|S(NsGT%d(R\R,RR-(RotpointstcolorsRx((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�tu1Rs>u4R ig�o@ii(sflagsR,(i(i(RYRR�tshapetreshapeRKtminR�RJR*RnR_R\R�temptyRrttostringR'R�R(
RotgouraudDictRxRR RR-tflat_pointstflat_colorst
points_mint
points_maxtfactort	streamarr((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR8;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(RRHR_R\RR�(RotimagetpairRxR((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_strRKt
fromstringtuint8R-R1(RotimR�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<RKR=R>R-tastypetfloat32R1(RoR?trctgctbctrgbatR@trgba_fRiR�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�tImageRXtWidthtHeightt
DeviceGrayR(iR%tsmaskslength of smask streamR'tSMask(
RR[t
flipud_outtis_grayscaleRKR*RnR�R\R�RrR'RB(	RotimgR:R)R(R�tadatatsmaskObjectR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR9�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(RR�R^RORRHR_R\R,R�tget_extents(RoR�ttranstfillptlwtpathopsRjR3RxRR�((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�RXR�(Rt	iteritemstpaddedR*RnR_R\R]textentsR+R.R�R�R'(RoR[RYRxRR�RZ((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(R_t
iter_segmentsR(tMOVETORZR-R.R�RMtLINETOR�tCURVE3RR]R�tCURVE4t	CLOSEPOLYR�(R�RtR�Rtcmdstlast_pointsRtcode((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_simplifyR_R�RR+(RoR�RtR�RRf((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-R_Rm(RoRxRn((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�(RoRn((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR��scC s$|j|j�|j||�dS(N(R�RnRr(RotobjectRs((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	startxrefRrR�R�R�R_tsyststderrR�tAssertionError(RoR4tborkentoffsett
generationRx((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(RIR(R((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt<lambda>scS st|t�o|jdkS(NR�R�tUnknown(sTruesFalseRt(RIR\Rx(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tkeysRnRoR�t
infoObjectR�(Rotis_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(RrR<R�RR}Rl(Ro((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR=.s
	

((RuRvRwRpR2R>RrR+R_R*R'RNR5RPRRRvR�R�RSRRR7R!R8R;RBRKR9R\R:R�RR�RjR�R�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
RpRttnew_gcRFR#tmathtext_parsert	image_dpiR_ttex_font_map(RoRtR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRp=s
		cC s|jj|jj��dS(N(RtR+RFtfinalize(Ro((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�EscC sJ|j}||_|jj|�}|r=|jj|�n||_dS(N(t
_fillcolorRFtdeltaRtR+(RoRFt	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�R_Rlt
PsfontsMapt
find_tex_file(Rottexfont((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(RIR�RRtfnameRRtRt
setdefaultR�tupdateR}(RoR]R5R�RTRURR((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[RtRR�R�R�(RototherRURTtcharsetR((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytmerge_used_charactersdscC s|jdS(NgR@(R�(Ro((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�RtR;R+R.R�R�R�R�(RoRFRtyR?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�RtRjR_tget_hatch_pathR+RFtpaint(RoRFR�RttrgbFace((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�R_RtR+R\RFt
_linewidthR.R�R`R�R�R�R�(RoRFtmarker_pathtmarker_transR�RXR�RYR+tmarkertlastxtlastytverticesRhRR�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.(RoRFRR RX((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytdraw_gouraud_triangle�scC s�|j}|j|d|ddf�}|j|�}|j|�}|jj||�}|j|�|jj|tj�dS(Niii(	R-R.RtRtR!R�R+R.R�(RoRFRR RXR-ttpointsRx((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@(RtR+R.R�RRRR�(	RoRR�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
RRtR+R.R�RRR�R�RBR�R_RR�RNR�t
encode_stringR�R�R�R�R\R�R�R�R7(RoRFRR�R5RuR�R(R)R�tglyphstrectsRtglobal_fonttypeRAt	prev_fontR�R�toxtoyR^tfontsizetnumR�RRx((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%�qqW|j
jtj&�|j'�}|j(|�|j)d	�t*j+t*j,t*j,t*j,t*j-g}x�|j.D]w\}}} }!t*||g||!|g||!|| g||| gd	d	gg|�}"|j/||"||j�qYWdS(NiHRmRpRkRsRiR]ttextiiiig�������?ii����g@�@(iiN(iiii(0tget_texmanagertget_size_in_pointstmake_dviRltDvititertnextR>R_R�RtRNRwRRQR�RRtpsnametencodingRstsizetchrR,tabsR$t
rotate_degt	translateR�RBR+R.R�R�RtR�R�R�R�R�tcopy_propertiest
set_linewidthR(RaRbRetboxesR�(#RoRFRR�R5RuR�t
texmanagerR�tdvifiletdviR%toldfonttseqtx1ty1RiR�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(RS(RoR5R((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
RIR�R,RRR}R-(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(
RtR+R.R�RNR�R�R�R�R�((	R�R�R�RRuR5RoRR�(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�RtR+R.R�RRRR�R�RNR�R�R�R�R_R}RHR�R�R�R\R�R�R�R!tget_kerningR"tlinearHoriAdvanceR�(R�RAR�R�tmodetnewxR�R�t
chunk_typetchunktlastgindR�R�R�R�RxR�tkern(	R�R�R]R�RRuRoRR�(sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytdraw_text_woven�sZ.4



""	

	$(R�RBR�R�R
t
_get_font_afmtget_str_bboxt
_get_font_ttfR�tset_textR!tget_descentRR�(RoRFRR�R5RuR�tismathR�R�R�R�R�R�R�R�R�((
R�R�R]R�RRuR5RoRR�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�(RoR5RuR�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(NRCRDRERF(	thashtafm_font_cacheRHR_RRtR�RR>(RoRuRjR]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_cacheRHR_RRR�tcleartset_sizeR�(RoRuRjR]R((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�s
cC stS(N(R�(Ro((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytflipy scC s|jjd|jjdfS(NgR@(RtR(R)(Ro((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytget_canvas_width_height#scC s
t|j�S(N(R,Rt(Ro((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�&sN(RuRvRR�R�RpR�R_R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�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(RRpR�RtR_tparent(RoRt((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRp,s
		cC s"t|j�}|d=|d=|
S(NRtR(RYRh(RoR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRq2scC 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,RB(Ro((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�R_R,(Ro((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(RRR.R�R�R7R�(Ro((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(RRR.R�R�R7R�(Ro((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�(Rotstyle((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytcapstyle_cmdlscC s|j|tjgS(N(R-R.R�(RoR((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt
joinstyle_cmdoscC s
|tjgS(N(R.R�(RoR(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt
linewidth_cmdrscC s=|\}}|dkr'g}d}nt|�|tjgS(Ni(R_R]R.R�(RotdashesRqtdash((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytdash_cmdus
	cC s|jj|�}|tjgS(N(RtRR.R�(RoR
Rx((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�R_t
fillcolor_cmdR\R.R�RBRtRR�(RoRR
Rx((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�(RoR((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(R_R
R.R�R]R�(RoR((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR�s
(cC s;t|j�}|j|�|j|_||_tjgS(N(R,RtR�RR.R�(RoR((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytpush�s

	cC s)|j|j�|jj|_tjgS(N(R�RR.R�(Ro((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	_clippathRR_RZRRR.R�R�R�tget_transformed_path_and_affineR�RR�(RotcliprecttclippathRfR�taffine((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytclip_cmd�s!%RRRt	_capstyleR�t
_joinstyleR�t_dashesRBRc	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.
        (tcommandsR�tgetattrRORMRKtasarrayR-tanyRZtsetattr(	RoR�Rftparamstcmdt	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�(RoR�((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(RR_RZR(RoRf((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(RuRvRpRqRRR	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�targstkwargsR1tthisFigtcanvastmanager((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;(RoR((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyRp"scC s|jj�d|_dS(s_
        Finalize this object, making the underlying file a complete
        PDF file.
        N(R;R>R_(Ro((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(Ro((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(
RIRtsavefigR_Rt
get_activetget_fig_managerRMR7tfigure(RoRBR5t
figureManager((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR?:s(s_fileN(	RuRvRwR~RpR>R<R_R?(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR:s			R2cB 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((Ro((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pytdrawWssPortable Document FormatR>cC sdS(NR>((Ro((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(RHRBtset_dpitget_size_inchesRIR:R;R�R2RR_RR�RDR�R'R>(	RoRR5R�R(R)Rtt_bbox_inches_restoreR�((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt	print_pdf_s 		

(RuRvRwRDt	filetypesRERK(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR2Ms
	
	R3cB seZRS((RuRv(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyR3ss(cRwt
__future__RRUR�RRmRaRnR�tnumpyRKt	cStringIORRtmathRRRRRR�t	NameErrortsetsRRIR	R
Rtmatplotlib._pylab_helpersRtmatplotlib.backend_basesR
RRRt!matplotlib.backends.backend_mixedRtmatplotlib.cbookRRRRRRtmatplotlib.mlabRtmatplotlib.figureRtmatplotlib.font_managerRRtmatplotlib.afmRtmatplotlib.type1fontRqtmatplotlib.dvireadRltmatplotlib.ft2fontRRRR R!R"tmatplotlib.mathtextR#tmatplotlib.transformsR$R%R&R'tmatplotlib.pathR(R)R7R�RWR;R<RkRmR\R�RYt_pdfopsR[RxRAR.R�R�R�R,R9R:R2R3t
FigureManager(((sR/opt/alt/python27/lib64/python2.7/site-packages/matplotlib/backends/backend_pdf.pyt<module>s�(
".."3		S	4J�������	B&