ó
    “’¤j³Î  ã            
       ó  • S r SSKrSSKrSSKrSSKJr  SSKrSSKJr  SSK	r	SSK
r
SSKrSSKrSSKrSSKrSSKrSSKJr  SSKrSSKrSSKrSSKrSSKrSSKJrJrJrJr  SSKJrJrJ r J!r!  SSK"J#r#J$r$  SS	K%J&r&  SS
K'J(r(  SSK)J*r*  SSK+J,r,  SSK-J.r.  SSK/J0r0  SSK1J2r2  SSK3J4r4  \
Rj                  " \65      r7Sr80 SS_SS_SS_SS_SS_SS_SS _S!S"_S#S$_S%S&_S'S(_S)S*_S+S,_S-S._S/S0_S1S2_S3S4_S5S6S7S8S9S:S;S<S=.Er9S>S?.S@ jr:SA r;SB r<SC r=SD r>SE r?SF r@SG rASH rBSI rC " SJ SK\4Rˆ                  5      rE " SL SM\5      rF " SN SO\5      rGSP rHSQ rISZSR jrJSZSS jrKST rLSU rMS[SV jrN\ rO/ SWQrP\R¢                   " SX SY\5      5       rRg)\zG
A PostScript backend, which can produce both PostScript .ps and .eps.
é    N)ÚEnum)ÚStringIO)ÚTemporaryDirectory)Ú_apiÚcbookÚ_pathÚ_text_helpers)Ú_BackendÚFigureCanvasBaseÚFigureManagerBaseÚRendererBase)Úis_writable_file_likeÚfile_requires_unicode)Úget_font)Ú	LoadFlags)Ú	uni2type1)ÚPath)Ú
TexManager)ÚAffine2D)ÚMixedModeRendereré   )Ú_backend_pdf_psFÚletter)ç      !@é   Úlegal)r   é   Úledger)r   é   Úa0)ç®GázŽ@@gHáz®gG@Úa1)ç¤p=
×c7@r!   Úa2)ç
×£p=Š0@r#   Úa3)çáz®Ga'@r%   Úa4)ç
×£p=Š @r'   Úa5)çR¸…ëQ@r)   Úa6)ç…ëQ¸…@r+   Úa7)çHáz®G@r-   Úa8)çffffff @r/   Úa9)ç\�Âõ(\÷?r1   Úa10)gR¸…ëQð?r3   Úb0)çfffffFD@g)\�Âõ¨L@Úb1)ç)\�Âõ¨<@r6   Úb2)ç…ëQ¸E4@r8   )ç)\�Âõ¨,@r:   )ç¸…ëQ8$@r;   )ç¤p=
×£@r<   )ç)\�Âõ(@r=   )ç¤p=
×£@r>   )ç®Gáz@r?   )ç)\�Âõ(ü?r@   )g)\�Âõ(ô?rA   )Úb3Úb4Úb5Úb6Úb7Úb8Úb9Úb10Ú )Úsepc                 ó2   • U R                  S U 5       5      $ )Nc              3   ód   #   • U  H&  oS  R                  S5      R                  S5      v •  M(     g7f)ú1.3fÚ0Ú.N)Úrstrip)Ú.0Úargs     Ú¬C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\matplotlib/backends/backend_ps.pyÚ	<genexpr>Ú_nums_to_str.<locals>.<genexpr>H   s+   é € ÐJÂT¸c˜4�j×(Ñ(¨Ó-×4Ñ4°S×9Ð9ÂTùs   ‚.0)Újoin)rK   Úargss     rT   Ú_nums_to_strrY   G   s   € Ø�8‰8ÑJÁTÓJÓJÐJó    c                 ó  • [        U5      (       aH  [        U5      (       a
  [        U SS9O[        U S5      nU   [        R                  " X!5        SSS5        g[        R
                  " X[        R                  S9  g! , (       d  f       g= f)z|
Move the contents of file at *src* to path-or-filelike *dst*.

If *dst* is a path, the metadata of *src* are *not* copied.
úlatin-1©ÚencodingÚrbN)Úcopy_function)r   r   ÚopenÚshutilÚcopyfileobjÚmoveÚcopyfile)ÚsrcÚdstÚfhs      rT   Ú_move_path_to_path_or_streamri   K   sj   € ô ˜S×!Ñ!ä& s×+Ñ+ô �3 Ò+ä˜˜T“?ð 	ò Ü×Ò˜rÔ'÷ ˆRô 	�Š�C¬F¯O©OÓ<÷ �Rús   ¹A=Á=
Bc                 óè  ^
• [        U 5      m
SR                  T
R                  UST
R                  -  SR	                  [        [        T
R                  5      5      SR	                  U
4S jU 5       5      [        U5      S-   S9nSn/ nU HÏ  nT
R                  U[        R                  5      nT
R                  5       u  p‰UR                  ST
R                  U5      SR	                  [        [        UR                  S/UR                  Q5      5      S	.-  [         R"                  " [%        US
-  U	5      SSSSS/ SQS5      R'                  S5      -   S-   5        MÑ     USR	                  U5      -   U-   $ )a©  
Subset *glyphs_indices* from the font at *font_path* into a Type 3 font.

Parameters
----------
font_path : FontPath
    Path to the font to be subsetted.
subset_index : int
    The subset of the above font being created.
glyph_indices : set[int]
    The glyphs to include in the subsetted font.

Returns
-------
str
    The string representation of a Type 3 font, which can be included
    verbatim into a PostScript file.
aV  %!PS-Adobe-3.0 Resource-Font
%%Creator: Converted from TrueType to Type 3 by Matplotlib.
10 dict begin
/FontName /{font_name}-{subset} def
/PaintType 0 def
/FontMatrix [{inv_units_per_em} 0 0 {inv_units_per_em} 0 0] def
/FontBBox [{bbox}] def
/FontType 3 def
/Encoding [{encoding}] def
/CharStrings {num_glyphs} dict dup begin
/.notdef 0 def
r   rJ   c              3   óL   >#   • U  H  nS TR                  U5       3v •  M     g7f)Ú/N)Úget_glyph_name)rR   Úglyph_indexÚfonts     €rT   rU   Ú$_font_to_ps_type3.<locals>.<genexpr>   s+   øé € ð ?Ú0= ð  ! ×!4Ñ!4°[Ó!AÐ BÕCÚ0=ùs   ƒ!$)Ú	font_nameÚsubsetÚinv_units_per_emÚbboxr^   Ú
num_glyphszÿ
end readonly def

/BuildGlyph {
 exch begin
 CharStrings exch
 2 copy known not {pop /.notdef} if
 true 3 1 roll get exec
 end
} _d

/BuildChar {
 1 index /Encoding get exch get
 1 index /BuildGlyph get exec
} _d

FontName currentdict end definefont pop
z/%(name)s{%(bbox)s sc
r   )Únamert   é@   NF)ó   mó   lrZ   ó   crZ   TÚasciizce} _dÚ
)r   ÚformatÚpostscript_nameÚunits_per_EMrW   ÚmapÚstrrt   ÚlenÚ
load_glyphr   ÚNO_SCALEÚget_pathÚappendrm   ÚhoriAdvancer   Úconvert_to_stringr   Údecode)Ú	font_pathÚsubset_indexÚglyph_indicesÚpreambleÚ	postambleÚentriesrn   ÚgÚvÚcro   s             @rT   Ú_font_to_ps_type3r“   [   sl  ø€ ô& �IÓ€Dð÷ �F�T×)Ñ)°,Ø × 1Ñ 1Ñ1Ø—‘œœS $§)¡)Ó,Ó-Ø—H‘Hô ?Ù0=ó?ó ?ä˜-Ó(¨1Ñ,ð ð .ð ð$€Ið& €GÛ$ˆØ�O‰O˜K¬×);Ñ);Ó<ˆØ�}‰}‹‰ˆØ�‰Ø%Ø×+Ñ+¨KÓ8ØŸ™¤¤S¨1¯=©=¸!Ð*E¸a¿f¹fÐ*EÓ!FÓGñ)ñ ô ×%Ò%ô �Q˜‘V˜Q“  t¨U°D¸!ò
 -¨dó4÷ 5;±F¸7³OñDð ñö	
