[clml] r148 committed - slides

2 views
Skip to first unread message

cl...@googlecode.com

unread,
Mar 16, 2012, 7:25:16 PM3/16/12
to cl...@googlegroups.com
Revision: 148
Author: no.pithy...@gmail.com
Date: Fri Mar 16 16:24:45 2012
Log: slides
http://code.google.com/p/clml/source/detail?r=148

Added:
/trunk/pyphon/Writing/Stanford Tutorial
/trunk/pyphon/Writing/Stanford Tutorial/OT.eps
/trunk/pyphon/Writing/Stanford Tutorial/tutorial.pdf
/trunk/pyphon/Writing/Stanford Tutorial/tutorial.ps
/trunk/pyphon/Writing/Stanford Tutorial/tutorial.tex
/trunk/pyphon/Writing/Stanford Tutorial/typology-tOrder.eps

=======================================
--- /dev/null
+++ /trunk/pyphon/Writing/Stanford Tutorial/OT.eps Fri Mar 16 16:24:45 2012
@@ -0,0 +1,953 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: graphviz version 2.28.0 (20111028.1807)
+%%Title: acceptor
+%%Pages: 1
+%%BoundingBox: 36 36 612 382
+%%EndComments
+save
+%%BeginProlog
+/DotDict 200 dict def
+DotDict begin
+
+/setupLatin1 {
+mark
+/EncodingVector 256 array def
+ EncodingVector 0
+
+ISOLatin1Encoding 0 255 getinterval putinterval
+EncodingVector 45 /hyphen put
+
+% Set up ISO Latin 1 character encoding
+/starnetISO {
+ dup dup findfont dup length dict begin
+ { 1 index /FID ne { def }{ pop pop } ifelse
+ } forall
+ /Encoding EncodingVector def
+ currentdict end definefont
+} def
+/Times-Roman starnetISO def
+/Times-Italic starnetISO def
+/Times-Bold starnetISO def
+/Times-BoldItalic starnetISO def
+/Helvetica starnetISO def
+/Helvetica-Oblique starnetISO def
+/Helvetica-Bold starnetISO def
+/Helvetica-BoldOblique starnetISO def
+/Courier starnetISO def
+/Courier-Oblique starnetISO def
+/Courier-Bold starnetISO def
+/Courier-BoldOblique starnetISO def
+cleartomark
+} bind def
+
+%%BeginResource: procset graphviz 0 0
+/coord-font-family /Times-Roman def
+/default-font-family /Times-Roman def
+/coordfont coord-font-family findfont 8 scalefont def
+
+/InvScaleFactor 1.0 def
+/set_scale {
+ dup 1 exch div /InvScaleFactor exch def
+ scale
+} bind def
+
+% styles
+/solid { [] 0 setdash } bind def
+/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
+/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
+/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def}
bind def
+/bold { 2 setlinewidth } bind def
+/filled { } bind def
+/unfilled { } bind def
+/rounded { } bind def
+/diagonals { } bind def
+
+% hooks for setting color
+/nodecolor { sethsbcolor } bind def
+/edgecolor { sethsbcolor } bind def
+/graphcolor { sethsbcolor } bind def
+/nopcolor {pop pop pop} bind def
+
+/beginpage { % i j npages
+ /npages exch def
+ /j exch def
+ /i exch def
+ /str 10 string def
+ npages 1 gt {
+ gsave
+ coordfont setfont
+ 0 0 moveto
+ (\() show i str cvs show (,) show j str cvs show (\)) show
+ grestore
+ } if
+} bind def
+
+/set_font {
+ findfont exch
+ scalefont setfont
+} def
+
+% draw text fitted to its expected width
+/alignedtext { % width text
+ /text exch def
+ /width exch def
+ gsave
+ width 0 gt {
+ [] 0 setdash
+ text stringwidth pop width exch sub text length div 0 text ashow
+ } if
+ grestore
+} def
+
+/boxprim { % xcorner ycorner xsize ysize
+ 4 2 roll
+ moveto
+ 2 copy
+ exch 0 rlineto
+ 0 exch rlineto
+ pop neg 0 rlineto
+ closepath
+} bind def
+
+/ellipse_path {
+ /ry exch def
+ /rx exch def
+ /y exch def
+ /x exch def
+ matrix currentmatrix
+ newpath
+ x y translate
+ rx ry scale
+ 0 0 1 0 360 arc
+ setmatrix
+} bind def
+
+/endpage { showpage } bind def
+/showpage { } def
+
+/layercolorseq
+ [ % layer color sequence - darkest to lightest
+ [0 0 0]
+ [.2 .8 .8]
+ [.4 .8 .8]
+ [.6 .8 .8]
+ [.8 .8 .8]
+ ]
+def
+
+/layerlen layercolorseq length def
+
+/setlayer {/maxlayer exch def /curlayer exch def
+ layercolorseq curlayer 1 sub layerlen mod get
+ aload pop sethsbcolor
+ /nodecolor {nopcolor} def
+ /edgecolor {nopcolor} def
+ /graphcolor {nopcolor} def
+} bind def
+
+/onlayer { curlayer ne {invis} if } def
+
+/onlayers {
+ /myupper exch def
+ /mylower exch def
+ curlayer mylower lt
+ curlayer myupper gt
+ or
+ {invis} if
+} def
+
+/curlayer 0 def
+
+%%EndResource
+%%EndProlog
+%%BeginSetup
+14 default-font-family set_font
+1 setmiterlimit
+% /arrowlength 10 def
+% /arrowwidth 5 def
+
+% make sure pdfmark is harmless for PS-interpreters other than Distiller
+/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
+% make '<<' and '>>' safe on PS Level 1 devices
+/languagelevel where {pop languagelevel}{1} ifelse
+2 lt {
+ userdict (<<) cvn ([) cvn load put
+ userdict (>>) cvn ([) cvn load put
+} if
+
+%%EndSetup
+setupLatin1
+%%Page: 1 1
+%%PageBoundingBox: 36 36 612 382
+%%PageOrientation: Portrait
+0 0 1 beginpage
+gsave
+36 36 576 346 boxprim clip newpath
+0.8586 0.8586 set_scale 0 rotate 45.9287 46.9287 translate
+% 1347
+gsave
+0 0 0.82745 nodecolor
+42.07 109.03 30.2 18 ellipse_path fill
+1 setlinewidth
+filled
+0 0 0 nodecolor
+42.07 109.03 30.2 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+28.07 103.43 moveto 28 (1347) alignedtext
+grestore
+% 1347->1347
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 38.7 127.18 moveto
+38.18 136.57 39.3 145.03 42.07 145.03 curveto
+43.76 145.03 44.84 141.89 45.31 137.31 curveto
+stroke
+0 0 0 edgecolor
+newpath 48.81 137.23 moveto
+45.45 127.18 lineto
+41.81 137.13 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 48.81 137.23 moveto
+45.45 127.18 lineto
+41.81 137.13 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+35.27 164.63 moveto 13.6 (.:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+37.02 147.83 moveto 10.11 (Ø) alignedtext
+grestore
+% 1347->1347
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 32.24 126.13 moveto
+24.81 148.38 28.08 178.63 42.07 178.63 curveto
+54.09 178.63 58.21 156.29 54.41 135.88 curveto
+stroke
+0 0 0 edgecolor
+newpath 57.78 134.95 moveto
+51.91 126.13 lineto
+51 136.68 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 57.78 134.95 moveto
+51.91 126.13 lineto
+51 136.68 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+32.48 198.23 moveto 19.18 (V:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+23.3 181.43 moveto 37.54 ({max}) alignedtext
+grestore
+% 1347->1347
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 21.37 122.49 moveto
+-12.57 154.27 -5.67 212.23 42.07 212.23 curveto
+86.28 212.23 95.47 162.55 69.66 129.96 curveto
+stroke
+0 0 0 edgecolor
+newpath 72.12 127.48 moveto
+62.77 122.49 lineto
+66.97 132.22 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 72.12 127.48 moveto
+62.77 122.49 lineto
+66.97 132.22 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+32.35 231.83 moveto 19.44 (C:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+23.3 215.03 moveto 37.54 ({max}) alignedtext
+grestore
+% 1348
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+158.07 109.03 30.22 18 ellipse_path stroke
+1 setlinewidth
+0 0 0 nodecolor
+158.07 109.03 34.2 22 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+144.07 103.43 moveto 28 (1348) alignedtext
+grestore
+% 1347->1348
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 72.43 109.03 moveto
+84.84 109.03 99.55 109.03 113.2 109.03 curveto
+stroke
+0 0 0 edgecolor
+newpath 113.37 112.53 moveto
+123.37 109.03 lineto
+113.37 105.53 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 113.37 112.53 moveto
+123.37 109.03 lineto
+113.37 105.53 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+91.27 128.63 moveto 13.6 (ε:.) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+93.02 111.83 moveto 10.11 (Ø) alignedtext
+grestore
+% 1348->1348
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 154.37 131.24 moveto
+154.06 140.83 155.3 149.03 158.07 149.03 curveto
+159.76 149.03 160.88 145.98 161.43 141.43 curveto
+stroke
+0 0 0 edgecolor
+newpath 164.93 141.36 moveto
+161.78 131.24 lineto
+157.94 141.12 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 164.93 141.36 moveto
+161.78 131.24 lineto
+157.94 141.12 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+151.27 168.63 moveto 13.6 (.:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+153.02 151.83 moveto 10.11 (Ø) alignedtext
+grestore
+% 1348->1348
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 147.19 130.16 moveto
+140.78 153.36 144.41 182.63 158.07 182.63 curveto
+169.81 182.63 174.14 161.02 171.07 140.21 curveto
+stroke
+0 0 0 edgecolor
+newpath 174.44 139.23 moveto
+168.96 130.16 lineto
+167.59 140.66 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 174.44 139.23 moveto
+168.96 130.16 lineto
+167.59 140.66 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+148.35 202.23 moveto 19.44 (C:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+139.3 185.43 moveto 37.54 ({max}) alignedtext
+grestore
+% 1348->1348
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 134.97 125.45 moveto
+103.44 159.02 111.14 216.23 158.07 216.23 curveto
+201.52 216.23 211.35 167.2 187.55 133.29 curveto
+stroke
+0 0 0 edgecolor
+newpath 190.2 131 moveto
+181.17 125.45 lineto
+184.77 135.42 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 190.2 131 moveto
+181.17 125.45 lineto
+184.77 135.42 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+148.48 235.83 moveto 19.18 (V:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+139.3 219.03 moveto 37.54 ({max}) alignedtext
+grestore
+% 1349
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+313.07 224.03 30.2 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+299.07 218.43 moveto 28 (1349) alignedtext
+grestore
+% 1348->1349
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 163.62 130.77 moveto
+169.89 154.86 183.67 192.85 211.07 212.03 curveto
+228.81 224.45 252.73 227.72 272.84 227.76 curveto
+stroke
+0 0 0 edgecolor
+newpath 273.04 231.26 moveto
+282.95 227.52 lineto
+272.87 224.26 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 273.04 231.26 moveto
+282.95 227.52 lineto
+272.87 224.26 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+221.79 246.63 moveto 22.57 (C:C) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+228.02 229.83 moveto 10.11 (Ø) alignedtext
+grestore
+% 1348->1349
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 177.2 127.58 moveto
+186.71 136.63 198.89 147.23 211.07 155.03 curveto
+229.07 166.56 237.03 162.98 255.07 174.43 curveto
+267.13 182.09 279.24 192.2 289.18 201.3 curveto
+stroke
+0 0 0 edgecolor
+newpath 286.96 204.02 moveto
+296.65 208.32 lineto
+291.76 198.92 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 286.96 204.02 moveto
+296.65 208.32 lineto
+291.76 198.92 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+223.35 194.63 moveto 19.44 (ε:C) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+211.58 177.83 moveto 42.99 ({depC}) alignedtext
+grestore
+% 1350
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+478.07 109.03 30.2 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+464.07 103.43 moveto 28 (1350) alignedtext
+grestore
+% 1348->1350
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 192.49 109.77 moveto
+215.21 110.24 245.95 110.79 273.07 111.03 curveto
+308.63 111.34 317.52 111.32 353.07 111.03 curveto
+381.2 110.8 412.92 110.29 437.24 109.84 curveto
+stroke
+0 0 0 edgecolor
+newpath 437.58 113.33 moveto
+447.51 109.64 lineto
+437.45 106.33 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 437.58 113.33 moveto
+447.51 109.64 lineto
+437.45 106.33 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+301.53 131.63 moveto 23.08 (V:V) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+291.58 114.83 moveto 42.99 ({onset}) alignedtext
+grestore
+% 1348->1350
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 187.55 97.49 moveto
+210.28 88.93 243.15 77.99 273.07 73.43 curveto
+308.22 68.07 317.86 68.48 353.07 73.43 curveto
+383.87 77.76 417.74 87.87 442.29 96.21 curveto
+stroke
+0 0 0 edgecolor
+newpath 441.28 99.57 moveto
+451.88 99.54 lineto
+443.58 92.95 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 441.28 99.57 moveto
+451.88 99.54 lineto
+443.58 92.95 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+302.97 93.63 moveto 20.21 (ε:V) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+273.82 76.83 moveto 78.51 ({depV, onset}) alignedtext
+grestore
+% 1349->1349
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 308.28 241.81 moveto
+307.46 251.35 309.06 260.03 313.07 260.03 curveto
+315.52 260.03 317.06 256.81 317.72 252.13 curveto
+stroke
+0 0 0 edgecolor
+newpath 321.22 251.86 moveto
+317.87 241.81 lineto
+314.22 251.76 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 321.22 251.86 moveto
+317.87 241.81 lineto
+314.22 251.76 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+306.27 279.63 moveto 13.6 (.:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+308.02 262.83 moveto 10.11 (Ø) alignedtext
+grestore
+% 1349->1349
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 302.16 241.13 moveto
+293.92 263.38 297.55 293.63 313.07 293.63 curveto
+326.41 293.63 330.97 271.29 326.76 250.88 curveto
+stroke
+0 0 0 edgecolor
+newpath 330.09 249.79 moveto
+323.98 241.13 lineto
+323.35 251.7 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 330.09 249.79 moveto
+323.98 241.13 lineto
+323.35 251.7 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+303.48 313.23 moveto 19.18 (V:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+294.3 296.43 moveto 37.54 ({max}) alignedtext
+grestore
+% 1349->1349
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 292.11 237.06 moveto
+256.4 268.74 263.39 327.23 313.07 327.23 curveto
+359.07 327.23 368.47 277.1 341.28 244.52 curveto
+stroke
+0 0 0 edgecolor
+newpath 343.51 241.79 moveto
+334.03 237.06 lineto
+338.49 246.67 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 343.51 241.79 moveto
+334.03 237.06 lineto
+338.49 246.67 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+303.35 346.83 moveto 19.44 (C:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+294.3 330.03 moveto 37.54 ({max}) alignedtext
+grestore
+% 1349->1350
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 342.8 228.42 moveto
+367.87 230.66 404.06 229.86 429.07 212.03 curveto
+453.7 194.47 466.05 161 471.99 136.98 curveto
+stroke
+0 0 0 edgecolor
+newpath 475.45 137.54 moveto
+474.22 127.01 lineto
+468.62 136.01 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 475.45 137.54 moveto
+474.22 127.01 lineto
+468.62 136.01 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+389.97 248.63 moveto 20.21 (ε:V) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+378.19 231.83 moveto 43.76 ({depV}) alignedtext
+grestore
+% 1349->1350
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 328.76 208.32 moveto
+339.58 197.53 355.13 183.55 371.07 174.43 curveto
+394.67 160.94 405.81 169.09 429.07 155.03 curveto
+439 149.03 448.53 140.65 456.45 132.69 curveto
+stroke
+0 0 0 edgecolor
+newpath 459.43 134.63 moveto
+463.78 124.97 lineto
+454.36 129.81 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 459.43 134.63 moveto
+463.78 124.97 lineto
+454.36 129.81 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+388.53 194.63 moveto 23.08 (V:V) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+395.02 177.83 moveto 10.11 (Ø) alignedtext
+grestore
+% 1350->1348
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 459.3 94.68 moveto
+450.45 87.8 439.44 79.63 429.07 73.03 curveto
+368.64 34.55 341.61 11.57 273.07 32.43 curveto
+239.9 42.53 207.63 65.87 185.94 84.15 curveto
+stroke
+0 0 0 edgecolor
+newpath 183.44 81.69 moveto
+178.16 90.87 lineto
+188.02 86.98 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 183.44 81.69 moveto
+178.16 90.87 lineto
+188.02 86.98 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+306.27 52.63 moveto 13.6 (ε:.) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+308.02 35.83 moveto 10.11 (Ø) alignedtext
+grestore
+% 1350->1350
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 473.85 127.18 moveto
+473.2 136.57 474.61 145.03 478.07 145.03 curveto
+480.18 145.03 481.53 141.89 482.11 137.31 curveto
+stroke
+0 0 0 edgecolor
+newpath 485.61 137.24 moveto
+482.29 127.18 lineto
+478.62 137.12 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 485.61 137.24 moveto
+482.29 127.18 lineto
+478.62 137.12 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+471.27 164.63 moveto 13.6 (.:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+473.02 147.83 moveto 10.11 (Ø) alignedtext
+grestore
+% 1350->1350
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 467.61 126.13 moveto
+459.7 148.38 463.19 178.63 478.07 178.63 curveto
+490.86 178.63 495.24 156.29 491.2 135.88 curveto
+stroke
+0 0 0 edgecolor
+newpath 494.54 134.85 moveto
+488.54 126.13 lineto
+487.79 136.7 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 494.54 134.85 moveto
+488.54 126.13 lineto
+487.79 136.7 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+468.48 198.23 moveto 19.18 (V:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+459.3 181.43 moveto 37.54 ({max}) alignedtext
+grestore
+% 1350->1350
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 456.94 122.49 moveto
+422.28 154.27 429.33 212.23 478.07 212.23 curveto
+523.2 212.23 532.59 162.55 506.23 129.96 curveto
+stroke
+0 0 0 edgecolor
+newpath 508.61 127.38 moveto
+499.21 122.49 lineto
+503.51 132.17 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 508.61 127.38 moveto
+499.21 122.49 lineto
+503.51 132.17 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+468.35 231.83 moveto 19.44 (C:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+459.3 215.03 moveto 37.54 ({max}) alignedtext
+grestore
+% 1351
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+620.07 52.03 30.2 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+606.07 46.43 moveto 28 (1351) alignedtext
+grestore
+% 1350->1351
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 507.81 105.16 moveto
+526.46 101.93 550.94 96.32 571.07 87.03 curveto
+579.15 83.3 587.23 78.11 594.4 72.87 curveto
+stroke
+0 0 0 edgecolor
+newpath 596.54 75.64 moveto
+602.34 66.78 lineto
+592.28 70.09 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 596.54 75.64 moveto
+602.34 66.78 lineto
+592.28 70.09 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+537.79 120.63 moveto 22.57 (C:C) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+544.02 103.83 moveto 10.11 (Ø) alignedtext
+grestore
+% 1350->1351
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 487.38 91.83 moveto
+495.35 77.53 508.86 58.15 527.07 49.43 curveto
+543.78 41.43 564.23 41.21 581.6 43.37 curveto
+stroke
+0 0 0 edgecolor
+newpath 581.53 46.9 moveto
+591.95 44.96 lineto
+582.6 39.98 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 581.53 46.9 moveto
+591.95 44.96 lineto
+582.6 39.98 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+539.35 69.63 moveto 19.44 (ε:C) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+527.58 52.83 moveto 42.99 ({depC}) alignedtext
+grestore
+% 1351->1348
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 594.69 42.03 moveto
+550.52 25.06 454.16 -6.8 371.07 1.43 curveto
+353.47 3.17 224.53 26.93 211.07 36.03 curveto
+195.27 46.71 182.68 63.9 173.85 78.91 curveto
+stroke
+0 0 0 edgecolor
+newpath 170.65 77.46 moveto
+168.84 87.9 lineto
+176.77 80.87 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 170.65 77.46 moveto
+168.84 87.9 lineto
+176.77 80.87 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+393.27 21.63 moveto 13.6 (ε:.) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+371.58 4.83 moveto 56.99 ({noCoda}) alignedtext
+grestore
+% 1351->1351
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 615.85 70.18 moveto
+615.2 79.57 616.61 88.03 620.07 88.03 curveto
+622.18 88.03 623.53 84.89 624.11 80.31 curveto
+stroke
+0 0 0 edgecolor
+newpath 627.61 80.24 moveto
+624.29 70.18 lineto
+620.62 80.12 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 627.61 80.24 moveto
+624.29 70.18 lineto
+620.62 80.12 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+613.27 107.63 moveto 13.6 (.:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+615.02 90.83 moveto 10.11 (Ø) alignedtext
+grestore
+% 1351->1351
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 609.61 69.13 moveto
+601.7 91.38 605.19 121.63 620.07 121.63 curveto
+632.86 121.63 637.24 99.29 633.2 78.88 curveto
+stroke
+0 0 0 edgecolor
+newpath 636.54 77.85 moveto
+630.54 69.13 lineto
+629.79 79.7 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 636.54 77.85 moveto
+630.54 69.13 lineto
+629.79 79.7 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+610.48 141.23 moveto 19.18 (V:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+601.3 124.43 moveto 37.54 ({max}) alignedtext
+grestore
+% 1351->1351
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 598.94 65.49 moveto
+564.28 97.27 571.33 155.23 620.07 155.23 curveto
+665.2 155.23 674.59 105.55 648.23 72.96 curveto
+stroke
+0 0 0 edgecolor
+newpath 650.61 70.38 moveto
+641.21 65.49 lineto
+645.51 75.17 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 650.61 70.38 moveto
+641.21 65.49 lineto
+645.51 75.17 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+610.35 174.83 moveto 19.44 (C:ε) alignedtext
+0 0 0 edgecolor
+14 /Times-Roman set_font
+601.3 158.03 moveto 37.54 ({max}) alignedtext
+grestore
+endpage
+showpage
+grestore
+%%PageTrailer
+%%EndPage: 1
+%%Trailer
+end
+restore
+%%EOF
=======================================
--- /dev/null
+++ /trunk/pyphon/Writing/Stanford Tutorial/tutorial.pdf Fri Mar 16
16:24:45 2012
Binary file, no diff available.
=======================================
--- /dev/null
+++ /trunk/pyphon/Writing/Stanford Tutorial/tutorial.ps Fri Mar 16 16:24:45
2012
@@ -0,0 +1,31020 @@
+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.99 Copyright 2010 Radical Eye Software
+%%Title: tutorial.dvi
+%%CreationDate: Fri Mar 16 11:53:06 2012
+%%Pages: 43
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 363 273
+%%DocumentFonts: CMSS12 CMSS10 CMSSBX10 MSAM10 CMSSI10 MSAM7 CMCSC10
+%%+ CMTT10 CMSSI8 CMSS8
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips tutorial.dvi
+%DVIPSParameters: dpi=600
+%DVIPSSource: TeX output 2012.03.16:1153
+%%BeginProcSet: tex.pro 0 0
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
+/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
+setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
+restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3
+def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90
+rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0
+N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop
+false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A
+length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}
+forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{
+BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat
+{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch
+round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0
+rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B
+/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}
+B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p
+-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{
+0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: texps.pro 0 0
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
+ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
+pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
+div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
+/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
+definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
+sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
+mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
+exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
+forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
+end
+
+%%EndProcSet
+%%BeginProcSet: special.pro 0 0
+%!
+TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
+/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
+/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
+/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
+/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
+X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
+/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
+/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
+{userdict/md get type/dicttype eq{userdict begin md length 10 add md
+maxlength ge{/md md dup length 20 add dict copy def}if end md begin
+/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
+atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
+itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
+transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
+curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
+pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
+if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
+-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
+get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
+yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
+neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
+noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
+90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
+neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
+1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
+2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
+-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
+TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
+Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
+}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
+save N userdict maxlength dict begin/magscale true def normalscale
+currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
+/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
+psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
+psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
+TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
+@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
+newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
+closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
+/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
+currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
+N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
+neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
+rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
+scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
+lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
+ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
+/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
+pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
+restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
+/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
+setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
+moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
+matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
+savematrix setmatrix}N end
+
+%%EndProcSet
+%%BeginProcSet: color.pro 0 0
+%!
+TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
+setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
+}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
+/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
+setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
+/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
+known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
+/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
+/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
+setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
+setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
+0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
+/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
+setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
+0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
+0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
+0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
+/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
+setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
+setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
+0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
+/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
+setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
+0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
+0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
+0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
+/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
+setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
+/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
+0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
+0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
+0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
+setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
+0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
+/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
+setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
+0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
+1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
+/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
+setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
+0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
+DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
+setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
+setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
+setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
+
+%%EndProcSet
+TeXDict begin @defspecial
+
+ systemdict /pdfmark known{userdict /?pdfmark systemdict /exec get
+put}{userdict /?pdfmark systemdict /pop get put userdict /pdfmark
systemdict
+/cleartomark get put}ifelse
+
+ /DvipsToPDF{72.27 mul Resolution div} def/PDFToDvips{72.27 div Resolution
+mul} def/BPToDvips{72 div Resolution mul}def/BorderArrayPatch{[exch{dup
+dup type/integertype eq exch type/realtype eq
or{BPToDvips}if}forall]}def/HyperBorder
+{1 PDFToDvips} def/H.V {pdf@hoff pdf@voff null} def/H.B {/Rect[pdf@llx
+pdf@lly pdf@urx pdf@ury]} def/H.S {currentpoint HyperBorder add /pdf@lly
+exch def dup DvipsToPDF 72 add /pdf@hoff exch def HyperBorder sub /pdf@llx
+exch def} def/H.L {2 sub dup/HyperBasePt exch def PDFToDvips
/HyperBaseDvips
+exch def currentpoint HyperBaseDvips sub /pdf@ury exch def/pdf@urx
+exch def} def/H.A {H.L currentpoint exch pop vsize 72 sub exch DvipsToPDF
+HyperBasePt sub sub /pdf@voff exch def} def/H.R {currentpoint HyperBorder
+sub /pdf@ury exch def HyperBorder add /pdf@urx exch def currentpoint
+exch pop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def} def
+
+ /pgfH{/pgfheight exch def 0.75 setlinewidth [] 0 setdash /pgfshade
+{pgfA} def /pgfdir { dup 0 moveto dup 5 index lineto } bind def} bind
+def
+
+ /pgfV{/pgfheight exch def 0.75 setlinewidth [] 0 setdash /pgfshade
+{pgfA} def /pgfdir { dup 0 exch moveto dup 5 index exch lineto } bind
+def} bind def
+
+ /pgfA{ /pgfdiff 8 index round cvi 8 index round cvi sub 2 mul 1 add
+def 2 index 6 index sub pgfdiff div 2 index 6 index sub pgfdiff div
+2 index 6 index sub pgfdiff div pgfheight 9 index 9 index 9 index 14
+index pgfdiff { 3 index 3 index 3 index setrgbcolor pgfdir stroke 4
+-1 roll 7 index add 4 -1 roll 6 index add 4 -1 roll 5 index add 4 -1
+roll .5 sub } repeat mark 15 1 roll cleartomark exch pop }bind def
+
+ /pgfR1{ newpath dup dup dup 0 360 arc clip newpath dup /pgfendx exch
+def /pgfendy exch def 0.875 setlinewidth [] 0 setdash /pgfshade {pgfR}
+def /pgfstartx exch def /pgfstarty exch def /pgfdiffx pgfendx pgfstartx
+sub def /pgfdiffy pgfendy pgfstarty sub def dup /pgfdomb exch def }bind
+def
+
+ /pgfR2{ newpath 0.5 add pgfcircx pgfcircy 3 2 roll 0 360 arc setrgbcolor
+fill pop}bind def
+
+ /pgfR{ /pgfdiff 8 index round cvi 8 index round cvi sub 4 mul 1 add
+def /pgfcircx pgfstartx 9 index pgfdiffx pgfdomb div mul add def /pgfcircy
+pgfstarty 9 index pgfdiffy pgfdomb div mul add def /pgfcircxe pgfstartx
+8 index pgfdiffx pgfdomb div mul add def /pgfcircye pgfstarty 8 index
+pgfdiffy pgfdomb div mul add def /pgfxstep pgfcircxe pgfcircx sub pgfdiff
+div def /pgfystep pgfcircye pgfcircy sub pgfdiff div def 2 index 6
+index sub pgfdiff div 2 index 6 index sub pgfdiff div 2 index 6 index
+sub pgfdiff div 8 index 8 index 8 index 13 index pgfdiff { 3 index
+3 index 3 index setrgbcolor pgfcircx pgfcircy 2 index 0 360 arc closepath
+stroke 4 -1 roll 6 index add 4 -1 roll 5 index add 4 -1 roll 4 index
+add 4 -1 roll .25 sub /pgfcircx pgfcircx pgfxstep add def /pgfcircy
+pgfcircy pgfystep add def } repeat mark 14 1 roll cleartomark exch
+pop }bind def
+
+ /pgfsc{}bind def/pgffc{}bind def/pgfstr{stroke}bind def/pgffill{fill}bind
+def/pgfeofill{eofill}bind def/pgfe{a dup 0 rlineto exch 0 exch rlineto
+neg 0 rlineto closepath}bind def/pgfw{setlinewidth}bind def/pgfs{save
+pgfpd 72 Resolution div 72 VResolution div neg scale magscale{1 DVImag
+div dup scale}if pgfx neg pgfy neg translate pgffoa .setopacityalpha}bind
+def/pgfr{pgfsd restore}bind def userdict begin/pgfo{pgfsd /pgfx
currentpoint
+/pgfy exch def def @beginspecial}bind def /pgfc{newpath @endspecial
+pgfpd}bind def /pgfsd{globaldict /pgfdelta /delta where {pop delta}
+{0} ifelse put}bind def/pgfpd{/delta globaldict /pgfdelta get def}bind
+def /.setopacityalpha where {pop} {/.setopacityalpha{pop}def} ifelse
+/.pgfsetfillopacityalpha{/pgffoa exch def /pgffill{gsave
pgffoa .setopacityalpha
+fill 1 .setopacityalpha newpath fill grestore}bind def /pgfeofill{gsave
+pgffoa .setopacityalpha eofill 1 .setopacityalpha newpath eofill
grestore}bind
+def}bind def /.pgfsetstrokeopacityalpha{/pgfsoa exch def /pgfstr{gsave
+pgfsoa .setopacityalpha stroke grestore}bind def}bind def /pgffoa 1
+def /pgfsoa 1 def end
+
+ /pgf1{gsave exec 4.00005 0.49998 moveto 2.00002 2.00002 lineto 4.00005
+3.50003 lineto pgffill 16.0002 0.49998 moveto 18.00021 2.00002 lineto
+16.0002 3.50003 lineto pgffill grestore} bind def
+
+ /pgf2{gsave exec 2.39105 3.38733 8.26909 0.79701 pgfe pgfstr grestore}
+bind def
+
+ /pgf3{gsave exec 4.00005 0.49998 moveto 2.00002 2.00002 lineto 4.00005
+3.50003 lineto 16.0002 0.49998 moveto 18.00021 2.00002 lineto 16.0002
+3.50003 lineto pgffill grestore} bind def
+
+ /pgf4{gsave exec 2.39105 3.38733 6.97394 0.0 pgfe 7.80008 2.40001
+moveto 7.80008 3.20003 lineto 11.20012 3.20003 lineto 11.20012 0.8
+lineto 10.4001 0.8 lineto 8.6001 3.20003 moveto 8.6001 4.00005 lineto
+12.00015 4.00005 lineto 12.00015 1.60002 lineto 11.20012 1.60002 lineto
+pgfstr grestore} bind def
+
+ /pgf5{gsave exec 4.00005 0.49998 moveto 2.00002 2.00002 lineto 4.00005
+3.50003 lineto 16.0002 0.49998 moveto 18.00021 2.00002 lineto 16.0002
+3.50003 lineto pgffill 0.59776 pgfw 8.00009 4.00005 moveto 11.00012
+4.00005 lineto 9.00009 2.00002 moveto 12.00015 2.00002 lineto 8.00009
+1.0 moveto 11.00012 1.0 lineto 9.00009 0.0 moveto 12.00015 0.0 lineto
+pgfstr grestore} bind def
+
+ /pgf6{gsave exec 0.59776 pgfw 9.00009 3.00003 moveto 12.00015 3.00003
+lineto pgfstr grestore} bind def
+
+ /pgf7{gsave exec 4.00005 0.49998 moveto 2.00002 2.00002 lineto 4.00005
+3.50003 lineto 16.0002 0.49998 moveto 18.00021 2.00002 lineto 16.0002
+3.50003 lineto pgffill 0.59776 pgfw 8.00009 1.0 moveto 11.00012 1.0
+lineto 9.00009 0.0 moveto 12.00015 0.0 lineto pgfstr grestore} bind
+def
+
+ /pgf8{gsave exec 0.59776 pgfw 8.00009 4.00005 moveto 11.00012 4.00005
+lineto 9.00009 3.00003 moveto 12.00015 3.00003 lineto 9.00009 2.00002
+moveto 12.00015 2.00002 lineto pgfstr grestore} bind def
+
+ /pgf9{gsave exec 10.0001 -0.49998 moveto 10.0001 4.50003 lineto pgfstr
+ grestore} bind def
+
+ /pgf10{gsave exec 0.59776 pgfw 4.00005 4.00005 moveto 7.00008 4.00005
+lineto 5.00005 3.00003 moveto 8.00009 3.00003 lineto 5.00005 2.00002
+moveto 8.00009 2.00002 lineto 3.00003 1.0 moveto 7.00008 1.0 lineto
+5.00005 0.0 moveto 8.00009 0.0 lineto 12.00015 3.00003 moveto 15.00018
+3.00003 lineto 13.00015 2.00002 moveto 16.0002 2.00002 lineto 13.00015
+1.0 moveto 16.0002 1.0 lineto pgfstr grestore} bind def
+
+ /pgf11{gsave exec 0.59776 pgfw 8.00009 4.00005 moveto 11.00012 4.00005
+lineto 9.00009 3.00003 moveto 12.00015 3.00003 lineto 9.00009 2.00002
+moveto 12.00015 2.00002 lineto 8.00009 1.0 moveto 11.00012 1.0 lineto
+9.00009 0.0 moveto 12.00015 0.0 lineto pgfstr grestore} bind def
+
+ /pgf12{gsave exec 0.59776 pgfw 10.4001 1.60002 moveto 12.00015 0.0
+lineto pgfstr 0.3985 pgfw 10.66016 2.49069 moveto 10.66016 3.15419
+10.12813 3.68622 9.46463 3.68622 curveto 8.80112 3.68622 8.26909 3.15419
+8.26909 2.49069 curveto 8.26909 1.82718 8.80112 1.29515 9.46463 1.29515
+curveto 10.12813 1.29515 10.66016 1.82718 10.66016 2.49069 curveto
+closepath 9.46463 2.49069 moveto pgfstr 1 setlinecap 4.00005 0.0 moveto
+5.08101 0.0 6.00006 0.9 6.00006 2.00002 curveto 6.00006 3.10002 5.10005
+4.00005 4.00005 4.00005 curveto 2.90001 4.00005 2.00002 3.10002 2.00002
+2.00002 curveto 3.20003 2.60002 moveto 2.00002 1.60002 lineto 0.8 2.60002
+lineto 16.0002 0.0 moveto 14.90016 0.0 14.00017 0.9 14.00017 2.00002
+curveto 14.00017 3.10002 14.90016 4.00005 16.0002 4.00005 curveto 17.1002
+4.00005 18.00021 3.10002 18.00021 2.00002 curveto 19.20023 2.60002
+moveto 18.00021 1.60002 lineto 16.8002 2.60002 lineto pgfstr grestore}
+bind def
+
+ /pgf13{gsave exec 1.5 0.49998 moveto 3.50003 2.00002 lineto 1.5 3.50003
+lineto pgffill grestore} bind def
+
+ /pgf14{gsave exec 1.5 0.49998 moveto 3.50003 2.00002 lineto 1.5 3.50003
+lineto 3.50003 0.49998 moveto 5.50005 2.00002 lineto 3.50003 3.50003
+lineto pgffill grestore} bind def
+
+ /pgf15{gsave exec 3.50003 0.49998 moveto 1.5 2.00002 lineto 3.50003
+3.50003 lineto pgffill grestore} bind def
+
+@fedspecial end
+%%BeginFont: CMSS8
+%!PS-AdobeFont-1.0: CMSS8 003.002
+%%Title: CMSS8
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS8.
+% This Font Software is licensed under the SIL Open Font License, Version
1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSS8 known{/CMSS8 findfont dup/UniqueID known{dup
+/UniqueID get 5000801 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSS8 def
+/FontBBox {-65 -250 1062 761 }readonly def
+/UniqueID 5000801 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society
\050<http://www.ams.org>\051, with Reserved Font Name CMSS8.) readonly def
+/FullName (CMSS8) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 65 /A put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C6258F0D99DCD775
+734480114DD0CD2931DC18782C4CCB90B6906CE08BF4CAEC2D4283CD44730A2C
+28919598227F98FC5524B0CC92540E349C5B190DF5F2317AE46FFB97221BDFA5
+114C21D5E8FB0D1C298EDFF8836AD72A9B2AA132F52DD5D3F30427563C97CC46
+D241B7024B4CD9F1E0037FFABCC88D8CCFDF3BC6EED778074F9590733CD147B2
+5B68387E0F19E6A81961077BB7640A3C0E27ADD72556CF84ECD981ECCB64184C
+EAB8BD9B96A873D80E3E0D5B4F5925983C80EBC3A8A12FBC452582A0B37D3C42
+4DFD22E9BADDCD2E69644AA271EECF366D63FCC29522FD72D6C1EFDB3597E866
+61443179872395E99024F152F6D6A4FD71BF1C7383BC1CC27AFD2DE3DAEFC06B
+6BA837BBEBD0BE09F6AEA31A83B1B45255DFD6FF33362AF8BCABEBB0D944B3FA
+B85FFBA0B370B9035460905432EE87395E518B4B670246FAFD535774467C059F
+DC30EA01C95EFBA4ABB41711818E23D7E69D32BD63243A6D98666BD46E234155
+BD6ABC76F551C31B6CE2E52323A9DAD5C003FB116AC8A82B46ACFC45EECCCAA9
+E12C2C8E3CEEFD98D49ECFB824E8677BC9CE9B682BB5A7117174E4B2A0B925EE
+553713780CDF3A3A4AF1560343A8A448C0B5DCC4E11EDF5ACBBA0BA8E5B899A3
+7321AA7D4B283AC9234978C2DD81813653A96F2BD129FA5F355D56C4E50310D2
+0FAA8F304D8BF333F97A6CD20CA4BA7BE6DC1446759683933BB1F1617AEAD131
+1C9EF2212EE7EA9B64E5ABFF45E1727EE82C00FD371BE1387987236F9BDBA4ED
+A966658ADF028B5DAD1F0878064221D0469BF17CB4E738258FB5D92E9D380C64
+16E95BBA6A2BD9EEB1A187A7231C53BD8ABC9BAC46CA4AFA94A4920FA805F67A
+A0C61940F6826CC4539A6CD1F9900EDC3F720AE4FA097F1D7510746BCE2E67B6
+EA2F2046613785AAB89915655408AC9D03201838BBA44F421D5F25CFD88E56E8
+1CA23CBEE9C2E323DF1866D31F309C92281E514A87A9631F33B238AC6520A20A
+346DD6A206C3CAF2830FE244F2AC5D894686CAD5F4BD1CC51EC0B547603BFFC4
+F008FDAEBC93542A43B7C907CC85046313348CC8A017C585CC370604E40AC820
+8B9D8F57A01868FDC93551DE10FA83DDA3E49E44C32118ED90FA67AB1C66B3F9
+F80CF71131977ACCF4DB44CF1EC26AB363C5F95FC2523B5DFBF4D60647EB23AC
+89CB971DCDAB3BA26846BA9317C051011C37468B21B159412E69DCB84A9F5876
+F418908678F38880B95A4BFD3566A6EDE93AE05BBDCB3C4E240A5C0A06301896
+69FCCC0B65BB269F2E10609B6446A68E2DECA905FC26D4F502CAF0EE9AB15E60
+CF42CEB376D92D80A6AEE55BCAB006999BF4415815D0F5BA3B1FF9D2E60201B5
+833FABE8B883847ADACF9B032721DEEE7FEBB583B89066ED9608F1EFBCDD09D4
+3F3C2B7B03154676151753DFF53815F2EC1517C094B0D2CC5EC483AA93772D24
+AD3B0084537B91BE1913A31C70750C6DD707761DD733F9ECA552D3F26825B2B8
+3EA263488892C929DEC07E2F988B7F7657D53CFA5542CE336D35B462E5E8649E
+05973AA54C0A4E63552004E3C77E5FA77F821D820B1620CC8CB3EC5B1D7BA751
+16CC155DEDD4DB0FFD3009729F365670DF9472435557201D8E82341B4056D2FC
+5D2F7C57599249DA2A99A522868716B076320350FA7415C3B10D77A6E1DC77EE
+2D929A038DE3EB4735A4D4F5C8C340D6D293D57E83C2F379ED0EEB16AA3A2A2C
+ECD664E526D918A3D0A934170B6E1493843E6AAE87E850D70DE65D34AA2A36DE
+8687D57A6B6B1447F9A4380CC3D4D11D54CBE762258426C46B8DE6059E6A2F31
+E748549310FF4362129080CD98E70817A06422743780B86E11101BED14BB6569
+D36903BA8BEBC24A478CD430801082CCF49382D6F04DE270D51CA5BAFEBD0F8D
+901CDBCF10DB97E2B059C8CF7CDB45BF931203D5F8CA4622DF19682DE2BA7924
+47F78908BDA23C4E21C0ACD2DA259B23648B6F233EEE830E7B82DF4371F55C30
+71993EC2BCC7BD6411690B9B1621903F358450976D6B6EC6B505A593A9FB7D92
+7223E2424DD5AABEFF254FBCEF934A4D51949BA0E8CD614AAA3AE6C3ED7B37BF
+5324BD4998D8D5DA95E4741B753AEE580FB3913770C00277C9F609B4DF3D618F
+148E0EC7A75218AD788F98D35989F3DB94413E70955EF586C0995A450BC75820
+F5490EB55E5D0D21343565E1FA94FA64A74377F87E55EE0EDDC8F4286951A4EC
+ED6FB3B444206D89BA71A9723E41E93A9F6C80240437019F3C23DFC2491A19D5
+29762876AC60A14404493D04B5537C1E6FCA67B69DC1CD859F9C956FECF4461E
+EC8B6CD5B5A89A8A838660A6C3F47B79ACE3B05C0AA2F17CF2DA947B893B42FF
+749E2CD5E7B56823A119629931B1ECF65C51000A10412668877178F589B4DBCD
+24D39F9219C46BDDD6F101C6AECFD3876056CBB858FE0C4BA2BD0B5FC26AD5BC
+7FA9E295E72BEEEC721300567B6894FC48FFE5E3067C538CBB3B77E386F50D22
+F8DCFDD0E335060CDFA49231D157981925F1CB36110809C12BA28D2D116116DE
+01898E311FAACEE0E5402CA30B64D3D5A0CA33E417FC322F2F0BB7AD3FEE2039
+56A15DD6D1E86971AD3A5A9A27F33AB62A5A3BF5660B59235398926D6BDA33BA
+BC43B062EEF199E4ED991518A62AC374EE21E8F1E1C954BA6D1493388F708D0C
+961612444BAE019E1DC18BDE900BD7A781835580A74DC696BC512F7BBDBA2D0C
+ECE5D83A049F7A3286B94FC446DB5C3F33CA2CD3DDE2D0E774A579831CFDAC37
+9612858EA613AE6939CED001EE662DB17642D0357B80BA0F82ED306218DA8505
+A613CD622FA998EBCDFB7BC70F4E4C8F1F43241FC22FC5BB208F4B20311A98B2
+73F30E4DFCEC93875CBD1ABD29ACF80585F59947F23A96D218C0CB8BDC1C49F5
+70DF3D49704CBA9A23294A88A2AD61811450921B1E5C3C86435C55AF87AAF6A3
+A13709082DA9C47D372A4226116342DECB14E4A4ADB7598321516DD637B64148
+12AB17AC5B2EB25718856D50BFC8D64C78DA6E5C145187DB0325C30A42013A81
+590E58E74094610207FC70BBF1A497395939B42A6EFCFABFD9D43221DE484753
+DFE5311F1845592B4484B1CDFCC32B4E068B11A82BA189D2268D88FE63B9C6E9
+20C9E40B543B5C401265D92A932476DAEADD4D3E2BD6E4DBEC0B30FA90A1924B
+41D2EE9D8AF2D8CA79D15518141665B542C696C2507DD2F4D987EE5E22397FA8
+FD80743186872DD67BE58103321467CF3F4B8898E66584DBB9688B9C78873CA2
+9B72AD7406CDFE8B58FACA2904869FB0EF126DE299CAC08CB89F60561939D75C
+2722CA57853372C14F5BCCA5C4FEBCEB0728BF9E30140E6B0D6C034195FCCC89
+291CD818CF66757EAEB0AB5A9D5710988EBB052850DDE97BA0DC0B054BDF5172
+2002AD6FFA44AA5D9D4EBDB6B2C04E8EF38660D9BC4C995BF37DE078C279328F
+4C360B8EB337D798962CACBBDEA517A5EDFAADF0D445FBD1099837F9D689CD2C
+E330CF587246387EDDED64A2F4C397C1B2BFC325B39114609EF57DDCD7B93C53
+811ADEFA323C59441ABC447F683B5EC43870C057463DD502E9B9DA7084C3BBFB
+2FB864D26DF1BA41ACC815F2A71E96D2C6F572E1F7E4A224FE57CD605682F98B
+AC7BDE4B85A4C11D58981E981E9FC43B87A368BAEF78AD87B7DA0FE403AABFD1
+CF414CBE75C0E9E257DADCBA035E1BF05C4E17FE92309F18633D93DF885956A9
+6C27E77540F888B8336B61598CAB04F3B5A1767C1ACFE15D32A25E5B1BF51FFB
+CF3CFB25CEE7DC95203CC44805A935D5A9154A89FBD4E465F0E599EED4033365
+0A31612F37BDAE8CC85BBC67F7E375EA68C2982FFD89284B027501184C4D2232
+CE0FE4E905C4B504EAD009F047FE627C79AF9EEDD65D00A3858F88E699E5EB45
+4957086CB22776AD06C317DEA41880D88F0EDCF71B4ED76BEE665B7937D5D0F0
+E568C7615025172086BDBD69670EA154CC52C85CBFFE88C1A4D1AFB6624EE667
+1B5BE2A31FCE8B2A4B03BC5DC57280199CC0970EBB636DDF8DF54C4A8CC8805C
+AD63CE866FB20C64725AE4BC9F0EB275BD83EC89F2F9CE23A084B45694D8C3E9
+3F3D3C1A678690877E8B1B77ED85D4F6E03DBF1F3B1D177E330475F172E0E729
+63EAD8034E6100B2A5773E2605180629972DE6BAC0A8C2F9580E9F1D2E77791F
+E1D33C2DBED3FAC47DDF1B74FD02583C3CFDBB2D1CC2B735C02B14B7AD3733CA
+1682944ECFAD673A9AD5E80B6248FBB6E5036EA7FE5CA8C34FBCA6DBD0E76EB6
+C2CB89D9815DB3C45742170DA926E03493AD86BB19A1D3FC623BDF1C920684FB
+7414EF69CF39713A9495D8CB678BD4592B53C36BC6CF93505B8E32311D42532B
+5661051B855F01A9B3D77AE38879853AF0FFE2448368DDFA3EF1DEB88AA055B7
+91459586DD2DFEDA192306DF7143F998CC5D67C1CED313430E5CC3F9CE265747
+8582102111E7AF9FB94D95B82D8E1DF01F04F2A2C22A20207B59C8976D56833F
+E3B79DCB727EE7537476A052E92F7C3D6A625AAED8F026F22AB59EC0F86E541F
+BC082D8E35234A18192862EFD232C9950B1FE0BCB91209FB540DC5729B9E36B9
+94D0913A8F01FB6CB16DE85E6B89F144111B1D911DC527C24917D909F1CF501C
+1AF2923EF71530F21F9BF049A56C7AB3249A420C28954E981EC464F61FA167A5
+C6084661808089EE7DBD80A2D92FF4040B37B2D81A2F5A568D461BE1C62B0FD1
+BF6D1063D2B5DB9CD48BB2B2AC9CEFA543E0AC5C86C462399C1E82F25A157282
+D32D538029ED22CC5935E63FA076BE22D3F53B7D7CCDD344D68B4E73F87A5F2C
+691FE68C981FF7CCFB124506FEF93F36F7181075D7BC6FEEC0E35AF57855BAB2
+44AF021C7AD8912D884424E8BAEC68A5562B881793A1B47FD338B1EE4C0B8583
+2867C78DBC2EFC8BA1431DB1C8622C99BB2C2D4D5475BFCE87B11762427867B5
+7253463C6F2E1CF5F1DC1F7851F2EF6A957CAB0C0A55076C59A6FF9237917C08
+5F97C2CB4B5CC903B76BE8C057018CD962EF90E1C0CCEECD52F2AE35A94C6EF2
+D99DF4DA88247C920623978A1DBB81D8F171B588D617AFA8285F6147E889523F
+CF11EF4BE498842D3BF8E811B4B33131416658E03293AD911516D8AED556F7E8
+0181391AF36D862F5F8B4588BC99585BFF0F1ADE4BF73320158DBACB2784768D
+D9794E2B0F2C0696E5ECE5C7A7DE78EB5CAE85EEA244D43D0280D4C87B6B93F4
+803718596FBCDB61A0BFC2DC666128E56F3133B9D4F16305940B50ECF66D80BA
+06C0A73C02F689314F1B4FAC22D16BB1E414C6F0A1A548AAB1364D2CD9DDFE5E
+C8887964D26BE84986A6B1246BC306E6343CA376F990B77BE8D68A4E54304C3F
+250B2311586A1D1EAD2C0221FE1828CE8396DEDEF13E70E0AA75FFB6089DBA9E
+9FC3FAB43B3633C8EE7598619A0C6FAE2F25274787348E3660D0EB7212F5CB38
+032A41A54FDF14B32E721819AEEC54E8FDE3AB8F0ACEA267B01081F284B008C0
+5861CEB5C236729AA17DC78E92FE1EF9F047B53A59F2D1D6A6734D0413D1A51F
+75B03234F4775523A55978C73D5BF9031EE8BC6BF9E2637DAC07F5AAF2A6C41F
+77620B272300A78E86F71F16EBCE2DBFEF4920BD3F16C282E0BA4C872E5F7E52
+7ED2B663FE45D4A36A588D228D32E2861F26AA6FA8DDBC8110F4417D0DF29285
+F06B57B1720D0D13828A4DD68D57BD530FEB9C3CF305594B70E4394BD60C82DE
+A64EC17661977B18199BA661C48860919CBEB56AB6C32848D51733F1E959EA35
+DFFD823D92F11065C643AA69776F71163A60D4941B753BBB4A4C0C47BB1D965D
+06C9BA1FDAE47926F37C0C5B591058F68FC1DF3933B2BE014F99A53A617A19CD
+8BE011234D48CB7E14D31B02B1FC47C8BFBF04C4409D32CB454E8FA0EF9AF16B
+8AFE9FDDC41F6A23D700D4AA922A0316A895D240C5595F21FEBA98FE0E74B762
+77FCC80F4950A8C55B4A008FD381E9C0EDF4427CB324BE4ABFC790CEB53E8BBE
+AA90163A7BB19E2840FDA404E830F5478DD69B85C5E69573D8CDBBDFF41A8126
+24A6AB66333C749C35BE314777CC222D54FF2C4C75717FB938724EEDDFC2EC1A
+8DA77B5482E760B68F0A2D240332BD48803004BC157C6E8E192D512CE83D5572
+D388BAE80AAF5E7240A73CDA7CFF7F8CDAA4ABE1D3BF6ECC3641B6BD1C2CC703
+275D48D62A15E5A85F003E76D1EA7DB65E3476CCCF6B504514AEB1FF1263FDB9
+81FBF1A1873FC287FC6B6DB11F0FB463637D4F3280EBD19976588F900B956FB4
+36AAA8C1F040300CAB9C4F624B22C1D3D6414B7CAD36B5AEEC90105B5A5C2129
+4CD540B9D0129813BE7E20870365F8C46FEC92DDB64D0A6C7C5B9867A4592B7C
+124B1B47899CE2D1C03811AD1B8BA253B0D29DAF2B53E312827478DBA274010F
+C919D122DF24C1E372F7F3CA77A2C0EDCDB2635F4136EA0C202D4011346902E5
+1524609DC031656660302CA36D376245A64135890C13A11C0085861792384787
+D0831FA01C11F1E7B4429DDAA0B3A7EC1DC3CFEA24C34DA4BC993300F12A953E
+80C8BDA360789FCB0F1AEEA7AAC310D0C3C56F43F7914C3B037DA02C31EB740F
+2B1A696E0E5553656942BA567DC9C4D3CA06E45EA615B7B5674016DCFA07C0B4
+285BFD9D551117A357F4BEFD58BCE60661187A5FF20D27D685B24BEEF563F0C2
+B2CFA2565112F7F49023CDD405AF3E54FF994630BE678B0D6E1CED514FC93F7F
+63710D289026CEE4B074253E7E0AB1DCCAB57DA7A1E2050D2B8D3D75F2AD7423
+0B0A7081DB1FA44055620B0A2CAA54666C5EEE3C01540D96ACAAE98644E1D210
+E0E020214550D723431813C031DC7DF0D177E82AE49798F8E0E5AE0BB8FF664E
+4793F857BA380297AFB977065B7500E4C0AA1735AF4E15703C860A016F19E593
+319D14C497F24ED8E42F3FFEBE976DF33D697656DC11A8A7C6A60219BF63F186
+E0FFE55594B31E5C312DBCCA08E84E94E8BF57CD5F5B70EBE59F0D41DD3F6B05
+F7635EA92FA9E082C80075A5A5F684160AADAD501BBFA7746327E3E606D1FAC8
+EF7AE7C612371BB52FFF41A97A349D111E861A83C9C48B0145ABC3582FCE43C5
+D121F0EB6F5D219E52E2BB660AA1DA5551D6B66A732628D640BF9D8BDE2BB3BA
+046FBFE2E28DB31AEA2ED8F9405A39C16C3800E9B5611B460BE0F6716F2BF79C
+902AD4FA3B6656E13E9DD7A785C17F28BD4D646D66058721610CD756E0D18D32
+F09C740B6023DFAD45A718BBFB2E65544D4754A5DB23CC7988A3EF45CD3786F9
+E100D9684549A16BC2DB736D43C293097E082A968C27F0C120C41A53E3464381
+F7DCFA8B36344EDA85F53FF65BCDACCDE7EAA41A6D38C1F420F8F2E287AB0F98
+A0DF7D8A6CF2E4C78D606569BFB7C51495493FACED57CF2D507DDD366247D807
+28D73CBBDE2F4F666099411B1FD2CF7B93D0E9AA161024C58892285BCAA65E55
+9FB37468777706D2C57A0DF6D520844B56D62CD10F2D7B02D17F97E4F87C16F3
+9BA09013FBD7ED8C2DBBB432288E598241369B9DA6E3EE324290D73BDBFB5448
+E9D7142036C0FE538F18E866A50DD23152E2C096E1045E7777888AF5CEFB83B1
+C6FCA18A26E83D75AB66291A5A5A285DBB1B9525919564600D71A767BB03A8BC
+7BF24CC3B318BBC0F40C79835DE626E99BB76C15719BFD5C15D967B84A6DC1B2
+450D42BD399C5316396CB294D008771E563E5640AAA9635A1EF11001D0E20298
+066B78B7F918E41FC48A6A6BAC8CD12D58CC2447D1BAC318E2717E7B5A94A4E6
+462FE9017FBACA70F73952C2FB4B57406E692684CD10FADF049EA8173068CFA5
+95F8BEBD313E01B345EA52562AE3847FFCBF9C5D99353819340952C7A4A509A4
+906D09AF07C9DFC130B9A77DC8B15143C0A3A3C29782F102DDA751CB65175B27
+128A37F725A61174D35EB06115AF5FA610BB29DCEA3CE8D099E2710F32C7C01D
+1FF5B8327A04FE94B3D7FBD0E2AEC08A7C5F1CCF6D9A7508C734C8FB6CD3DFB0
+415654E66F66541120047DC7033856C90B633CD772CAAB3E500D2A302B18EB66
+B945A8594B70F7FC260F92F9272535B083C2E803D9401A61604EF5757B3460B0
+A9AC6D580095D913C666CE7497E4927EA425822484D9AF64A3965393F2F28E1D
+4A
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMTT10
+%!PS-AdobeFont-1.0: CMTT10 003.002
+%%Title: CMTT10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT10.
+% This Font Software is licensed under the SIL Open Font License, Version
1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup
+/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTT10 def
+/FontBBox {-4 -233 537 696 }readonly def
+/UniqueID 5000832 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society
\050<http://www.ams.org>\051, with Reserved Font Name CMTT10.) readonly def
+/FullName (CMTT10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 35 /numbersign put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 43 /plus put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 58 /colon put
+dup 67 /C put
+dup 91 /bracketleft put
+dup 93 /bracketright put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 124 /bar put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3
+7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260
+6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89
+14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0
+0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397
+3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4
+BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F
+D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0
+FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB
+556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F
+8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E
+F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB
+B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673
+125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787
+A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77
+4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC
+56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178
+E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F
+15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385
+2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9
+05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390
+6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD
+04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728
+C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4
+70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA
+4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A
+A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473
+62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364
+240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D
+69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2
+ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84
+121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4
+0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB
+D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A
+0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157
+D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C
+550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844
+CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A
+9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4
+FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F
+7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06
+E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6
+50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A
+2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05
+9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2
+44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE
+49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9
+385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091
+8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011
+6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C
+EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0
+E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB
+C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE
+484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29
+4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0
+0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C
+6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F
+5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C
+1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3
+909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8
+BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506
+CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0
+2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0
+CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08
+EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811
+0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6
+9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A
+D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4
+21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0
+7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F
+52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A
+FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD
+AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7
+F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429
+067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E
+E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431
+C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937
+5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B
+0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD
+CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC
+2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD
+E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714
+56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957
+F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F
+E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F
+0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D
+67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046
+EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7
+CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8
+9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5
+9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0
+C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861
+327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203
+F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC
+60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD
+A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4
+B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5
+0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F
+1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1
+DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D
+55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C
+7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E
+75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5
+E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149
+8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E
+F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB
+8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F
+D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914
+54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0
+49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9
+CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0
+34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276
+1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA
+6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A
+DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4
+E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD
+4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD
+2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC
+ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934
+3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE
+97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C
+FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570
+A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF
+639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4
+D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615
+E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2
+1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E
+A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3
+F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780
+5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5
+4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50
+664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844
+4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8
+35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04
+1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6
+01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A
+5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82
+2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0
+DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C
+BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507
+39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1
+C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665
+99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481
+7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE
+D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8
+6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184
+5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38
+6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B
+F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81
+E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9
+39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81
+7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5
+ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77
+6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882
+2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230
+1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41
+06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE
+5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A
+288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E
+7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F
+759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF
+E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E
+03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A
+6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859
+314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266
+74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D
+906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36
+673B8DE32322BBE861AE251226B4385AB28702831270DBD25D666FBB0AD7B96E
+A44E891EA1EAF0F87013AFC982E33D67A28E96E0C9CB99B9E4192536830D9901
+931A8CAFA41289633B20BA3BD7AA3414B6DA8D57CCF2FBE39920CC06361F075B
+CC40335DB9A0071CFF77F6B7BB47F3100DBDC9C4A58C2B81EC99E8E966AF3390
+E3FBCC28BA1D79961C8A1584266454DF772FBA99664D74D4A89FC82FFEDFCFE1
+4C9E4A04291E803D142E37E7ACA66AB279378F2F192FFB2B5BBAD18B95F03136
+2CB594A3D6D3F8576B90A6C4DAD6D6C8EE07AF682F925F01D0B26CBA347C03BE
+F3B0585CF4539FDC66915E22117078CC94D621F31DCB3E021998A5D6EE94CA4B
+E214D07517283D56973D8E4367392BF6C1150DEBF459D141AE0941C1C8C5CFBE
+E735D796E365A1B0F60BB4CF2801EAFE4889EE5F338D3C4885368281B3C95CCE
+251C28A90D318A8A0384439B38D63B94757252062EA44E88509FDD2E75FAAB71
+7329622828B2785C1A8B26351BC7448C1719C88FE99BCB73F7DEA427FBFCDF4F
+00EE079B0C712F7D2C8DF98D4830A9D8C8B70A8C5D54BC1DF3171135278BED55
+DA1CF0E696B12935EB59B606AA3C0CC50C7A259AF32F4C81D9B39470D9993CBC
+864447F6C0152DADAD834A432D6E854CF5C0699C00D11582970C19B07B9D9390
+52B29327EA0B6468326F9E6BEB1B8B2ABC98B7DB4F5159A408C77D206AC61ED7
+5547F61F66F43106A015B4BECF94937CE559EA660C9A7A54C91039E273FE0FD0
+0B499E22B8CBD28D1AB371BA0BA4C3FC5B8B10AC5362EFE6A4271F2B6A9F61E1
+A4AA6C03AB56400180B75A10B31E330BE53C3001FA084FA32F9CF94CB93E36AB
+BD6939CCD8052AA781058317B975E878DD5C996A014C998B467A6F508B03D946
+5E2180A40A1C23A9FBC0897F01D7B319F8FC35FE14F2CBB58922F0503241CE88
+F7E280B79C98498B1FFD3230CB86CC47C82291767018909002301E532D04D050
+46DE4B8AA759050A4CD64E67D56C072AA1101270D15AA6590DA4E9FFFDE23B9A
+FBDC82C3CA5421C9A52A0E0884479EF4ECCE39B566F1E106973F1E464C6B2024
+2E8CD67888F92E655BA87F5EB2D25EF9A917906A30A7667D7C591B61DA5CD122
+9D99F82F36992191A5A26154CE54AFD9DB3C8E9EED4DDD03ED2E42876A4760DA
+16D3D24B402F62BC6975B78218F3299EC7FEEE5B8D8919E0D1E69B1FE209C5F7
+4C458A25AA306A89B60E01C8D8AA2B2A13F17B8EB838C38E8A5608A05FCC5A87
+AD774203738D9D144919E98321C5CD901ECEF7777382B77264E93192E37A07A6
+CA7A0C7587802F6C66C3BC6E9DF45A22A24877E4A44990FE711EC7925B7D350B
+4BE346E565F3EC43199BC6DFD6A461F7C133040301738DFF4592B61BBCA3F5D4
+3BAB1110E992F8D6ADBBABDEB6E28405DA733CA0D6ACFF250B776E9BA0BF1ED2
+DADC7E6D46A7EC7F0CA5FEA7ACFB91837C724116ABA03F291FFC03EE87551033
+E8D6A897962EBECE5D5A2C232286A6ADF877CDB9AA099118F837749BF15B2B38
+93392703B962DBB782BC80EC2601241752981631B32A873344244C3F0178042E
+6585F52957717DAEF3986D42C9BA0FEB465309FBCD5D50D1D84ADD3CD5EE1CB9
+288F0AC1F4E8204B23F42FEECCF35182E14D08DE0E3BBA9399A0F81B43C52F5C
+064CF68D9D436D378CBE71422FEDB09EBE8551C00AF2D8AE8F680D6FA4FA0FC9
+E040816E3AC207862A84008FE533646531F62B6E3BECE3D4948165A6A5CE5DDE
+7EA1D65CFC0CE6369C638E6D948C67ABBBD4CCD2ECDE18A1F02932EFA4ED613F
+6B3E23DED011694FC92C69C214A161DB06E52C41134712E92D22B757F97B1BBE
+73A61F7C685A3A9AD1262D8E07BFAA817EB28A9C9E285A984DC20C8C69325CF4
+F93FA5E191A2E03372C07EC4D6D353E550CF3D539E212BDCF70573F6DEBE4AAF
+CA34766751B3E4ADBC27F1D1A6D28C2DFD8FA0571D0F96B18F190CFD5FEF8673
+DC54EF6509D02C6FEF286C526C0195109495DB33777FF1CA8846EF23438F0F63
+A688087107AD39D4A11F2710F1E51778FCDD2A17B7A94689E8F950C5A9F564C6
+E80733A5DE3535879922503ED1092611C150CA466B2CD5AAC12ECEA34351FC8D
+E5B5926C68F4DC15189BB0A9F85606D22055FDDA0C4408CC83F6BF76E045E881
+4A4D451597720BB5ABE6B5DE82FFA5C4B3C7BFF49508DD79DF7442900B8EBABF
+491A61ADF483FB742D4BE7C79850BDDDEE9E0BF2EAC1FF191DB1790DA386E334
+AC9628FB3AA261D18BB1A26E4C265E3F3151E07CF0A0966ECF94025114B92102
+51859C2F3022195A5738BCF2FB96C3C119E92E2623131202C23F0032D6CF19AD
+21819FDF6DED55169B08E3CFD0C18A4DC943D45DD3F56823BF823189E548FF84
+6C8B8B8A7C02A56DF81C249DD9258264CFF7451EE57207D2256C232F8973C6C5
+73F7466E4592BEBF74CDD683CE2ED2B7A747DF8CE75C8AF18F375EB0BFEDF2C3
+D6DCF61FC5E3354F40F2E793A0ED8D14B54788C90A482EF94FA727463F50DF7D
+E9372FEEA0BE4054654240D3505817CF5FCBEB7D5589E36CD64D0678BFF16DAA
+BD24A0F23322B5F5B1AD9F62DD354C81B7D37F18CA0AEEC44A7EA651F0984AE7
+15F1E099964BC0DB78BE9E806E91506B5FBB1D6AC298E164F6C182B2FE7F5CB3
+DC135B4F6C77CAF35123A7ACDC2F480480B6E53E3B08E110CFCEC4493501D264
+65A3B7C450A01A4659A0D433A18524C40274A140902FE6DFBC4D571D105149EB
+6052FA14D052A802DE7C1876C615489F76E59EA15FCFEBCDD6DFB2BC002CCFBC
+FA8C416CCE52DDCA470B0F52F02264C19752BC7C35E6F1D60D32C2B72582A71B
+6D718009C6FEC1BC3650E52286E6F70DF39716AF8B554E270A351733DD7D9090
+95F94F916E8FDC8F75DF47CCF6216626AAAFA4DFC47FF9D123C752BB485532E7
+9727ACF46429C259913B9A1E0EBE955D855BA59E243F236ADACF63347A8B405E
+84F4D47146CDB5CEE3CE3BFD2878579A9AF5F7BDABEEA5B69CAD559CF859BF9B
+21358F05EC8AE194180F7F79289C4C10E360E82233BFEF4528DBBC88BB55C135
+23A894144A18EF1101B6EEB9BC770A0B2E0F99861244B4467670DABAAF78F747
+E447A34BDAB4CA64606F86A211C6781DE80C0EF53DF400E1D84ECC6653B93B25
+7291A399CBD792FE385556A857A536B8C1C195BB0504D787DE2C2B47EDA77C6D
+E838E40F02DEB6FFFB25B09A3E163F6B9FDF6ADD66DD60CF16FAE17D9815C842
+88B356D06156F833FB24076CE1816886EFDA9D65B7841A6BFA3427C8551C09C5
+4645C3C60B4C72F4215622C41B746C866DD2B6EE81B69D261BC9AA33B0712D80
+51E4454825D34801966C8895D4BC7C89ABC9A3C9182B277F1791E60BF402346E
+CAAF0C831FD7E5273AD3561F77BDBA24653C7409BB22F54C8903490B5AB87DF0
+DC86A62065A0A4398C1F94D9CD7203C5048257D853DA6709EC9720C41CCA1E8B
+15447824C48C184E2BC435F1CDC7D9C30B30468DCFD0651C8ECAF64DE444855C
+BB9E187D4DA99B005D14FF9B40EABFC00A6A82E7F9B33324203D8C6706BE2DEF
+E1D18A3BB0DBA5B9204790631B883ABC38ECD7867567076E04AA2F740BF80118
+4FAFF7630C81DC7BD1EA25A2C6E885478E4A1C05C42C30D07D729FD41A1C5CF9
+2595A98468EE448ADF659E10B2DB8BAD62C86890BA2C96CF3D16E79D4360F669
+129AC828576AC9EB862237E6872E661EAD388C7D6F38B8F0977D1650E4800B29
+2BCA842A306D65E2BC59D5A2BE8FD9CD688EA68742F4A1BC4F54093A6AFCD30E
+4C412C426AA6633676401452D5A18E634FC93413551986633CD62A96FC6D41C0
+A4425D09F31437547F72F8A2B6295AE0BDE3A6CFEA4621CB1DD16F5F84D62230
+9E6C8B6A47BF86D63BBD7750633732D88B79A72389209138F499F21A7E11E6DB
+A41979E4CD65512F6572650FF60D11E54B7BA047EC349F35B4BCD25837B07F14
+D25F95F640F652C1FD55758C1B7EFAD05ABFB181715BE6049BE25D921FB4CE37
+73C07F325A4DCF0871034824E6D6C9AEE4C1AFB1D02AF56AFFD7E34123C59A87
+F38B819021DA112C77926C33B1B68AB1599F65CED755586BB80D05AC6B0B50F1
+06C9EF6A75BD04747EA7676D23FC0E900CC04035703B94D226433D261B44BC30
+DB6493C3FF8EAFC66BF219032BC9A17F6083FBE5FC602B7E706ED3C423285164
+A14CEDF49A9C3430B9A412FC30BB02C968879F301DB61A5E600F1878F8CE038F
+CB3D4A2EB9D415A4EC23F7FBE249AACBF0B806597EF709E9D8A33C2CE100312F
+84C875119D9F9B2131051DBED18911776AD2B7512EF3EDD5DADF839F7457CFBC
+3C6E702F9FAB81A79A699E8E37CBB1E2E58693BBBCF4EEE34BD87036A247571D
+9E3BB7CF72B4D3A69EC5C4E52CAB8E10CA73099FECE2078D237451E4DF591504
+3F778906A54557D586DE96890607FA6AFDDC7BBD056714305A91104B6852C6A7
+CA3F5C50CC416FE918461A0E4EABDC94B23A7B653CA1FEF1A8A3649F438FD9A6
+83EDE05964A88A9CB5579A2E263455E140A34E7EBD2A3E13315085C29C74BC74
+E1C6B0D63DA767AFA0CCADE625EBA848F0881BBD1006BC9B9E3F1A619B016E73
+A730486FCF424F5D6B5F35755B7BCE51FB87E6F9D34581DD9F60BDE88F8FEACA
+FFFB4B788F89E3B382A5C5385F15892546BB49B6DB71AB803EB57DF7527920F1
+2CDE9DF1F861AB04E9CF1AD9D535DDBC3A76BDFC773C19E8463B74306586ACF5
+93889C11E4C40573FCC769FA4CF898B62B2DA31F532970823767386B3F0228AE
+86F12996D9867B7724A1118F3048F49B0A21B05A9DB39F4E3F4B79C2409F77CD
+863F8ED753E25AC6EAC0136745F020F0F6CC8A35C1732EAB297602421B15A3A4
+BE140CAE8FC42CC66C583CA5E2B234EFF3BDD3EBDA757AEA6DEA710BBD8A8AA3
+C1D6D44C1F0A00BC0EF692BDCA9E3EC45789096E1B99E10E60F4BC21EF2FB08F
+A841CC1641E5BED07AE339BA8F4A25D51272C347FDD94AC62CC7D613823BC647
+E5FD74B6635DEBE17F3DAF94E226811CA7B676DB767B4CD76170B995D02705F7
+D6E5FD09C71EE33C0FA51EF3A6D4B550EB3D5EAD728FACF3E7B5BB8232324AA4
+08E40E00DBA63DEE84653F716625471098FEBF224308500A2C1D1C2F1139EBE5
+DC93D7916705EFE8290ED279EFE3A2E49E203B86D57FFC4661E65A3CD09471D7
+8F6D39C81824AC53E00F7FEC10244554E2ADF9D503C34064EE90E8818A0B5DB1
+26BB6BCD94C3F093476564C32E38193048C9E5C2CB840E68509378760F9FAE2A
+BA7DB67BE20A2AF832D61F7DC5C476AC088F25171133DAF6143B6B5C1C689017
+2C53460E63115A1E3B743B860F6138863CD2CBA8448833A71307B2632960923B
+D4480B635D6879404AAFD5816B5C80AA5FF085267BA23F908DC4D0DAC6FA6A0F
+ED4DB71C359F10F2B9D8C01FD76987FF7B66FDC7245F654756F9D6BFE4677BDA
+EC0384519474EF01D29BCCBEF2068BCA5A25D9FAA6A64126772DDD73D9EEB4F7
+0BD88F0FB84B5ADF67F8D63A1C63488EAB1B88E0B00B02458FB5BE172AA2B9ED
+8EC3ACF5E27E6DA0D92F85530DFD1DD8EC8B14811C9D2C19D393389295B78545
+A1AA4E33EFF66FF99D7D8086EE3EA41466A58A46190EE59801FD3C112334F6E7
+571D502FF47EE97A14244B4406F0A148EBE3BB09091565ABC86BC3D6A53958C8
+DFF423157A90B0EABC34EEEA729552FEB8E7EDEA08ECADF73D3495601CBF6116
+65D53460F6508F795E22C30637EB923E3EF18CA1CAC184A28CAAC84AB583421E
+FF5154A771AD61204ED16B6DEF64FABD4215394E1199A45B995CF20C324BC09D
+AF4991F970DFE110EC81B4C8997F86F2C3C91250BFCDF5EE69AC608E07251980
+F432F5FBB847CAA17BA564CBD118BEA0DB5949E36FBB0F9FE072DD6CD9316535
+B9DAFB9235BDA08142D6B5FB6AA7802BDBFE1D5938DFEC563DCB1DA9DD6F90F0
+4A9AF0FBD2B6525746A79258A85AEBA5D7CF454E4C4F8AFFAD0DA443517C0C7A
+6A31B2495C55C0C51442EEB795BBDB59E262EB91B9F16AA9D1EED81DD907AF02
+DBC8073A97673B4FC45E1891328C98575C760E233CA446A51B82EA173CBD09C1
+C3B739A2B906D463636E32B69840EF7F1427B51C0B57FC62F5993A565E44E7F4
+CE1F728ADBCD40D98FC4BD8682B6A3A544C2B0D32A27B9A9713E8BEE09C3DFF1
+AA571D5A5173ADD2E7994ADDA0B7F3CFE8055ECB4992FDF8B9B579C65AD435C8
+E8C41001B89D021C66120C3D1D676BFD247DCC5F41BA2078F1426549F2BF8233
+3A338406211DC756D7C991DE801A2B423F9AD9963B2650BAA003683ACA9AB4AC
+91630EF8783BFABF573CCAC20F33888BE82492450D5CA50FECCC000B8B6DBA45
+E26C023FEB44AA6EF797C6D077E0DF80AEBB5214E38CCC434F0B737E6C6E34C2
+4A8B67ECE62768850AB5400DCF9139325A2CD2B9F398E89EEB8431A58A146FE9
+A95A2F03F89281EEFB56C6A24D762EF25AE98A49D6C445B7F2899EB7FC08AA5F
+D79491BBB228A8D09BAF8CF4BDDA67EF040666D857BDB0CE9A5F3F57DC06FD4B
+3AB0F8FFF4AC9FD9A31F518002C86CFE4B42877471AC0F23212CC5A5678CCA50
+DB19FA83C4730FBE21FB0E7CDD8CC99E5C802BFEF566834DD7FD382AD4C8E515
+3578F680FD776318D663C2157ED260482C6F3F9F17CED665BC64DAE67FC02556
+658F09A1EE0171DF01941FA84253F73E3D85459919673F3748541AA8820FA9BE
+7238D88CE85081CC047C1354043A236404661DE55EFB8EB3FFFDCCC1D54738CA
+3B1171FBB6D09F5C5B2D3AB69D7F2AF0DC6555EDB35EC6CB46889D01B1C4C898
+B8BD147D650C03DE1DC838E3DF8EFDDC4C1478D5F7ED66A755A6F2270428CF21
+087E2106F8504035B760DE5F3EF4BD7272B102BB7FA0BDD09B400133F73CA576
+19C3007641F9B191990A511B42055290809CCB3B5890A3DC4E645BCD5AD1B7B5
+1D2B6FDB27EDF565DC80A7B16D0BEA222BAD4E3325E1DB24CA956B6063EDB000
+5531E12AF848FC769DC662F932D9ACE5DBA9D0B8379FC5E8E03CE8028068C8E5
+5C85F63BBC967A1494C013B1C2A3CC0182A512C40D10BE78A95D4CCAA7E77B93
+52FBDD6B11E5FEB21FF8D28D9A95C5B5A5DA2B62622A1A796154B3870F1756FE
+0A29694C111D1DA5E03D6E36489506247643D41339B78DDA9E42C315E872D0C0
+4E11AD8C86B12A0C45EB455044F9CBF5D565466B44D5B3FC66009A11B4D0E76C
+5D717E13C13EA831E5B8EB7C4DCD8523EA6E12BE488962D61B2A241F776771A0
+801987F441EE7C39EA42FEEBC6DF17C3A1DDAF150CE55D2035B99AB3A36A2D3C
+4B0F2727FF5C48E93A5EE30B29669D418B82F1709AFC1B70133E4373691772A1
+20BE7BCD73BAE56F9CB5EA74CB6E2CB534B0F5651C435218A48E719C1EA25108
+9B1B693B756DCAAED8945C460AAB03A670105185AE654678F0B1FAD0E8A87701
+5A1DC6A9CD4A11427AFCA61A0FC2A5036ABF91A390E96CE68DF50FA26E1A5DFB
+870B2B7CB40592CEFE85BB5531D3770D0018BDD3A90E66D4031EBCA105BFBE28
+6BD12DA90476714F26F958BC5F0752E7D468C2236022E9894C18C8643BBED586
+3187A773AF690AC4DDFE7CDFF9C5A0C808D8BFD13333FB62E7C3C4DCB4BD810D
+60F854429FD9A9C6CB61658A23CA6C4EDA73101619FD08DB18AB05EC97056816
+6545DE90A57C2526DFE4A81323BC40BC072326322F39319F4EBB5343267FC3A1
+D35227D9942B86837BDB5992E4B07CE7C933BD984E17B4BCE3A8C26A197E05E2
+F2034C0369F278E375C9B48B917D580E80A8AA60E4B64B57A2FFDDADBF69CB84
+840CB2BAE5C7A66E193F64A3CFE5136534AA8E8A59CBE7E4CB47FBACACF2EF90
+889EF6785E32F2B37980BB39984579C040239751D19CF237571A152C77042148
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/pyphon/Writing/Stanford Tutorial/tutorial.tex Fri Mar 16
16:24:45 2012
@@ -0,0 +1,288 @@
+\documentclass[11pt]{beamer}
+\usepackage{geometry} % See geometry.pdf to learn the
layout options. There are lots.
+ % ... or a4paper or a5paper or ...
+%\geometry{landscape} % Activate for for rotated page
geometry
+%\usepackage[parfill]{parskip} % Activate to begin paragraphs with an
empty line rather than an indent
+\usepackage{graphicx}
+\usepackage{amssymb}
+\usepackage{epstopdf}
+\usepackage{gb4e}
+\usepackage{color}
+
+
+\usepackage{qtree}
+\usepackage{beamerthemesplit}
+\usepackage{tipa}
+%\usetheme{Frankfurt}
+\usepackage{remreset}
+\makeatletter
+\@removefromreset{subsection}{section}
+\makeatother
+%\setcounter{subsection}{1}
+
+
+\DeclareGraphicsRule{.tif}{png}{.png}{`convert #1 `dirname #1`/`basename
#1 .tif`.png}
+
+\title{Building OT Grammars in PyPhon}
+\subtitle{A Tutorial for the Stanford P-Interest Workshop}
+\author{Sam Bowman}
+%\date{} % Activate to display a
given date or no date
+
+\begin{document}
+\maketitle
+%\section{}
+%\subsection{}
+
+\frame{
+\frametitle{What PyPhon is}
+\begin{itemize}
+\item<1-> PyPhon is a Python Toolkit for constraint based grammars (OT and
HG) with a rudimentary command-line interface to build grammars and
typologies.
+\item Primarily the work of Jason Riggle and Max Bane at the [University
of] Chicago Language Modeling Lab. (I've recently been somewhat involved.)
+
+\item<2-> \textbf{The Grand Vision:} \normalsize To enable phonologists to
quickly develop large-scale constraint-based grammars in a way that is
\textit{guaranteed} to be:
+\begin{itemize}
+\item Accurate (no erroneous tableaux)
+\item Precise (all constraints and feature values clearly described)
+\item Monster-free (the typological predictions of a model---including
quantitative and implicational generalizations---are immediately visible)
+\end{itemize}
+ \end{itemize}
+}
+
+
+\frame{
+\frametitle{What PyPhon Can Do}
+To quote the documentation, PyPhon currently offers the following
functionality:
+\begin{itemize}
+\item<1-> State your model as a set of hand-crafted tableaux, or simply
specify your constraints as regular expressions (finite-state acceptors),
and let full tableaux be computed automatically for any input forms.
+\item<2-> Tableaux candidates can be generated for either OT or HG.
+\item<3-> Produce finite state diagrams of your regular constraints.
+\item<4-> Generate optima and/or typologies in both OT and HG, optionally
subject to grammatical restrictions that can be specified in a variety of
ways:
+\begin{itemize}
+\item As stratified hierarchies (OT)
+\item As partial orders (OT)
+\item As sets of elementary ranking conditions (OT)
+\item As sets of weight assignments and/or inequalities (HG)
+\end{itemize}
+... \end{itemize}
+
+}
+
+
+\frame{
+\frametitle{What PyPhon Can Do}
+...
+\begin{itemize}
+\item<1-> Count the number of rankings (OT), or volume of weightings (HG),
that generate each output form.
+\item<2-> Compute typological implications (T-Orders; after Anttila and
Andrus 2006) and render pretty graphs.
+\item<3-> Create and search typologies in cyclic OT and two-tiered LPM-OT
(after Kiparsky, 2000).
+ \end{itemize}
+}
+
+\frame{
+\frametitle{The Alternatives (corrections welcome)}
+\begin{itemize}
+\item All three can calculate typologies for both ranked or weighted
constraints.
+
+\item<2-> OT-Help 2 (UMass team, including Chris Potts):
+
+\begin{itemize}
+\item Well documented; great for finding ranking conditions.
+\item Does Harmonic Serialism as well as OT/HG.
+\item Automatically finds contenders only for Harmonic Serialism, not
OT/HG; requires the user to specify the operations in \textsc{Gen}.
+ \end{itemize}
+
+\item<3-> OTSoft 2 (Hayes; UCLA):
+\begin{itemize}
+\item More explicitly designed to facilitate grammar development: Clearly
notes redundant constraints and harmonically bounded (impossible)
candidates.
+\item Generates T-orders and Hasse diagrams.
+\item Written in a dead, Windows-only, software framework (VB6). Likely
moribund.
+ \end{itemize}
+
+ \end{itemize}
+}
+
+
+\frame{
+\frametitle{Working with Finite-State Constraints}
+\begin{itemize}
+\item A constraint is represented as a set of regular expressions which
\textit{accept} (match) any local input--output mappings that violate it.
+\item PyPhon has its own regular expression syntax, which includes special
symbols for context, for insertion/deletion and for correspondence with
input forms.
+\item No comprehensive documentation: Look to example files. (Or ask me!)
+ \end{itemize}
+
+
+
+}
+
+
+\frame{
+\frametitle{Working with Finite-State Constraints}
+
+
+\small
+
+\textsc{MaxV}:\\
+\texttt{\_[-cons]:-\_} \\\ \\
+
+
+\textsc{IO-Ident[high]}:\\
+\texttt{\_[+high]:[-high]\_} \\
+\texttt{\_[-high]:[+high]\_}\\\ \\
+
+\textsc{*NV_{oral}}:\\
+\texttt{[+nasal]\_[-cons, -nasal]\_}\\\ \\
+
+\textsc{*P-Shaped}:\\
+\texttt{\_(b|p|d|q)\_} \\\ \\
+
+\textsc{*CC\&DepC}:\\
+\texttt{C\_-:C\_}\\
+\texttt{\_-:C\_C}
+
+}
+
+\frame{
+\frametitle{Working with Finite-State Constraints}
+\begin{itemize}
+
+\item<1-> Local markedness and faithfulness constraints of all sorts are
easy to write and fast to run
+\item<2-> Complex long-distance markedness constraints and non-local
constraint conjunction are possible, but tend to be somewhat unwieldy, and
can cause explosive growth in run time.
+\item<3-> Constraints which can accrue violations faster than linearly in
the length of the string \textit{cannot} be represented. This includes the
already theoretically tenuous \textsc{Align(foot, wd)}.
+ \end{itemize}
+}
+
+
+\frame{
+\frametitle{In Practice: PyPhon File Types}
+\begin{itemize}
+\item<1-> \textbf{Inputs file} (\texttt{.csv}): A list of input forms, in
your representation of choice, one per line, with comments marked with
\texttt{\#}
+
+\item<2-> \textbf{Model description file} (\texttt{.csv}): A file
specifying (1) the feature bundles associated with which segments in your
representation and (2) the regular expressions that define your constraints.
+
+\item<3-> Model file (\texttt{.mod}): A non-human-readable representation
of \textsc{Gen} and \textsc{Eval}, generated from your model description
file by \texttt{makemodel}.
+
+\item<4-> Grammar file (\texttt{.csv}): A set of stipulations about the
rankings or weightings of your model's constraints.
+
+\item<5-> \textbf{Tableaux file} (\texttt{.csv}): A set of unranked
tableaux specifying all of the contenders for each input, and all of their
constraint violation profiles.
+ \end{itemize}
+}
+
+\frame{
+\frametitle{In Practice: PyPhon File Types}
+
+\begin{itemize}
+\item<1-> Acceptor graph file (\texttt{.dot}): A graph file containing a
finite-state acceptor representation of a single constraint or of all of
\textsc{Eval}. Used for both visualization and caching. Editable in a pinch.
+
+\item<2-> T-order file (\texttt{.dot}): A graph file representing
implicational relationships between input-output mappings.
+
+\item<3-> Typology file (\texttt{.csv}): Shows the possible languages
corresponding to a set of tableaux and their corresponding ERCs and
R-volumes.
+
+\item<4-> (!) Input-output file (\texttt{.csv}): Used to test for the
existence of a language, as specified by a set of input-output pairs.
+
+\item<4-> (!) Two tier languages file (.csv): Similar to a typology file,
only with less information, and corresponding to a stratal grammar.
+
+ \end{itemize}
+}
+
+
+
+
+\frame{
+\frametitle{In Practice: The Scripts}
+\begin{itemize}
+\item<1-> \texttt{pyphon\_makemodel.py}: Compiles a model description file
into a model file. Optionally also generates acceptor graphs.
+\item<2-> \texttt{pyphon\_maketableaux.py}: Takes a model file, an inputs
file, and a grammar option (OT or HG), and generates full tableaux for each
input.
+\item<3-> \texttt{pyphon\_generate.py}: Takes a tableaux file, a grammar
option (OT or HG) and optionally a grammar file, and generates typologies
and T-orders.
+
+\item<4-> \texttt{pyphon\_twotier.py}: Takes a model file and an inputs
file, and generates tableaux and typologies for two-tiered (word and
postlexical) LPM-OT.
+
+\end{itemize}
+}
+
+
+\frame{
+\frametitle{Installing PyPhon}
+\begin{itemize}
+\item Get a copy of the source package (as a ZIP or over Subversion) from:
\small \url{http://code.google.com/p/clml/}
+\item \texttt{cd} into the \texttt{pyphon} directory and run:\\\small
+\texttt{python setup.py install}
+\item Optional: For HG typologies, get GLPK (link from the CLML site).
+
+\end{itemize}
+}
+
+
+
+
+
+\frame{
+\frametitle{Writing Inputs and Constraints}
+(switch to the software itself)
+}
+
+
+\frame{
+\frametitle{Tips, in lieu of complete documentation}
+\begin{itemize}
+
+\item<1-> If you use any filters on your outputs, make sure that they are
not too strict to rule out any potentially interesting candidates.
+\item<2-> If you are having trouble getting a grammar to load, try adding
a blank grammar to the end. The last grammar in a file may behave oddly.
+\item<3-> Delete your model file and re-build it if something is refusing
to change. Also, make sure that everything made it into the inventory list
and \textsc{Con} that you want to have there.
+\item<4-> Don't use file extensions on the command line. PyPhon will fill
them in as needed.
+
+\item<5-> If you forget the arguments for one of the basic PyPhon scripts,
just invoke it with no arguments. It'll tell you.
+\item<6-> Let me know if something doesn't work. It might be a bug.
+ \end{itemize}
+}
+
+
+\frame{
+\frametitle{What is still in the works?}
+\begin{itemize}
+\item A manual
+\item Faster operation
+\item Full support for Unicode characters
+\item Direct output to \LaTeX
+\item A chocolate and wine icebox cake! (Made while compiling this
presentation. May not be uploaded to the lab site. May be available in the
kitchen at five o'clock.)
+\item A cleaner, more consistent interface (maybe even a GUI)
+\item A fully functioning, three-tiered model of LPM-OT
+\item Whatever you want...
+ \end{itemize}
+}
+
+
+\frame{
+\frametitle{Thanks!}
+Questions and comments:
+\begin{itemize}
+ \item \href{mailto:sbo...@stanford.edu}{sbo...@stanford.edu}
+ \item \url{http://clml.uchicago.edu}
+
+\end{itemize}
+}
+
+
+
+\frame{
+\frametitle{Pretty Graphs!}
+
+\begin{figure}[htp]
+\centering
+\includegraphics[scale=0.45]{typology-tOrder}
+\end{figure}
+
+}
+
+
+
+\frame{
+\frametitle{Pretty Graphs!}
+
+\begin{figure}[htp]
+\centering
+\includegraphics[scale=0.45]{OT}
+\end{figure}
+
+}
+
+\end{document}
=======================================
--- /dev/null
+++ /trunk/pyphon/Writing/Stanford Tutorial/typology-tOrder.eps Fri Mar 16
16:24:45 2012
@@ -0,0 +1,384 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: graphviz version 2.28.0 (20111028.1807)
+%%Title: torder
+%%Pages: 1
+%%BoundingBox: 36 36 572 330
+%%EndComments
+save
+%%BeginProlog
+/DotDict 200 dict def
+DotDict begin
+
+/setupLatin1 {
+mark
+/EncodingVector 256 array def
+ EncodingVector 0
+
+ISOLatin1Encoding 0 255 getinterval putinterval
+EncodingVector 45 /hyphen put
+
+% Set up ISO Latin 1 character encoding
+/starnetISO {
+ dup dup findfont dup length dict begin
+ { 1 index /FID ne { def }{ pop pop } ifelse
+ } forall
+ /Encoding EncodingVector def
+ currentdict end definefont
+} def
+/Times-Roman starnetISO def
+/Times-Italic starnetISO def
+/Times-Bold starnetISO def
+/Times-BoldItalic starnetISO def
+/Helvetica starnetISO def
+/Helvetica-Oblique starnetISO def
+/Helvetica-Bold starnetISO def
+/Helvetica-BoldOblique starnetISO def
+/Courier starnetISO def
+/Courier-Oblique starnetISO def
+/Courier-Bold starnetISO def
+/Courier-BoldOblique starnetISO def
+cleartomark
+} bind def
+
+%%BeginResource: procset graphviz 0 0
+/coord-font-family /Times-Roman def
+/default-font-family /Times-Roman def
+/coordfont coord-font-family findfont 8 scalefont def
+
+/InvScaleFactor 1.0 def
+/set_scale {
+ dup 1 exch div /InvScaleFactor exch def
+ scale
+} bind def
+
+% styles
+/solid { [] 0 setdash } bind def
+/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
+/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
+/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def}
bind def
+/bold { 2 setlinewidth } bind def
+/filled { } bind def
+/unfilled { } bind def
+/rounded { } bind def
+/diagonals { } bind def
+
+% hooks for setting color
+/nodecolor { sethsbcolor } bind def
+/edgecolor { sethsbcolor } bind def
+/graphcolor { sethsbcolor } bind def
+/nopcolor {pop pop pop} bind def
+
+/beginpage { % i j npages
+ /npages exch def
+ /j exch def
+ /i exch def
+ /str 10 string def
+ npages 1 gt {
+ gsave
+ coordfont setfont
+ 0 0 moveto
+ (\() show i str cvs show (,) show j str cvs show (\)) show
+ grestore
+ } if
+} bind def
+
+/set_font {
+ findfont exch
+ scalefont setfont
+} def
+
+% draw text fitted to its expected width
+/alignedtext { % width text
+ /text exch def
+ /width exch def
+ gsave
+ width 0 gt {
+ [] 0 setdash
+ text stringwidth pop width exch sub text length div 0 text ashow
+ } if
+ grestore
+} def
+
+/boxprim { % xcorner ycorner xsize ysize
+ 4 2 roll
+ moveto
+ 2 copy
+ exch 0 rlineto
+ 0 exch rlineto
+ pop neg 0 rlineto
+ closepath
+} bind def
+
+/ellipse_path {
+ /ry exch def
+ /rx exch def
+ /y exch def
+ /x exch def
+ matrix currentmatrix
+ newpath
+ x y translate
+ rx ry scale
+ 0 0 1 0 360 arc
+ setmatrix
+} bind def
+
+/endpage { showpage } bind def
+/showpage { } def
+
+/layercolorseq
+ [ % layer color sequence - darkest to lightest
+ [0 0 0]
+ [.2 .8 .8]
+ [.4 .8 .8]
+ [.6 .8 .8]
+ [.8 .8 .8]
+ ]
+def
+
+/layerlen layercolorseq length def
+
+/setlayer {/maxlayer exch def /curlayer exch def
+ layercolorseq curlayer 1 sub layerlen mod get
+ aload pop sethsbcolor
+ /nodecolor {nopcolor} def
+ /edgecolor {nopcolor} def
+ /graphcolor {nopcolor} def
+} bind def
+
+/onlayer { curlayer ne {invis} if } def
+
+/onlayers {
+ /myupper exch def
+ /mylower exch def
+ curlayer mylower lt
+ curlayer myupper gt
+ or
+ {invis} if
+} def
+
+/curlayer 0 def
+
+%%EndResource
+%%EndProlog
+%%BeginSetup
+14 default-font-family set_font
+1 setmiterlimit
+% /arrowlength 10 def
+% /arrowwidth 5 def
+
+% make sure pdfmark is harmless for PS-interpreters other than Distiller
+/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
+% make '<<' and '>>' safe on PS Level 1 devices
+/languagelevel where {pop languagelevel}{1} ifelse
+2 lt {
+ userdict (<<) cvn ([) cvn load put
+ userdict (>>) cvn ([) cvn load put
+} if
+
+%%EndSetup
+setupLatin1
+%%Page: 1 1
+%%PageBoundingBox: 36 36 572 330
+%%PageOrientation: Portrait
+0 0 1 beginpage
+gsave
+36 36 536 294 boxprim clip newpath
+1 1 set_scale 0 rotate 40 41 translate
+% 0
+gsave
+0 0 0.82745 nodecolor
+newpath 197.84 172.4 moveto
+.16 172.4 lineto
+.16 113.6 lineto
+197.84 113.6 lineto
+closepath fill
+1 setlinewidth
+dotted
+filled
+0 0 0 nodecolor
+newpath 197.84 172.4 moveto
+.16 172.4 lineto
+.16 113.6 lineto
+197.84 113.6 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+8.33 154.2 moveto 181.34 (/#Co#Co/ -> [#Co#Co] \(0,0,0,0\)) alignedtext
+0 0 0 nodecolor
+14 /Times-Roman set_font
+22.33 137.4 moveto 153.34 (/CoCu/ -> [CoCu] \(0,0,0,0\)) alignedtext
+0 0 0 nodecolor
+14 /Times-Roman set_font
+64.01 120.6 moveto 69.98 (4 languages.) alignedtext
+grestore
+% 1
+gsave
+2 setlinewidth
+bold
+0 0 0 nodecolor
+newpath 527.71 286.4 moveto
+284.29 286.4 lineto
+284.29 227.6 lineto
+527.71 227.6 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+292.39 268.2 moveto 227.21 (/I.a#CoCuo#/ -> [u.u#CoCuo#] \(0,1,2,0\))
alignedtext
+0 0 0 nodecolor
+14 /Times-Roman set_font
+301.72 251.4 moveto 208.55 (/a#CoCuo#/ -> [u#CoCuo#] \(0,1,1,0\))
alignedtext
+0 0 0 nodecolor
+14 /Times-Roman set_font
+373.73 234.6 moveto 64.53 (1 language.) alignedtext
+grestore
+% 0->1
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 166.74 172.22 moveto
+201.43 186.98 244.69 204.74 284 219 curveto
+289.11 220.85 294.36 222.7 299.67 224.53 curveto
+stroke
+0 0 0 edgecolor
+newpath 298.7 227.9 moveto
+309.3 227.8 lineto
+300.95 221.27 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 298.7 227.9 moveto
+309.3 227.8 lineto
+300.95 221.27 lineto
+closepath stroke
+grestore
+% 2
+gsave
+2 setlinewidth
+bold
+0 0 0 nodecolor
+newpath 526.09 210.4 moveto
+285.91 210.4 lineto
+285.91 151.6 lineto
+526.09 151.6 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+293.96 192.2 moveto 224.09 (/I.a#CoCuo#/ -> [I.a#CoCuo#] \(1,0,0,0\))
alignedtext
+0 0 0 nodecolor
+14 /Times-Roman set_font
+302.12 175.4 moveto 207.76 (/a#CoCuo#/ -> [a#CoCuo#] \(1,0,0,0\))
alignedtext
+0 0 0 nodecolor
+14 /Times-Roman set_font
+373.73 158.6 moveto 64.53 (1 language.) alignedtext
+grestore
+% 0->2
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 197.76 155.18 moveto
+222.64 158.28 249.75 161.66 275.92 164.92 curveto
+stroke
+0 0 0 edgecolor
+newpath 275.55 168.4 moveto
+285.9 166.16 lineto
+276.41 161.45 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 275.55 168.4 moveto
+285.9 166.16 lineto
+276.41 161.45 lineto
+closepath stroke
+grestore
+% 3
+gsave
+2 setlinewidth
+bold
+0 0 0 nodecolor
+newpath 524.18 134.4 moveto
+287.82 134.4 lineto
+287.82 75.6 lineto
+524.18 75.6 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+295.91 116.2 moveto 220.18 (/I.a#CoCuo#/ -> [I.a#CaCIa#] \(0,0,3,0\))
alignedtext
+0 0 0 nodecolor
+14 /Times-Roman set_font
+304.07 99.4 moveto 203.85 (/a#CoCuo#/ -> [a#CaCIa#] \(0,0,3,0\))
alignedtext
+0 0 0 nodecolor
+14 /Times-Roman set_font
+373.73 82.6 moveto 64.53 (1 language.) alignedtext
+grestore
+% 0->3
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 197.76 130.82 moveto
+223.18 127.65 250.93 124.2 277.63 120.87 curveto
+stroke
+0 0 0 edgecolor
+newpath 278.31 124.31 moveto
+287.8 119.6 lineto
+277.45 117.36 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 278.31 124.31 moveto
+287.8 119.6 lineto
+277.45 117.36 lineto
+closepath stroke
+grestore
+% 4
+gsave
+2 setlinewidth
+bold
+0 0 0 nodecolor
+newpath 527.71 58.4 moveto
+284.29 58.4 lineto
+284.29 -.4 lineto
+527.71 -.4 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+292.39 40.2 moveto 227.21 (/I.a#CoCuo#/ -> [u.o#CoCuo#] \(0,0,2,1\))
alignedtext
+0 0 0 nodecolor
+14 /Times-Roman set_font
+301.72 23.4 moveto 208.55 (/a#CoCuo#/ -> [o#CoCuo#] \(0,0,1,1\))
alignedtext
+0 0 0 nodecolor
+14 /Times-Roman set_font
+373.73 6.6 moveto 64.53 (1 language.) alignedtext
+grestore
+% 0->4
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 166.74 113.78 moveto
+201.43 99.02 244.69 81.26 284 67 curveto
+289.11 65.15 294.36 63.3 299.67 61.47 curveto
+stroke
+0 0 0 edgecolor
+newpath 300.95 64.73 moveto
+309.3 58.2 lineto
+298.7 58.1 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 300.95 64.73 moveto
+309.3 58.2 lineto
+298.7 58.1 lineto
+closepath stroke
+grestore
+endpage
+showpage
+grestore
+%%PageTrailer
+%%EndPage: 1
+%%Trailer
+end
+restore
+%%EOF
Reply all
Reply to author
Forward
0 new messages