ñ %ð( �d—i‘i Ó(Ñ(¨9Ñ4Ð4rZ   c                 óŠ  • [         R                  SXU5         [        R                  R	                  U R
                  U R                  S9 n[        R                  " X5       nUR                  n[        R                  " U5      R                  5       n[         R                  SX[        R                  " U 5      R                  [        U5      5        UR!                  [#        XAXg5      5        SSS5        SSS5        g! , (       d  f       N= f! , (       d  f       g= f! [$         a    [         R'                  SU 5        e f = f)a]  
Subset *glyph_indices* from the font at *font_path* into a Type 42 font at *fh*.

Parameters
----------
font_path : FontPath
    Path to the font to be subsetted.
subset_index : int
    The subset of the above font being created.
glyph_indices : set[int]
    The glyphs to include in the subsetted font.
fh : file-like
    Where to write the font.
zSUBSET %s:%d characters: %s)Ú
fontNumberzSUBSET %s:%d %d -> %dNzIThe PostScript backend does not currently support the selected font (%s).)Ú_logÚdebugÚ	fontToolsÚttLibÚTTFontÚpathÚ
face_indexr   Úget_glyphs_subsetro   Úfont_as_fileÚgetvalueÚosÚstatÚst_sizer‚   ÚwriteÚ_serialize_type42ÚRuntimeErrorÚwarning)rŠ   r‹   rŒ   rh   ro   rr   Únew_fontÚfontdatas           rT   Ú_font_to_ps_type42r©   ­   s  € ô 	‡J�JÐ,¨iÀ}ÔUðÜ�o‰o×$Ñ$ Y§^¡^Ø09×0DÑ0Dð %ñ FØIMÜ×/Ò/°	ÔIÈVØ—{‘{ˆHÜ&×3Ò3°HÓ=×FÑFÓHˆHÜ�J‰JØ'¨Ü—’˜	Ó"×*Ñ*¬C°«Môð �H‰HÔ& t¸8ÓNÔO÷ J÷Fð FçIÕIú÷Fõ Fûô ó Ü�‰ØWØô	ð 	ð	úsB   ™2D  ÁDÁ"BC>Ã-DÃ5D  Ã>
D	ÄDÄ
DÄD  ÄD  Ä "Ec           
      ó‚  • [        U R                  S5      U5      u  pEU S   nU S   n[        U5      n[        X2U5      n	[        R
                  " SR                  / SPUS    PSPUS    PS	PU S
   R                  S PSPUR                  S5       PS	PU PSPUR                  S5       PSPUR                  S5       PSPUR                  S5       PSPUR                   PSPUR                  (       a  SOS PSPUR                   PSPUR                   PSP[        [        U 5      6  PSPU PSPU	 PSP5      5      $ )a‚  
Output a PostScript Type-42 format representation of font

Parameters
----------
font : fontTools.ttLib.ttFont.TTFont
    The original font object
subset_index : int
    The subset of the above font to be created.
subset : fontTools.ttLib.ttFont.TTFont
    The subset font object
fontdata : bytes
    The raw font data in TTF format

Returns
-------
str
    The Type-42 formatted font
ÚlocaÚpostrv   Ú z
        %%!PS-TrueTypeFont-r   rP   r   Ú-Úheadz.7fzi
        10 dict begin
        /FontType 42 def
        /FontMatrix [1 0 0 1 0 0] def
        /FontName /é   z; def
        /FontInfo 7 dict dup begin
        /FullName (é   z) def
        /FamilyName (z) def
        /Version (é   z) def
        /ItalicAngle z def
        /isFixedPitch ÚtrueÚfalsez  def
        /UnderlinePosition z! def
        /UnderlineThickness zX def
        end readonly def
        /Encoding StandardEncoding def
        /FontBBox [z=] def
        /PaintType 0 def
        /CIDMap 0 def
        z	
        z9
        FontName currentdict end definefont pop
        )Ú_version_and_breakpointsÚgetÚ_generate_charstringsÚ_generate_sfntsÚtextwrapÚdedentrW   ÚfontRevisionÚgetDebugNameÚitalicAngleÚisFixedPitchÚunderlinePositionÚunderlineThicknessrY   Ú_bounds)
ro   r‹   rr   r¨   ÚversionÚbreakpointsr¬   rv   ÚcharsÚsfntss
             rT   r¤   r¤   Ï   s  € ô( 4°D·H±H¸VÓ4DÀhÓOÑ€GØ�‰<€DØ�‰<€DÜ! &Ó)€EÜ˜H¨kÓ:€EÜ�?Š?÷ ó ð  ð Ø# A™J˜<ðØ'(ðØ)0°©¨ðØ45ðØ6:¸6±l×6OÑ6OÐPSÐ5TððUðð
 ×%Ñ% aÓ(Ð)ðð
 *+ðð
 ,8¨.ðð
9ðð ×%Ñ% aÓ(Ð)ðð*ðð ×'Ñ'¨Ó*Ð+ðð,ðð ×$Ñ$ QÓ'Ð(ðð)ðð ×&Ñ&Ð'ðð(ðð "&×!2×!2‘v¸Ð@ððAðð !×2Ñ2Ð3ðð4ðð "×4Ñ4Ð5ðð6ðô  !¤'¨$£-Ð0Ð1ð!ð 2	ð!ð& 
ˆð'ð&	ð'ð( 
ˆð)ð(	ô)ó ð rZ   c           	      ó¬  • [         R                  " SUSS 5      u  p#nX#4n0 n[        U5       HB  n[         R                  " SUSUS-  -   SUS-   S-  -    5      u  p‰p©X¦UR                  S5      '   MD     U b%  U R                  SS	  V
s1 s H
  o¦S
   U
-   iM     nn
O
[        5       n[        1 UR                  5       kUk[        U5      i5      nX\4$ s  sn
f )aT  
Read the version number of the font and determine sfnts breakpoints.

When a TrueType font file is written as a Type 42 font, it has to be
broken into substrings of at most 65535 bytes. These substrings must
begin at font table boundaries or glyph boundaries in the glyf table.
This function determines all possible breakpoints and it is the caller's
responsibility to do the splitting.

Helper function for _font_to_ps_type42.

Parameters
----------
loca : fontTools.ttLib._l_o_c_a.table__l_o_c_a or None
    The loca table of the font if available
fontdata : bytes
    The raw data of the font

Returns
-------
version : tuple[int, int]
    A 2-tuple of the major version number and minor version number.
breakpoints : list[int]
    The breakpoints is a sorted list of offsets into fontdata; if loca is not
    available, just the table boundaries.
z>3hNr°   z>4sIIIé   é   r   r{   éÿÿÿÿÚglyf)	ÚstructÚunpackÚranger‰   Ú	locationsÚsetÚsortedÚvaluesr‚   )r«   r¨   Úv1Úv2Ú	numTablesrÂ   ÚtablesÚiÚtagÚ_ÚoffsetÚglyf_breakpointsrÃ   s                rT   rµ   rµ     sî   € ô6 Ÿš e¨X°b°q¨\Ó:Ñ€BˆIØˆh€Gà€FÜ�9ÖˆÜ"ŸMšM¨(°H¸RÀ!ÀBÁ$¹YÀrÈQÈqÉSÐRTÉHÁ}Ð4UÓVÑˆ�Ø&,ˆs�z‰z˜'Ó"Ó#ñ ð ÑØBFÇ.Á.ÐQTÐRTÑBUÓVÒBU¸ 6™N¨VÔ3ÑBUÐÐVÐä›5ÐÜÐM˜6Ÿ=™=›?ÐMÐ-=ÐM¼sÀ8»}ÐMÓN€KàÐÐùò Ws   ÂCc                 óô   • U R                  S5      n[        R                  R                  R	                  U5      nUR                  5        H  nX   R                  U5        M     UR                  =(       d    S$ )a?  
Compute the font bounding box, as if all glyphs were written
at the same start position.

Helper function for _font_to_ps_type42.

Parameters
----------
font : fontTools.ttLib.ttFont.TTFont
    The font

Returns
-------
tuple
    (xMin, yMin, xMax, yMax) of the combined bounding box
    of all the glyphs in the font
F)r   r   r   r   )ÚgetGlyphSetr˜   ÚpensÚ	boundsPenÚ	BoundsPenÚkeysÚdrawÚbounds)ro   ÚgsÚpenrv   s       rT   rÁ   rÁ   ,  s[   € ð$ 
×	Ñ	˜%Ó	 €BÜ
�.‰.×
"Ñ
"×
,Ñ
,¨RÓ
0€CØ—‘–	ˆØ
‰�‰�cÖñ à�:‰:×%˜Ð%rZ   c                 óŽ   • U R                  5       nS[        U5       S3n[        U5       H  u  p4USU SU S3-  nM     US-  nU$ )zì
Transform font glyphs into CharStrings

Helper function for _font_to_ps_type42.

Parameters
----------
font : fontTools.ttLib.ttFont.TTFont
    The font

Returns
-------
str
    A definition of the CharStrings dictionary in PostScript
z/CharStrings z dict dup begin
rl   rJ   z def
zend readonly def)ÚgetGlyphOrderr‚   Ú	enumerate)ro   ÚgoÚsrÖ   rv   s        rT   r·   r·   E  s^   € ð  
×	Ñ	Ó	€BØ
œ˜B›�yÐ 1Ð2€AÜ˜R–=‰ˆØ	ˆq���a˜�s˜&Ð!Ñ!Šñ !àÐ	Ñ€AØ€HrZ   c           	      ó>  ^• SmSnU[        U 5      :  aV  [        R                  " X#S-   5      nX$S-
     nXS::  a  US   nTSXU R                  5        S3-  mUnU[        U 5      :  a  MV  TS-  mS	R	                  U4S
 j[        S[        T5      S5       5       5      $ )aŸ  
Transform font data into PostScript sfnts format.

Helper function for _font_to_ps_type42.

Parameters
----------
fontdata : bytes
    The raw data of the font
font : fontTools.ttLib.ttFont.TTFont
    The fontTools font object
breakpoints : list
    Sorted offsets of possible breakpoints

Returns
-------
str
    The sfnts array for the font definition, consisting
    of hex-encoded strings in PostScript format
z/sfnts[r   iþÿ  r   rÉ   Ú<z00>z]defr|   c              3   ó2   >#   • U  H  nTXS -    v •  M     g7f)éd   N© )rR   rÖ   ré   s     €rT   rU   Ú"_generate_sfnts.<locals>.<genexpr>}  s   øé € Ð?Ò)> A�Q�q˜3™•ZÒ)>ùs   ƒrí   )r‚   ÚbisectÚbisect_leftÚhexrW   rÍ   )r¨   ro   rÃ   ÚposrÖ   Únewposré   s         @rT   r¸   r¸   ]  s«   ø€ ð* 	€AØ
€CØ
”�H“Ó
Ü×Ò˜{°%©KÓ8ˆØ˜q™SÑ!ˆØ‹=à  ‘_ˆFØ	ˆq�˜fÐ%×)Ñ)Ó+Ð,¨CÐ0Ñ0ˆØˆð ”�H“Õ
ð ˆ�K€AØ�9‰9Ô?¬¨q´#°a³&¸#Ô)>Ó?Ó?Ð?rZ   c                 óF   ^ • [         R                  " T 5      U 4S j5       nU$ )zq
Wrap `RendererPS` method *meth* to emit a PS comment with the method name,
if the global flag `debugPS` is set.
c                 ó„   >• [         (       a)  U R                  R                  STR                   S35        T" U /UQ70 UD6$ )Nz% r|   )ÚdebugPSÚ	_pswriterr£   Ú__name__)ÚselfrX   ÚkwargsÚmeths      €rT   ÚwrapperÚ!_log_if_debug_on.<locals>.wrapper…  s<   ø€ çŠ7Ø�N‰N× Ñ  2 d§m¡m _°BÐ!7Ô8Ù�DÐ*˜4Ò* 6Ñ*Ð*rZ   )Ú	functoolsÚwraps)rü   rý   s   ` rT   Ú_log_if_debug_onr  €  s'   ø€ ô
 ‡_‚_�TÓô+ó ð+ð
 €NrZ   c                   óˆ  ^ • \ rS rSrSr\R                  " S5      rSrS"U 4S jjr	S r
S#S jrS#S	 jr\S
 5       rS#S jr\S 5       rS#S jrS#S jrS#S jrS rS rS$S jrS r\S%S j5       r\S%S j5       r\ S%S j5       r\SS.S j5       r\SS.S j5       r\S$S j5       r\S 5       r\S 5       r SSS.S  jr!S!r"U =r#$ )&Ú
RendererPSiŽ  zt
The renderer handles all the drawing primitives using a graphics
context instance that controls the colors/styles.
z	fonts/afmú	ps.useafmc                 ó  >• [         TU ]  X5        X0l        [        R                  S   (       a  SU l        / U l        X@l        S U l        S U l	        S U l
        S U l        S U l        S U l        S U l        0 U l        US-  U l        0 U l        SU l        [&        R(                  " [&        R*                  R-                  [        R                  S   S5      5      U l        [0        R2                  " [4        R6                  5      U l        g )Nútext.usetexr   éH   úps.fonttype)ÚsuperÚ__init__rø   ÚmplÚrcParamsÚtextcntÚpsfragÚimagedpiÚcolorÚ	linewidthÚlinejoinÚlinecapÚlinedashÚfontnameÚfontsizeÚ_hatchesÚimage_magnificationÚ_clip_pathsÚ_path_collection_idr   ÚCharacterTrackerÚ_FONT_MAX_GLYPHr¶   Ú_character_trackerrÿ   Úcacher–   r¦   Ú_logwarn_once)rú   ÚwidthÚheightÚpswriterr  Ú	__class__s        €rT   r
  ÚRendererPS.__init__—  sÔ   ø€ ô 	‰Ñ˜Ô'Ø!ŒÜ�<‰<˜×&ØˆDŒLØˆDŒKØ Œð ˆŒ
ØˆŒØˆŒØˆŒØˆŒØˆŒØˆŒØˆŒØ#+¨b¡=ˆÔ ØˆÔØ#$ˆÔ ä"1×"BÒ"BÜ×+Ñ+×/Ñ/´·±¸]Ñ0KÈQÓOó#QˆÔä&Ÿ_š_¬T¯\©\Ó:ˆÕrZ   c                 ót   • Uc  g[        U5      S:X  a%  US   S:X  a  gUS   S:w  a  U R                  S5        gg)NTr±   é   r   r   zlThe PostScript backend does not support transparency; partially transparent artists will be rendered opaque.F)r‚   r  )rú   Úrgb_or_rgbas     rT   Ú_is_transparentÚRendererPS._is_transparent³  sP   € ØÑØÜ�Ó Ó"Ø˜1‰~ Ó"ØØ˜1‰~ Ó"Ø×"Ñ"ðMôNð àrZ   Tc                 óÖ   • XU4U R                   :w  aW  U R                  R                  Xs=:X  a  U:X  a  O  O[        U5       S3O[        XU5       S35        U(       a
  XU4U l         g g g )Nz	 setgray
z setrgbcolor
)r  rø   r£   rY   )rú   Úrr�   ÚbÚstores        rT   Ú	set_colorÚRendererPS.set_colorÁ  sk   € Ø�!ˆ9˜Ÿ
™
Ó"Ø�N‰N× Ñ Ø$%¥K¨a¦Kô %1°£OÐ#4°JÑ!?ä$0°°qÓ$9Ð#:¸.Ð!IôKö Ø A˜Y�•
ð ð	 #rZ   c                 ó¤   • [        U5      nXR                  :w  a6  U R                  R                  [	        U5       S35        U(       a  Xl        g g g )Nú setlinewidth
)Úfloatr  rø   r£   rY   )rú   r  r-  s      rT   Úset_linewidthÚRendererPS.set_linewidthÉ  sG   € Ü˜)Ó$ˆ	ØŸ™Ó&Ø�N‰N× Ñ ¤L°Ó$;Ð#<¸OÐ!LÔMÞØ!*•ð ð 'rZ   c                 ó&   • SSSSSSS.U    n U S S3$ )Nr   r   é   )ÚmiterÚroundÚbevelr   r   r6  Údz setlinejoin
rî   )r  s    rT   Ú_linejoin_cmdÚRendererPS._linejoin_cmdÐ  s-   € ð ¨°Q¸1ÀÀqÑIØñˆà˜1�˜^Ð,Ð,rZ   c                 ó”   • XR                   :w  a9  U R                  R                  U R                  U5      5        U(       a  Xl         g g g ©N)r  rø   r£   r;  )rú   r  r-  s      rT   Úset_linejoinÚRendererPS.set_linejoin×  s;   € Ø—}‘}Ó$Ø�N‰N× Ñ  ×!3Ñ!3°HÓ!=Ô>ÞØ (•ð ð %rZ   c                 ó&   • SSSSSSS.U    n U S S3$ )Nr   r   r6  )Úbuttr8  Ú
projectingr   r   r6  r:  z setlinecap
rî   )r  s    rT   Ú_linecap_cmdÚRendererPS._linecap_cmdÝ  s-   € ð  q¸¸aÀAÈ!ÑLØñˆà˜!�˜MÐ*Ð*rZ   c                 ó”   • XR                   :w  a9  U R                  R                  U R                  U5      5        U(       a  Xl         g g g r>  )r  rø   r£   rD  )rú   r  r-  s      rT   Úset_linecapÚRendererPS.set_linecapä  s;   € Ø—l‘lÓ"Ø�N‰N× Ñ  ×!2Ñ!2°7Ó!;Ô<ÞØ&•ð ð #rZ   c                 ó(  • U R                   b/  U R                   u  pE[        R                  " X%5      (       a  XA:X  a  g U R                  R	                  Ub(  [        U5      (       a  S[        U6  S[        U5       S3OS5        U(       a	  X4U l         g g )NÚ[z] z	 setdash
z[] 0 setdash
)r  ÚnpÚarray_equalrø   r£   r‚   rY   )rú   rÙ   Úseqr-  ÚoldoÚoldseqs         rT   Úset_linedashÚRendererPS.set_linedashê  s‚   € Ø�=‰=Ñ$ØŸ=™=‰LˆDÜ�~Š~˜c×*Ñ*¨t«~Øà�‰×ÑØ #¡´C¸·H±Hð  !¤¨sÐ!3Ð 4°B´|ÀFÓ7KÐ6LÈJÑWà-ô	/ö Ø#˜MˆD�Mð rZ   c                 ó®   • X4U R                   U R                  4:w  a8  U R                  R                  SU SUS S35        U(       a  Xl         X l        g g g )Nrl   rJ   rN   ú selectfont
)r  r  rø   r£   )rú   r  r  r-  s       rT   Úset_fontÚRendererPS.set_fontö  sU   € ØÐ D§M¡M°4·=±=Ð#AÓAØ�N‰N× Ñ  1 X J¨a°¸¨¸mÐ!LÔMÞØ (”Ø (•ð ð BrZ   c                 ó˜  • SnXR                   ;   a  U R                   U   $ S[        U R                   5      -  nU R                  S-  nU R                  R	                  SUS SUS SUS SUS SUS	 S
U R                  [        R                  " U5      [        5       R                  U5      SS9 SUS	 SU S35        X@R                   U'   U$ )Nr  zH%dzH  << /PatternType 1
     /PaintType 2
     /TilingType 2
     /BBox[0 0 r:  rJ   z]
     /XStep z
     /YStep z(

     /PaintProc {
        pop
        r�   r1  F©Úsimplifyz]
        gsave
        fill
        grestore
        stroke
     } bind
   >>
   matrix
   0 z translate
   makepattern
   /z
 exch def
)
r  r‚   r!  rø   r£   Ú_convert_pathr   Úhatchr   Úscale)rú   rZ  r  Úsidelenrv   Ú
pageheights         rT   Úcreate_hatchÚRendererPS.create_hatchý  sø   € ØˆØ—M‘MÓ!Ø—=‘= Ñ'Ð'Ø”s˜4Ÿ=™=Ó)Ñ)ˆØ—[‘[ 2Ñ%ˆ
Ø�‰×Ñð "ð ˜ˆ{˜!˜G A˜;ð 'Ø�QˆKð Ø�QˆKð 	ð 
�1ˆð Ø×Ñ”D—J’J˜uÓ%¤x£z×'7Ñ'7¸Ó'@È5ÐÐQÐ Rð Sð �€^ð à	€Fð ð+ô 	ð.  $�‰�eÑØˆrZ   c                 ó   • U R                   $ )z�
Get the factor by which to magnify images passed to draw_image.
Allows a backend to have images at a different resolution to other
artists.
)r  ©rú   s    rT   Úget_image_magnificationÚ"RendererPS.get_image_magnification  s   € ð ×'Ñ'Ð'rZ   Nc           
      ó®   • U(       a!  SSU R                   S-  U R                  S-  4nOS n[        R                  " XX4S S/ SQS5      R	                  S5      $ )Ng        g      R@r°   )rx   ry   rZ   rz   s   clTr{   )r   r!  r   rˆ   r‰   )rú   r›   Ú	transformÚcliprX  s        rT   rY  ÚRendererPS._convert_path%  sV   € ÞØ˜˜dŸj™j¨4Ñ/°·±¸tÑ1CÐD‰DàˆDÜ×&Ò&Ø˜T¨TØÒ-¨tó5ç5;±V¸G³_ð	ErZ   c                 ó  • / nUR                  5       nUb3  UR                  [        / UR                  QUR                  Q76  S35        UR                  5       u  pEUb•  U[        U5      4nU R                  R                  U5      nUcV  S[        U R                  5      -  nU R                  R                  SU SU R                  XESS9 S35        XpR                  U'   UR                  U S35        S	R                  U5      $ )
Nú
 rectclip
zc%drl   z {
FrW  z
clip
newpath
} bind def
r|   r­   )Úget_clip_rectangler†   rY   Úp0ÚsizeÚget_clip_pathÚidr  r¶   r‚   rø   r£   rY  rW   )rú   Úgcrf  Úrectr›   ÚtrfÚkeyÚcustom_clip_cmds           rT   Ú_get_clip_cmdÚRendererPS._get_clip_cmd.  s  € ØˆØ×$Ñ$Ó&ˆØÑØ�K‰Kœ<Ð=¨¯©Ð=°4·9±9Ò=Ð>¸kÐJÔKØ×$Ñ$Ó&‰	ˆØÑØœ˜C›�/ˆCØ"×.Ñ.×2Ñ2°3Ó7ˆOØÑ&Ø"'¬#¨d×.>Ñ.>Ó*?Ñ"?�Ø—‘×$Ñ$ð *ØÐð Ø×Ñ�D¨ÐÐ.Ð /ð 0ð&ô ð )8× Ñ  Ñ%Ø�K‰K˜?Ð+¨2Ð.Ô/Ø�w‰w�t‹}ÐrZ   c                 ó  • UR                   S S u  pgSnUS S S2S S 2S S24   n	U	R                  5       R                  SS5      n
Uc  SnXpR                  -  nX`R                  -  nO?SR	                  [        [        UR                  5       R                  5       5      5      nS	nS	nU R                  R                  S
U R                  U5       SUS SUS SU SUS SUS SUS SUS SUS SUS SUS SUS SU SU
 S35        g )Nr6  zfalse 3 colorimagerÉ   r&  r|   éÀÿÿÿz1 0 0 1 0 0rJ   g      ð?úgsave
r�   z translate
[z	] concat
z scale
/DataString r:  z string def
z 8 [ z 0 0 -z 0 z5 ]
{
currentfile DataString readhexstring pop
} bind ú

grestore
)ÚshapeÚtobytesrò   r  rW   r€   r�   ÚfrozenÚ	to_valuesrø   r£   rt  )rú   ro  ÚxÚyÚimre  ÚhÚwÚimagecmdÚdataÚhexdataÚmatrixÚxscaleÚyscales                 rT   Ú
draw_imageÚRendererPS.draw_imageD  sS  € ð �x‰x˜˜ˆ|‰ˆØ'ˆØ‘$�B�$š˜2˜A˜2�+‰ˆØ—,‘,“.×$Ñ$ T¨3Ó/ˆàÑØ"ˆFØ×1Ñ1Ñ1ˆFØ×1Ñ1Ñ1‰Fà—X‘Xœc¤# y×'7Ñ'7Ó'9×'CÑ'CÓ'EÓFÓGˆFØˆFØˆFà�‰×Ñð "à×Ñ�BÓÐ ð Ø€1€€Q€qˆ€eð Ø€ð 
Øˆ€
ˆ!ˆF�1ˆ:ð ØˆqˆEð Ø€1€€Q€qˆ€eˆ5��1��V˜A˜a˜5  A a 5ð )	ð 
ˆ
ð Ø€	ð 
ðõ 	rZ   c                 ó¬   • US L =(       a    UR                  5       S L nUR                  =(       a    UnU R                  X#XVS9nU R                  XqU5        g )N©rf  rX  )Úget_hatch_pathÚshould_simplifyrY  Ú_draw_ps)rú   ro  r›   re  ÚrgbFacerf  rX  Úpss           rT   Ú	draw_pathÚRendererPS.draw_pathe  sS   € ð ˜$ˆ×> 2×#4Ñ#4Ó#6¸$Ð#>ˆØ×'Ñ'×0¨DˆØ×Ñ °dÐÐNˆØ�‰�b˜gÕ&rZ   c                 óÖ  • U R                  U5      (       a  S O7US   US   s=:X  a	  US   :X  a  O  O[        US   5       S3O[        US S 6  S3n/ SQnUR                  5       n	UR                  5       (       d  [	        UR                  5       5      S:X  a  UR                  5       OUR                  5       S   n
U	S:„  =(       a    U
S:„  nU(       ap  UR                  SU	-  5        UR                  U R                  UR                  5       5      5        UR                  U R                  UR                  5       5      5        UR                  U R                  X#S	S
95        U(       aJ  U(       a  UR                  S5        U(       a  UR                  US/5        U(       a  UR                  S5        U(       a  UR                  S5        UR                  SS/5        UR                  USSU R                  S-  U R                   S-  4S	S9 H7  u  pÍ[	        U5      (       d  M  USS  u  pïUR                  US SUS S35        M9     SR#                  U5      nU R%                  UXS	S	S9  g )Nr   r   r6  z setgrayr&  z setrgbcolor)z/o {ÚgsaveÚnewpathÚ	translatez%.1f setlinewidthFrW  r•  ÚfillÚgrestoreÚstrokez
} bind defr  rŒ  éþÿÿÿr�   rJ   z or|   ©r˜  rš  )r(  rY   Úget_linewidthÚget_forced_alphar‚   Úget_rgbÚ	get_alphar†   r;  Úget_joinstylerD  Úget_capstylerY  ÚextendÚiter_segmentsr   r!  rW   r�  )rú   ro  Úmarker_pathÚmarker_transr›   Útransr�  Úps_colorÚps_cmdÚlwÚalpharš  ÚverticesÚcoder~  r  r‘  s                    rT   Údraw_markersÚRendererPS.draw_markersm  s1  € ð ×#Ñ# G×,Ñ,ñ ð �q‰z˜W Q™ZÕ5¨7°1©:Ö5ô ! ¨¡Ó,Ð-¨XÑ6ä  '¨"¨1 +Ð.Ð/¨|Ð<ð 	ò ;ˆà×ÑÓˆà×'Ñ'×)Ñ)¬S°·±³Ó->À!Ó-Cð —‘”à—j‘j“l 1‘oð 	ð �a‘×%˜E A™IˆÞØ�M‰MÐ-°Ñ2Ô3Ø�M‰M˜$×,Ñ,¨R×-=Ñ-=Ó-?Ó@ÔAØ�M‰M˜$×+Ñ+¨B¯O©OÓ,=Ó>Ô?à�‰�d×(Ñ(¨Ø27ð )ð 9ô 	:ö ÞØ—‘˜gÔ&ÞØ—‘˜x¨Ð0Ô1ÞØ—‘˜jÔ)æØ�M‰M˜(Ô#Ø�‰�z <Ð0Ô1à"×0Ñ0ØØ˜˜DŸJ™J r™M¨4¯;©;°r©>Ð:Øð 1ó  ‰NˆHô �8�}‹}Ø  �}‘�Ø—‘  1  Q q¨ e¨2Ð.Ö/ñ ð �Y‰Y�vÓˆØ�‰�b˜"¨E¸%ˆÒ@rZ   ©Úhatchcolorsc                óœ  • Uc  / n[        U5      S:”  a  [        US   R                  5      OSnU R                  X4XWU5      nUSU-  -   S-   US-   U-  :  nU(       d  [        R                  " XX#UXVXxXšX¼XÞS9$ / n[        U R                  X#U5      5       H^  u  nu  nnSU R                  U4-  nU R                  UUSS9nU R                  R                  SU S	U S
35        UR                  U5        M`     U R                  UUXVXxXšX¼XÞS9 H(  u  nnnnnUS SUS SU 3nU R                  UUU5        M*     U =R                  S-  sl        g )Nr   r&  r6  r°  zp%d_%dFrW  rl   z {
newpath
translate
z
} bind def
r�   rJ   r   )r‚   r¬  Ú_iter_collection_uses_per_pathr   Údraw_path_collectionrç   Ú_iter_collection_raw_pathsr  rY  rø   r£   r†   Ú_iter_collectionr�  )rú   ro  Úmaster_transformÚpathsÚall_transformsÚoffsetsÚoffset_transÚ
facecolorsÚ
edgecolorsÚ
linewidthsÚ
linestylesÚantialiasedsÚurlsÚoffset_positionr±  Úlen_pathÚuses_per_pathÚshould_do_optimizationÚ
path_codesrÖ   r›   re  rv   Ú
path_bytesÚxoÚyoÚpath_idÚgc0r�  r‘  s                                 rT   r´  ÚRendererPS.draw_path_collection¢  sµ  € ð
 ÑØˆKô .1°«Z¸!«^”3�u˜Q‘x×(Ñ(Ô)ÀˆØ×;Ñ;Ø 7¸
óDˆð �q˜=Ñ(Ñ(¨1Ñ,°¸1±ÀÑ/MÑMð 	æ%Ü×4Ò4ØÐ*°>Ø zØ¨Øñ	:ð :ð ˆ
Ü$-¨d×.MÑ.MØ ¨ó/9ö %:Ñ ˆAÑ ��ià˜t×7Ñ7¸Ð;Ñ;ˆDØ×+Ñ+¨D°)ÀeÐ+ÐLˆJØ�N‰N× Ñ ð &Ø€ð ð €ð ð	"ô ð ×Ñ˜dÖ#ñ%:ð .2×-BÑ-BØ�J Ø¨
Ø Oð .Có .NÑ)ˆB��G˜S 'ð �q�6˜˜2˜a˜&  ' Ð+ˆBØ�M‰M˜"˜c 7Ö+ñ.Nð 	× Ò  AÑ%Ö rZ   )Úmtextc          
      ó,  • U R                  UR                  5       5      (       a  g [        U S5      (       d'  U R                  S5        U R	                  XX4XVSU5        g U R                  XESS9u  p‰n
UR                  5       nSU R                  -  n[        UR                  5       S S SS	06nS
SS.R                  [        R                  S   S   S5      nXä-  nSU< SU< 3n[        R                  " US-   5      n[        X*[        R                  " U5      -  -
  X:[        R                  " U5      -  -
  5      nU R                   R#                  SXÆX»S-  U4-  5        U R$                  R'                  SU SU S35        U =R                  S-  sl        g )Nr  zÆThe PS backend determines usetex status solely based on rcParams['text.usetex'] and does not support having usetex=True only for some elements; this element will thus be rendered as if usetex=False.FÚTeX)Úismathz
psmarker%dr&  rK   Ú,z{\sffamily %s}z{\ttfamily %s})z
sans-serifÚ	monospacezfont.familyr   z{\rmfamily %s}z\color[rgb]{z} éZ   z/\psfrag{%s}[bl][bl][1][%f]{\fontsize{%f}{%f}%s}g      ô?rx  z	 moveto
(z)
show
grestore
r   )r(  rŸ  Úhasattrr  Ú	draw_textÚget_text_width_height_descentÚget_size_in_pointsr  rY   r¶   r  r  rK  ÚradiansÚcosÚsinr  r†   rø   r£   )rú   ro  r~  r  ré   ÚpropÚanglerÍ  r‚  r�  Úblr  Úthetextr  ÚfontcmdÚtexÚrangleró   s                     rT   Údraw_texÚRendererPS.draw_texÑ  s—  € ð ×Ñ §
¡
£×-Ñ-Øä�t˜X×&Ñ&Ø×Ñð2ô3ð
 �N‰N˜2 !¨°U¸EÔBØà×5Ñ5°aÀeÐ5ÐL‰ˆˆbØ×*Ñ*Ó,ˆØ §¡Ñ-ˆÜ˜bŸj™j›l¨2¨AÐ.Ð8°CÑ8ˆØ!2Ø 1ñ3ß36±3Ü—|‘| MÑ2°1Ñ5Ð7Hó4Jð 	ð ‰K‰Û',ªaÐ0ˆô —’˜E B™JÓ'ˆÜ˜1¤B§F¢F¨6£NÑ2Ñ2°A¼R¿VºVÀF»^Ñ8KÑ4KÓLˆØ�‰×ÑØ>Ø °4©-¸ðB>ñ >ô	?ð 	�‰×Ñð "à€ð Ø	€ð ðô 	ð 	�Š˜ÑŽrZ   c	                 óŒ  • U R                  UR                  5       5      (       a  g US:X  a  U R                  XX4XV5      $ U(       a  U R                  XX4XV5      $ / n	[        R
                  S   (       aÕ  U R                  U5      n
U
R                  R                  SS5      R                  S5      nSUR                  5       -  nSnSnU Hz  n[        R                  " [        U5      S[        U5      S	 35      n U
R                  U5      nU
R#                  UU5      nUnUUU-  -  nU	R%                  X½SU45        UUU-  -  nM|     GOUb!  UR'                  5       nUR)                  5       nOS =nnU R+                  U5      n
[,        R.                  " XJUUS9 HÉ  nU R0                  R3                  UR4                  UR6                  UR8                  5      u  nnUR4                  R                  R                  SS5      R                  S5      nUR4                  R;                  UR8                  5      nU	R%                  U SU 3UR<                  UR>                  U45        MË     U R@                  " UR                  5       6   [B        RD                  " U	S 5       H{  u  nnU RG                  XµR                  5       S5        SRI                  S U 5       5      nU RJ                  RM                  SU RO                  U5       SUS SUS SUS SU S35        M}     g ! [         a     S
nU
R!                  [        S5      5      n GN8f = f)NrÏ  r  r{   Úreplacegü©ñÒMbP?r   r­   ÚuniÚ04XÚquestionÚ?)ÚfeaturesÚlanguager®   c                 ó   • U S   $ )Nr   rî   )Úentrys    rT   Ú<lambda>Ú&RendererPS.draw_text.<locals>.<lambda>1  s   € ÀeÈAÂhrZ   Fr|   c              3   óD   #   • U  H  u  pp4US  SUS  SUS S3v •  M     g7f)r�   rJ   z m /ré   z
 glyphshowNrî   )rR   rØ   r~  r  rv   s        rT   rU   Ú'RendererPS.draw_text.<locals>.<genexpr>3  s4   é € ð  <Ú5:¡M A¨!ð $% Q % q¨¨1¨¨T°$°q°¸Õ DÚ5:ùs   ‚ rx  r�   rJ   ú translate
ú rotate
ry  )(r(  rŸ  râ  Údraw_mathtextr  r  Ú_get_font_afmr~   Úencoder‰   r×  r   r¶   ÚordÚget_width_from_char_nameÚKeyErrorÚget_width_charÚget_kern_dist_from_namer†   Úget_fontfeaturesÚget_languageÚ_get_font_ttfr	   Úlayoutr  Útrack_glyphÚ	ft_objectÚcharrn   rm   r~  r  r.  Ú	itertoolsÚgroupbyrT  rW   rø   r£   rt  )rú   ro  r~  r  ré   rÛ  rÜ  rÐ  rÍ  Ústreamro   Úps_namer[  ÚthisxÚ	last_namer’   rv   r   Úkernrê  rë  Úitemrr   rØ   Ú
glyph_nameÚgrouprÞ  s                              rT   rÕ  ÚRendererPS.draw_textû  s  € ð ×Ñ §
¡
£×-Ñ-Øà�U‹?Ø—=‘= ¨¨dÓ:Ð:æØ×%Ñ% b¨Q°4Ó?Ð?àˆä�<‰<˜×$Ø×%Ñ% dÓ+ˆDØ×*Ñ*×1Ñ1°'¸9ÓE×LÑLÈWÓUˆGØ˜D×3Ñ3Ó5Ñ5ˆEØˆEØˆIÛ�Ü —}’}¤S¨£V¨s´3°q³6¸#°,Ð-?Ó@�ð:Ø ×9Ñ9¸$Ó?�Eð ×3Ñ3°I¸tÓD�Ø �	Ø˜ ™Ñ%�Ø—‘˜w¨q°$Ð7Ô8Ø˜ ™Ñ&’ó ð Ñ Ø ×1Ñ1Ó3�Ø ×-Ñ-Ó/‘à&*Ð*�˜8Ø×%Ñ% dÓ+ˆDÜ%×,Ò,¨Q¸xØ6>ô@�ð
 !×3Ñ3×?Ñ?Ø—N‘N D§I¡I¨t×/?Ñ/?óA‘	�˜àŸ>™>×9Ñ9ß"™F 7¨IÓ6·v±v¸g³ð à!Ÿ^™^×:Ñ:¸4×;KÑ;KÓL�
Ø—‘ ' ¨!¨F¨8Ð4°d·f±f¸d¿f¹fÀjÐQÖRñ@ð 	�Š˜Ÿ
™
›Ñ%ä'×/Ò/°Ñ8NÖO‰NˆG�UØ�M‰M˜'×#:Ñ#:Ó#<¸eÔDØ—i‘iñ  <Ù5:ó <ó <ˆGà�N‰N× Ñ ð &à×Ñ�BÓÐ ð Ø€1€€Q€qˆ€eð Ø€q€	ð 
Ø€	ð 
ð"ö ò	 Pøô;  ó :Ø%�DØ ×/Ñ/´°C³Ó9“Eð:ús   Ã9LÌ&MÍMc                 óô  • U R                   R                  R                  USU5      u  pxpšnU R                  " UR	                  5       6   U R
                  R                  SUS SUS SUS S35        SnU
 H°  u  pÞnnnnU R                  R                  XßU5      u  nnUR                  UU4U:w  a>  UR                  UU4nU R
                  R                  SUR                   S	U SU S
35        UR                  U5      nU R
                  R                  US SUS SU S35        M²     U H/  u  nnnnU R
                  R                  U SU SU SU S35        M1     U R
                  R                  S5        g)z-Draw the math text using matplotlib.mathtext.r  rx  r�   rJ   rò  ró  Nrl   r®   rS  z	 moveto
/z glyphshow
z
 rectfill
ú	grestore
)Ú
_text2pathÚmathtext_parserÚparser.  rŸ  rø   r£   r  r   r~   rm   )rú   ro  r~  r  ré   rÛ  rÜ  r   r!  ÚdescentÚglyphsÚrectsÚlastfontro   r  Úccodern   ÚoxÚoyrr   rØ   r  r‚  r�  s                           rT   rô  ÚRendererPS.draw_mathtext>  s›  € ð �O‰O×+Ñ+×1Ñ1°!°R¸Ó>ñ 	.ˆ�w¨à�Š˜Ÿ
™
›Ñ%Ø�‰×ÑØØ�ˆe�1�Q�q�E˜Ø�Qˆi�yð"ô	#ð ˆÛ:@Ñ6ˆD˜E ;°°Bð ×/Ñ/×;Ñ;Ø˜[ó*‰IˆF�Aà×$Ñ$ f¨hÐ7¸8ÓCØ×/Ñ/°¸ÐA�Ø—‘×$Ñ$Ø˜×,Ñ,Ð-¨Q¨v¨h°a¸°zÀÐOôQà×,Ñ,¨[Ó9ˆJØ�N‰N× Ñ Ø�a�&˜˜"˜Q˜ð  Ø�<˜|ð-ö.ñ ;Aó "‰LˆB��A�qØ�N‰N× Ñ  B 4 q¨¨¨A¨a¨S°°!°°KÐ!@ÖAñ "à�‰×Ñ˜\Õ*rZ   c                 ó¶  • [        U5      [        U5      :X  d   e[        U5      S:X  a  g UR                  S:X  d   eUR                  S   S:X  d   eUR                  S   S:X  d   eUR                  S:X  d   eUR                  S   S:X  d   eUR                  S   S:X  d   eUR                  nUR                  US   US   -  S45      nUR	                  U5      nUR                  US   US   -  S45      n[
        R                  " USS9S-
  n[
        R                  " USS9S-   n	[
        R                  " SX˜-
  -  5      n
Uu  p¼U	u  pÞ[
        R                  " US   US   -  / S	QS
9nSUS'   Xh-
  U
-  US'   US S 2S S24   S-  US'   UR                  5       R                  SS5      nU R                  R                  SUS SUS SUS SUS SU S35        g )Nr   r&  r   r6  r±   )Úaxisi   l   ÿÿ ))ÚflagsÚu1)Úpointsz2>u4)ÚcolorsÚ3u1)Údtyper  r  g     ào@r   r|   rw  z–gsave
<< /ShadingType 4
   /ColorSpace [/DeviceRGB]
   /BitsPerCoordinate 32
   /BitsPerComponent 8
   /BitsPerFlag 8
   /AntiAlias true
   /Decode [ r�   rJ   z  0 1 0 1 0 1 ]
   /DataSource <
z
>
>>
shfill
grestore
)r‚   Úndimrz  Úreshapere  rK  ÚminÚmaxÚceilÚemptyr{  rò   rø   r£   )rú   ro  r  r   r§  rz  Úflat_pointsÚflat_colorsÚ
points_minÚ
points_maxÚfactorÚxminÚyminÚxmaxÚymaxr„  r…  s                    rT   Údraw_gouraud_trianglesÚ!RendererPS.draw_gouraud_triangles[  s  € ä�6‹{œc &›kÓ)Ð)Ð)Üˆv‹;˜!ÓØØ�{‰{˜aÓÐÐØ�|‰|˜A‰ !Ó#Ð#Ð#Ø�|‰|˜A‰ !Ó#Ð#Ð#Ø�{‰{˜aÓÐÐØ�|‰|˜A‰ !Ó#Ð#Ð#Ø�|‰|˜A‰ !Ó#Ð#Ð#à—‘ˆØ—n‘n e¨A¡h°°q±Ñ&9¸1Ð%=Ó>ˆØ—o‘o kÓ2ˆØ—n‘n e¨A¡h°°q±Ñ&9¸1Ð%=Ó>ˆÜ—V’V˜K¨aÑ0°GÑ<ˆ
Ü—V’V˜K¨aÑ0°GÑ<ˆ
Ü—’˜+¨*Ñ*AÑBÓCˆà‰
ˆØ‰
ˆä�xŠxØ�!‰H�u˜Q‘xÑÚJñLˆð ˆˆW‰Ø%Ñ2°fÑ<ˆˆX‰Ø$¢Q¨¨¨ UÑ+¨eÑ3ˆˆX‰Ø—,‘,“.×$Ñ$ T¨3Ó/ˆà�‰×Ñð "ð �1ˆX�Q�t˜A�h˜a  Q˜x q¨¨a¨ð 1à€	ð 
ðõ 	rZ   rœ  c                óf  • U R                   R                  nUR                  5       S:„  =(       a$    U R                  UR	                  5       5      (       + nU(       d  SnU R                  U5      (       a  SnUR                  5       nU(       az  U R                  UR                  5       5        U R                  UR                  5       5        U R                  UR                  5       5        U R                  " UR                  5       6   U(       d  U(       a   U R                  " UR	                  5       SS 6   U" S5        U" U R                  U5      5        U" UR                  5       5        U" S5        U(       aI  U(       d  U(       a  U" S5        U R                  " USS SS06  U" S5        U(       d  U(       a  U" S	5        U(       aR  U R!                  X‚R#                  5       5      n	U" S5        U" [%        UR'                  5       SS 6 5        U" S
U	 S35        U(       a  U" S5        U" S	5        g)aD  
Emit the PostScript snippet *ps* with all the attributes from *gc*
applied.  *ps* must consist of PostScript commands to construct a path.

The *fill* and/or *stroke* kwargs can be set to False if the *ps*
string already includes filling and/or stroking, in which case
`_draw_ps` is just supplying properties and clipping.
r   FNr&  rx  r|   r-  zfill
r  rJ   z setpattern fill grestore
zstroke
)rø   r£   r�  r(  rŸ  Ú	get_hatchr3  r?  r¡  rG  r¢  rP  Ú
get_dashesr.  rt  Ústripr^  Úget_hatch_linewidthrY   Úget_hatch_color)
rú   r‘  ro  r�  r˜  rš  r£   ÚmightstrokerZ  Ú
hatch_names
             rT   r�  ÚRendererPS._draw_ps‹  s¸  € ð —‘×$Ñ$ˆØ×'Ñ'Ó)¨AÑ-÷ BØ#×3Ñ3°B·J±J³LÓAÔAð 	æØˆFØ×Ñ ×(Ñ(ØˆDØ—‘“ˆæØ×Ñ˜r×/Ñ/Ó1Ô2Ø×Ñ˜b×.Ñ.Ó0Ô1Ø×Ñ˜RŸ_™_Ó.Ô/Ø×Ò˜rŸ}™}›Ñ/Þž%Ø�NŠN˜BŸJ™J›L¨¨!Ð,Ñ-ÙˆiÔáˆd× Ñ  Ó$Ô%áˆb�h‰h‹jÔÙˆdŒæÞžÙ�iÔ Ø�NŠN˜G B Q˜KÐ5¨uÒ5Ù�(ŒOÞžÙ�lÔ#æØ×*Ñ*¨5×2HÑ2HÓ2JÓKˆJÙ�)ÔÙ”, × 2Ñ 2Ó 4°R°aÐ 8Ð9Ô:Ù�A�j�\Ð!<Ð=Ô>æÙ�*ÔáˆlÕrZ   )r  r  r  r  r  rø   r  r  r  r  r  r  r  r  r  r  r  )r  )T)FNr>  )$rù   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú_get_data_pathÚ_afm_font_dirÚ_use_afm_rc_namer
  r(  r.  r3  Ústaticmethodr;  r?  rD  rG  rP  rT  r^  rb  rY  rt  r  r‰  r’  r®  r´  râ  rÕ  rô  r2  r�  Ú__static_attributes__Ú__classcell__©r#  s   @rT   r  r  Ž  sM  ø† ñð
 ×(Ò(¨Ó5€MØ"Ð÷;ò8ô'ô+ð ñ-ó ð-ô)ð ñ+ó ð+ô'ô
*ô)òò@(ôEòð, óó ðð@ ó'ó ð'ð àFJó2Aó ð2Aðh ð >Bô,&ó ð,&ð\ Ø:>ô 'ó ð'ðR ó@ó ð@ðD ñ+ó ð+ð8 ñ-ó ð-ð^ 15¸T÷ 1ó 1rZ   r  c                   ó0   • \ rS rSr\" S5      u  rrS rSrg)Ú_Orientationi¿  r6  c                 ó6   • U R                   S:X  a  US S S2   $ U$ )NÚ	landscaperÉ   )rv   )rú   rz  s     rT   Úswap_if_landscapeÚ_Orientation.swap_if_landscapeÂ  s    € Ø"Ÿi™i¨;Ó6ˆu‘T�r�T‰{ÐA¸EÐArZ   rî   N)	rù   r=  r>  r?  rÍ   ÚportraitrK  rL  rE  rî   rZ   rT   rI  rI  ¿  s   † Ù ›(Ñ€HˆiõBrZ   rI  c                   ó¸   ^ • \ rS rSrSrSSS.rS rSSSSS	.S
 jrSS.S jrSS.S jr	\
R                  " \S5      r\
R                  " \S5      rU 4S jrSrU =r$ )ÚFigureCanvasPSiÆ  r  Ú
PostscriptzEncapsulated Postscript)r‘  Úepsc                 ó   • g)Nr‘  rî   ra  s    rT   Úget_default_filetypeÚ#FigureCanvasPS.get_default_filetypeË  s   € ØrZ   NrN  )ÚmetadataÚ	papertypeÚorientationÚbbox_inches_restorec          	      ó*  • U R                   R                  nSU R                   l        0 n	[        U[        [        R
                  45      (       aD  [        R                  " U5      R                  n
U
R                  SS5      R                  S5      U	S'   U=(       d    0 R                  SS[        R                   S35      U	S'   [        R                  " S5      nU(       aP  [        R                  R!                  [#        U5      [        R$                  R&                  5      R)                  S	5      O[*        R,                  " 5       U	S
'   SR/                  S U	R1                  5        5       5      n	Uc  [        R2                  S   nUR5                  5       n[6        R8                  " S/[:        QUS9  [6        R<                  " [>        UR5                  5       S9n[        R2                  S   (       a  U R@                  OU RB                  nU" X4X‰XTUS.UD6  g )Nr  r{   rå  ÚTitleÚCreatorzMatplotlib vz, https://matplotlib.org/ÚSOURCE_DATE_EPOCHz%a %b %d %H:%M:%S %YÚCreationDater|   c              3   ó6   #   • U  H  u  pS U SU 3v •  M     g7f)z%%z: Nrî   )rR   Úkr‘   s      rT   rU   Ú+FigureCanvasPS._print_ps.<locals>.<genexpr>æ  s"   é € ð !<Ú&:™d˜aˆb���2�a�S�MÒ&:ùs   ‚zps.papersizeÚfigure)rW  )rX  r  )ÚdpiÚdsc_commentsrX  rW  rY  )"rb  rc  Ú
isinstancer�   r    ÚPathLikeÚpathlibr   rv   rö  r‰   r¶   r  Ú__version__ÚgetenvÚdatetimeÚfromtimestampÚintÚtimezoneÚutcÚstrftimeÚtimeÚctimerW   Úitemsr  Úlowerr   Úcheck_in_listÚ	papersizeÚgetitem_checkedrI  Ú_print_figure_texÚ_print_figure)rú   ÚfmtÚoutfilerV  rW  rX  rY  rû   rc  rd  ÚfilenameÚsource_date_epochÚprinters                rT   Ú	_print_psÚFigureCanvasPS._print_psÎ  sÉ  € ð
 �k‰k�o‰oˆØˆ�‰ŒàˆÜ�g¤¤R§[¡[Ð1×2Ñ2Ü—|’| GÓ,×1Ñ1ˆHà—‘ ¨Ó3×:Ñ:¸7ÓCð ˜Ñ!à#+§>¨r×"6Ñ"6ØØœ3Ÿ?™?Ð+Ð+DÐEó#Gˆ�YÑô ŸIšIÐ&9Ó:Ðö
 !ô ×Ñ×+Ñ+ÜÐ%Ó&Ü×!Ñ!×%Ñ%ó'ç'/¡xÐ0FÔ'Gä—’“ð 	�^Ñ$ð —y‘yñ !<Ø&2×&8Ñ&8Ô&:ó!<ó <ˆð ÑÜŸ™ ^Ñ4ˆIØ—O‘OÓ%ˆ	Ü×Ò˜HÐ1¤yÐ1¸YÒGä×*Ò*Ü k×&7Ñ&7Ó&9ñ;ˆô —l‘l =×1ð ×)Ò)à×%Ñ%ð 	ñ 	�ð 	C #Ø'Ø$7ñ	Cà;Aó	CrZ   ©rY  c                ó¬  ^ ^^^^^^^^^^^• US:H  m[        U[        [        R                  45      (       d  [	        U5      (       d  [        S5      eT R                  R                  5       u  mmT(       d  TS:X  a  TTp˜OTR                  [        T   5      u  p‰SUT-
  -  mSU	T-
  -  mTn
TnU
T R                  R                  R                  -   nUT R                  R                  R                  -   nSmT[        R                  L a  XºXÜ4u  p«pÍSU	-  T-
  TsmmSmX«XÍ4m[        5       T l        [#        TTT R                   US9m[%        T R                  TTUTUS	9nT R                  R'                  U5        UUUUUUUUU UUU4S
 jn[(        R*                  S   (       a­  [-        5        n[        R.                  R1                  US5      n[3        USSS9 nU" U5        SSS5        [(        R*                  S   S:X  a  [5        [6        UTTTS9  O([(        R*                  S   S:X  a  [5        [8        UTTTS9  [;        UU5        SSS5        g[<        R>                  " USSS9 n[A        U5      (       d  [B        RD                  " S5      " U5      nU" U5        SSS5        g! , (       d  f       NÈ= f! , (       d  f       g= f! , (       d  f       g= f)zÿ
Render the figure to a filesystem path or a file-like object.

Parameters are as for `.print_figure`, except that *dsc_comments* is a
string containing Document Structuring Convention comments,
generated from the *metadata* parameter to `.print_figure`.
rR  z,outfile must be a path or a file-like objectrb  g      B@r   r  rÓ  ©r  r€  c           
      óN  >• T
(       a  [        SU S9  O'[        SU S9  TS:w  a  [        ST 3U S9  [        SU S9  [        ST STR                   S	[        T5       S
3SU S9  [        [        5      n[        SU S9  [
        R                  S   (       d>  U[        [        [        TR                  R                  R                  5       5      5      -  n[        SU-  U S9  [        SU S9  [        S	R                  [        5      U S9  [
        R                  S   (       d¹  TR                  R                  R                  5        H‘  u  p#[        U5       H}  u  pEU(       d  M  [
        R                  S   nU R                  5         US:X  a+  U R!                  [#        X$UR                  5       5      5        Mb  [%        X$UR                  5       U 5        M     M“     [        SU S9  [        SU S9  T
(       d
  [        SU S9  [        SU S9  [        S['        TT5      -  U S9  T(       a  [        ST-  U S9  [        S['        TS-  T	S-  5       S3U S9  [        TR(                  R+                  5       U S9  [        SU S9  [        SU S9  T
(       d
  [        SU S9  U R                  5         g )Nz%!PS-Adobe-3.0 EPSF-3.0)Úfilez%!PS-Adobe-3.0rb  z%%DocumentPaperSizes: z
%%Pages: 1z%%LanguageLevel: 3
z
%%Orientation: r|   z
%%EndComments
r­   )Úendr„  z%%BeginPrologr  z/mpldict %d dict defzmpldict beginr  r&  r…  z%%EndPrologz%%Page: 1 1z%s translatez	%d rotatez0 0 r  z	 rectclipÚshowpagez%%EOF)Úprintrv   Ú_get_bbox_headerr‚   Ú_psDefsr  r  Úsumr€   r  ÚusedrÑ   rW   rr  rç   Úflushr£   r“   r©   rY   rø   rŸ   )rh   ÚNdictro   Úsubsetsrr   ÚcharmapÚfonttypert   rd  r!  Úis_epsrX  rW  Úps_rendererÚrotationrú   r   rÈ  rÉ  s          €€€€€€€€€€€€rT   Úprint_figure_implÚ7FigureCanvasPS._print_figure.<locals>.print_figure_impl)  sF  ø€ æÜÐ/°bÓ9äÐ&¨RÒ0Ø Ó(ÜÐ2°9°+Ð>ÀRÒHÜ�l¨Ò,ÜÐ(Ø!�Nð #$Ø$/×$4Ñ$4Ð#5°RÜ% dÓ+Ð,ð -$ð%ð
 ˜rò#ô œ“LˆEÜ�/¨Ò+Ü—<‘< ×,ØœœS¤ k×&DÑ&D×&IÑ&I×&PÑ&PÓ&RÓSÓTÑT�ÜÐ(¨5Ñ0°rÒ:Ü�/¨Ò+Ü�$—)‘)œGÓ$¨2Ò.Ü—<‘< ×,Ø%0×%CÑ%C×%HÑ%H×%NÑ%NÖ%P‘M�DÜ+4°WÖ+=™˜Þ&Ù$Ü#&§<¡<°Ñ#>˜ØŸ™œ
Ø# q›=ØŸH™HÔ%6°tÀWÇ^Á^ÓEUÓ%VÖWä.¨t¸W¿^¹^Ó=MÈrÖRó ,>ñ &Qô �%˜bÒ!Ü�- bÒ)æÜ�m¨"Ò-Ü�/¨Ò+ä�.¤<°°BÓ#7Ñ7¸bÒAÞÜ�k HÑ,°2Ò6Ü�Dœ e¨B¡h°°r±	Ó:Ð;¸9ÐEÈBÒOô �$—.‘.×)Ñ)Ó+°"Ò5ô �%˜bÒ!Ü�* 2Ò&ÞÜ�g BÒ'Ø�H‰H�JrZ   úps.usedistillerútmp.psr‚  r\   r]   NÚghostscript)Úptypert   Úxpdf)#re  r�   r    rf  r   Ú
ValueErrorrb  Úget_size_inchesrL  ru  rt   r   r!  rI  rK  r   rø   r  r   rá   r  r  r   r›   rW   ra   Ú_try_distillÚ
gs_distillÚxpdf_distillri   r   Úopen_file_cmr   ÚcodecsÚ	getwriter)rú   ry  rz  rc  rd  rX  rW  rY  Úpaper_widthÚpaper_heightÚllxÚllyÚurxÚuryÚrendererr”  ÚtmpdirÚtmpfilerh   r„  rt   r!  r‘  r’  r“  r   rÈ  rÉ  s   `   ```             @@@@@@@@rT   rx  ÚFigureCanvasPS._print_figureø  sŒ  ÿû€ ð ˜‘ˆÜ˜7¤S¬"¯+©+Ð$6×7Ñ7Ü(¨×1Ñ1ÜÐKÓLÐLð Ÿ™×3Ñ3Ó5‰ˆˆvÞ�Y (Ó*Ø(-¨v™à(3×(EÑ(EÜ˜)Ñ$ó)&Ñ%ˆKð ˜ uÑ,Ñ-ˆØ˜¨Ñ.Ñ/ˆàˆØˆØ�D—K‘K×$Ñ$×*Ñ*Ñ*ˆØ�D—K‘K×$Ñ$×+Ñ+Ñ+ˆØˆØœ,×0Ñ0Ò0Ø!$¨3Ð!3ÑˆC�cØ˜,Ñ&¨Ñ+¨RˆFˆB�ØˆHØ˜#Ð#ˆä!›ˆŒô ! ¨°·±ÈÑMˆÜ$Ø�K‰K˜ ¨¨[Ø 3ñ5ˆð 	�‰×Ñ˜Ô"÷6	÷ 6	ð 6	ôp �<‰<Ð)×*ô $Ô%¨ÜŸ'™'Ÿ,™, v¨xÓ8�Ü˜' 3°Ò;¸rÙ% bÔ)÷ <ä—<‘<Ð 1Ñ2°mÓCÜ ¤Ø!(¨&¸	ÈóNä—\‘\Ð"3Ñ4¸Ó>Ü ¤Ø!(¨&¸	ÈòNä,¨W°gÔ>÷ &Ð%ô ×#Ò# G¨S¸9ÒEÈÜ,¨T×2Ñ2Ü!×+Ò+¨IÔ6°tÓ<�DÙ! $Ô'÷ FÐE÷ <Õ;ú÷ &Õ%ú÷ FÕEús1   Æ,,J4Ç	J#Ç!A%J4É%5KÊ#
J1	Ê-J4Ê4
KË
Kc                óú  • US:H  nU R                   R                  5       u  pšSnSnUnUnXÐR                   R                  R                  -   nXàR                   R                  R                  -   nXÞUU4n[        5       U l        [        XšU R                  US9n[        U R                   XšUUUS9nU R                   R                  U5        [        5        n[        R                  " US5      nUR                  SU S[        U5       S[        [         5       S	S
R#                  [         5       S[%        X¼5       S[%        U	S-  U
S-  5       SU R                  R'                  5        S3SS9  U[(        R*                  L a  X©p©XíUU4nU(       d  US:X  a-  UR-                  U R                   R                  5       5      u  nnO[.        U   u  nn[1        UUR2                  UUUR4                  5      n[6        R8                  S   S:X  d  [6        R8                  S   (       a  [;        [<        UX†UUS9  O([6        R8                  S   S:X  a  [;        [>        UX†UUS9  [A        UU5        SSS5        g! , (       d  f       g= f)a   
If :rc:`text.usetex` is True, a temporary pair of tex/eps files
are created to allow tex to manage the text layout via the PSFrags
package. These files are processed to yield the final ps or eps file.

The rest of the behavior is as for `._print_figure`.
rR  r   r‚  r€  r—  z+%!PS-Adobe-3.0 EPSF-3.0
%%LanguageLevel: 3
r|   z&
%%EndComments
%%BeginProlog
/mpldict z dict def
mpldict begin
r­   z
end
%%EndProlog
mpldict begin
z translate
0 0 r  ri  z
end
showpage
r\   r]   rb  r–  r˜  r  )r™  rt   Úrotatedrš  N)!rb  rœ  rt   r   r!  r   rø   r  r   rá   r   rg  r   Ú
write_textrˆ  r‚   r‰  rW   rY   rŸ   rI  rK  rL  ru  Ú_convert_psfragsr  rv   r  r  r�  rž  rŸ  ri   )rú   ry  rz  rc  rd  rX  rW  rY  r‘  r   r!  rÈ  rÉ  r¥  r¦  r§  r¨  rt   r’  r©  rª  Útmppathr£  r¤  Úpsfrag_rotateds                            rT   rw  Ú FigureCanvasPS._print_figure_texv  sw  € ð ˜‘ˆàŸ™×3Ñ3Ó5‰ˆØˆØˆàˆØˆØ—K‘K×$Ñ$×*Ñ*Ñ*ˆØ—K‘K×$Ñ$×+Ñ+Ñ+ˆØ˜#˜sÐ#ˆä!›ˆŒô ! °·±ÈÑMˆÜ$ T§[¡[Ø%*°C¸Ø9LñNˆð 	�‰×Ñ˜Ô"ô  Ô! VÜ—l’l 6¨8Ó4ˆGØ×Ñðð €ð Ü�$ÓÐ ð 
ô Œg‹,ˆð à‡�ŒÓÐ ð ô ˆbÓÐ ð Ü�%˜‘(˜F 2™IÓ&Ð'ð (Ø‡�×ÑÓÐ ð ðð& #ð) ñ $ð, œl×4Ñ4Ò4Ø &�vØ # sÐ+�ö
 ˜ hÓ.Ø,7×,IÑ,IØ—K‘K×/Ñ/Ó1ó-3Ñ)�™\ô -6°iÑ,@Ñ)�˜\ä-Ø˜×+Ñ+¨[¸,Ø× Ñ ó"ˆNô —‘Ð.Ñ/°=Ó@Ü—|‘| M×2ÜœZØ$ fÀDØ%3ó5ô —‘Ð/Ñ0°FÓ:Üœ\Ø$ fÀDØ%3ò5ô )¨°'Ô:÷g "×!Ö!ús   ÃFI,É,
I:r‘  rR  c                 óT   >• U R                   R                  5         [        TU ]  5       $ r>  )rb  Údraw_without_renderingr	  rá   )rú   r#  s    €rT   rá   ÚFigureCanvasPS.drawÐ  s   ø€ Ø�‰×*Ñ*Ô,Ü‰w‰|‹~ÐrZ   )rø   )rù   r=  r>  r?  Ú	fixed_dpiÚ	filetypesrT  r~  rx  rw  rÿ   ÚpartialmethodÚprint_psÚ	print_epsrá   rE  rF  rG  s   @rT   rP  rP  Æ  su   ø† Ø€IØ#Ø1ñ3€Iòð
  T°zØ $õ(CðZ !%õ|(ðB !%õU;ðn ×&Ò& y°$Ó7€HØ×'Ò'¨	°5Ó9€I÷ó rZ   rP  c           	      ój  • [         R                  " S[         R                  S   [         R                  R	                  S5      -   [         R                  R	                  S5      -   [         R                  R	                  S5      -   SX#S.-  -   05         [        5       R                  SSR                  U5      US	:X  a  S
OSU R                  5       R                  5       S.-  SS9nSSS5        [        5        n[        R                  R                  US5      n[        R                  " SSSSUW/[        5        [         R"                  " Xp5        SSS5        [%        U 5       nSUR'                  S5      ;   n	SSS5        U	$ ! , (       d  f       N¢= f! , (       d  f       NI= f! , (       d  f       W	$ = f)aR  
When we want to use the LaTeX backend with postscript, we write PSFrag tags
to a temporary postscript file, each one marking a position for LaTeX to
render some text. convert_psfrags generates a LaTeX document containing the
commands to convert those tags to text. LaTeX/dvips produces the postscript
file that includes the actual text.
ztext.latex.preambler  Úgraphicxr  z:\geometry{papersize={%(width)sin,%(height)sin},margin=0in})r   r!  zt
\begin{figure}
  \centering\leavevmode
  %(psfrags)s
  \includegraphics*[angle=%(angle)s]{%(epsfile)s}
\end{figure}r|   rK  rÓ  r   )ÚpsfragsrÜ  Úepsfileé
   )r  Nr—  Údvipsz-qz-R1z-oÚ	Landscapeiè  )r  Ú
rc_contextr  Ú
texmanagerÚ_usepackage_if_not_loadedr   Úmake_dvirW   ÚresolveÚas_posixr   r    r›   r   Ú_check_and_log_subprocessr–   rb   rd   ra   Úread)
r±  r¾  r£  r¤  rX  Údvifilerª  Úpsfilerh   r²  s
             rT   r°  r°  Õ  s}  € ô 
�ŠØ!Ü�L‰LÐ.Ñ/Ü�N‰N×4Ñ4°WÓ=ñ>ä�N‰N×4Ñ4°ZÓ@ñAô �N‰N×4Ñ4°XÓ>ñ?ð JØ#Ñ<ñ=ñ	=ðõ 
ô “,×'Ñ'ðð  Ÿ9™9 WÓ-Ø*¨kÓ9™¸qØ"Ÿ?™?Ó,×5Ñ5Ó7ññ
ð ð (ð ˆ÷
ô. 
Ô	 Ü—‘—‘˜f hÓ/ˆä×'Ò'Ø�d˜E 4¨°Ð9¼4ô	Aä�Š�FÔ$÷ 
ô 
ˆgŒ˜"Ø$¨¯©°«Ñ5ˆ÷ 
àÐ÷O
õ 
ú÷. 
Õ	ú÷ 
ŒàÐús&   ÂAFÃ7AFÅ"F#Æ
FÆ
F Æ#
F2c                 óž   •  U " [        U5      /UQ70 UD6  g ! [        R                   a   n[        R	                  SU5         S nAg S nAff = f)Nz%s.  Distillation step skipped.)r�   r  ÚExecutableNotFoundErrorr–   r¦   )Úfuncr±  rX   rû   Úexcs        rT   r�  r�    sE   € ð=ÙŒS�‹\Ð+˜DÒ+ FÓ+øÜ×&Ñ&ó =Ü�‰Ð6¸×<Ñ<ûð=ús   ‚ ˜A¬AÁAc                 ó–  • U(       a  S/nOUS:X  a  SUS    3SUS    3/nOSU 3/nU S-   n[         R                  S	   n[        R                  " [         R                  " S
5      R
                  SSSSU-  S/UQSU 3PU P[        5        [        R                  " U 5        [        R                  " X`5        U(       a  [        XUS9  gg)zÄ
Use ghostscript's pswrite or epswrite device to distill a file.
This yields smaller files without illegal encapsulated postscript
operators. The output is low-level, converting text to outlines.
ú	-dEPSCroprb  z-dDEVICEWIDTHPOINTS=r6  z-dDEVICEHEIGHTPOINTS=r&  z-sPAPERSIZE=z.pszps.distiller.resrã   z-dBATCHz	-dNOPAUSEú-dSAFERz-r%dz-sDEVICE=ps2writez-sOutputFile=)r®  N)r  r  r   rÉ  Ú_get_executable_infoÚ
executabler–   r    Úremoverb   rd   Úpstoeps)r«  rR  r™  rt   r®  Úpaper_optionrÌ  rc  s           rT   rž  rž    sï   € ö Ø#�}‰Ø	�(Ó	ð /¨t°A©w¨iÐ8Ø/°°Q±¨yÐ9ð;‰ð ' u gÐ.Ð/ˆà�u‰_€FÜ
�,‰,Ð)Ñ
*€Cä	×#Ò#Ü	×	!Ò	! $Ó	'×	2Ñ	2Ø	�K ¨F°S©LÐ:Mð	;à
ð	;à'¨ xÐ0ð	;à29ð	;ô 	ô	ô ‡I‚IˆgÔÜ
‡K‚K�Ô ö ô 	� wÓ/ð rZ   c           
      ó2  • [         R                  " S5        [         R                  " S5        U(       a  S/nOUS:X  a  SUS    3SUS    3/nOS	U 3/n[        5        n[        R                  " US
5      n[        R                  " US5      n[
        R                  " SSSSSSS/UQU PUP[        5        [
        R                  " SSSSXx/[        5        [        R                  " X€5        SSS5        U(       a  [        U 5        gg! , (       d  f       N"= f)zö
Use ghostscript's ps2pdf and xpdf's/poppler's pdftops to distill a file.
This yields smaller files without illegal encapsulated postscript
operators. This distiller is preferred, generating high-level postscript
output that treats text as text.
rã   ÚpdftopsrÒ  rb  z-dDEVICEWIDTHPOINTS#r6  z-dDEVICEHEIGHTPOINTS#r&  z-sPAPERSIZE#ztmp.pdfr—  Úps2pdfrÓ  z-dAutoFilterColorImages#falsez-dAutoFilterGrayImages#falsez-sAutoRotatePages#Nonez-sGrayImageFilter#FlateEncodez-sColorImageFilter#FlateEncodez-paperÚmatchz-level3N)r  rÔ  r   rg  r   r   rÉ  r–   rb   rd   r×  )	r«  rR  r™  rt   r®  rØ  rª  ÚtmppdfÚtmppss	            rT   rŸ  rŸ  5  s*  € ô ×Ò˜TÔ"Ü×Ò˜YÔ'æ
Ø#�}‰Ø	�(Ó	ð /¨t°A©w¨iÐ8Ø/°°Q±¨yÐ9ð;‰ð ' u gÐ.Ð/ˆä	Ô	 Ü—’˜f iÓ0ˆÜ—’˜V XÓ.ˆô 	×'Ò'ØØØ,Ø+Ø%Ø,Ø-ðð ðð ðð ðô  $ô		%ô 	×'Ò'Ø˜ '¨9°fÐDÄdô	Lä�Š�EÔ#÷# 
ö$ Ü�Õð ÷% 
Õ	ús   ÁBDÄ
Dc                 ó¼   • U u  pp4S[        U5       S[        U5       S[        R                  " U5       S[        R                  " U5       SUS SUS SUS SUS 3$ )zGReturn a PostScript header string for bounding box *lbrt*=(l, b, r, t).z%%BoundingBox: rJ   z
%%HiResBoundingBox: z.6f)rl  Úmathr'  ©ÚlbrtÚlr,  r+  Úts        rT   rˆ  rˆ  _  sm   € à�J€Aˆ!Øœc !›f˜X Q¤s¨1£v h¨a´·	²	¸!³¨~¸Q¼t¿yºyÈ»|¸nð M#Ø#$ S '¨¨1¨S¨'°°1°S°'¸¸1¸S¸'ðCð DrZ   c                 ó$   • U u  pp4X-   S SSS S3$ )uO   Return a PostScript 90Â° rotation command for bounding box *lbrt*=(l, b, r, t).z.2frJ   r   z translate
90 rotaterî   rá  s        rT   Ú_get_rotate_commandræ  f  s%   € à�J€Aˆ!Ø‰c�#ˆY�a˜˜#�wÐ3Ð4Ð4rZ   c                 óD  • U S-   n[        US5       n[        U S5       nUR                  nU HÈ  nUR                  S5      (       a6  U" S5        U(       a%  U" [        U5      R	                  S5      S-   5        MM  MO  UR                  S5      (       a<  U" U5        U" S	5        U(       a#  U" [        U5      R	                  S5      S-   5          O+U(       a  UR                  S
5      (       a  MÀ  U" U5        MÊ     U HC  nUR                  S5      (       a
  U" S5        M#  UR                  S5      (       a  M;  U" U5        ME     SSS5        SSS5        [        R                  " U 5        [        R                  " X05        g! , (       d  f       NC= f! , (       d  f       NL= f)z¤
Convert the postscript to encapsulated postscript.  The bbox of
the eps file will be replaced with the given *bbox* argument. If
None, original bbox will be used.
z.epsÚwbr_   s   %!PSs   %!PS-Adobe-3.0 EPSF-3.0
r{   ó   
s   %%EndCommentssp   %%BeginProlog
save
countdictstack
mark
newpath
/showpage {} def
/setpagedevice {pop} def
%%EndProlog
%%Page 1 1
)s   %%Bounds   %%HiResBounds   %%DocumentMedias   %%Pagess   %%EOFsJ   cleartomark
countdictstack
exch sub { end } repeat
restore
showpage
%%EOF
s   %%PageBoundingBoxN)
ra   r£   Ú
startswithrˆ  rö  ræ  r    rÖ  rb   rd   )r«  rt   r®  r¿  ÚepshÚtmphr£   Úlines           rT   r×  r×  l  s]  € ð ˜Ñ€GÜ	ˆg�tÔ	 ¤d¨7°DÔ&9¸TØ—
‘
ˆãˆDØ�‰˜w×'Ñ'ÙÐ2Ô3ÞÙÔ*¨4Ó0×7Ñ7¸Ó@À5ÑHÖIñ à—‘Ð!1×2Ñ2Ù�d”Ùð &ô 'ö ÙÔ-¨dÓ3×:Ñ:¸7ÓCÀeÑKÔLÙÞ˜$Ÿ/™/ð +K÷ Lñ Láá�d–ñ/ ó6 ˆDØ�‰˜x×(Ñ(Ùð !ö "ð —‘Ð!5×6Ñ6Ùá�d–ñ ÷= ':×	ôV ‡I‚IˆgÔÜ
‡K‚K�Õ!÷Y ':Õ&9ú×	Õ	ús#   ’FŸD$F ÅFÆ 
F	Æ
FÆ
F)z/_d { bind def } bind defz/m { moveto } _dz/l { lineto } _dz/r { rlineto } _dz/c { curveto } _dz/cl { closepath } _dz/ce { closepath eofill } _dz/sc { setcachedevice } _dc                   ó   • \ rS rSrSr\rSrg)Ú
_BackendPSiÉ  zLevel IIrî   N)rù   r=  r>  r?  Úbackend_versionrP  ÚFigureCanvasrE  rî   rZ   rT   rï  rï  É  s   † à €OØ!ƒLrZ   rï  )Fr   NF)NF)Sr@  rð   r¡  rj  Úenumr   rÿ   Úior   r  Úloggingrà  r    rg  rb   rË   Útempfiler   r¹   rp  r˜   ÚnumpyrK  Ú
matplotlibr  r   r   r   r	   Úmatplotlib.backend_basesr
   r   r   r   Úmatplotlib.cbookr   r   Úmatplotlib.font_managerr   Úmatplotlib.ft2fontr   Úmatplotlib._mathtext_datar   Úmatplotlib.pathr   Úmatplotlib.texmanagerr   Úmatplotlib.transformsr   Ú!matplotlib.backends.backend_mixedr   r­   r   Ú	getLoggerrù   r–   r÷   ru  rY   ri   r“   r©   r¤   rµ   rÁ   r·   r¸   r  ÚRendererPDFPSBaser  rI  rP  r°  r�  rž  rŸ  rˆ  ræ  r×  ÚFigureManagerPSr‰  Úexportrï  rî   rZ   rT   Ú<module>r     s;  ðñó Û Û Ý Û Ý Û Û Û Û 	Û Û Û Ý 'Û Û ã Û ã ß 8Ó 8÷Aó Aç IÝ ,Ý (Ý /Ý  Ý ,Ý *Ý ?Ý ð ×Ò˜Ó"€Ø
€ð"ˆX�yð "Ø�ið"à�xð"ð �>ð"ð �>ð	"ð
 �>ð"ð �>ð"ð �=ð"ð �<ð"ð �<ð"ð �<ð"ð �<ð"ð �<ð"ð �Lð"ð �>ð"ð �>ð"ð  �>ð!"ð" "Ø!Ø ØØØØØ ò1"€	ð6  õ Kò=ò O5òdòD/òd( òV&ò2ò0 @òFôn�×2Ñ2ô nôbB�4ô BôLÐ%ô Lò^/òd=ô$0ôN'òTDò5ô4"ðn $€ò€ð. 
‡�ô"�ó "ó ñ"rZ   