changeset 2:d13a95edfd2a

Added dependencies graph and template subproject Makefile
author samer
date Mon, 23 Jan 2012 20:28:22 +0000
parents 9694031adcea
children 5c16a1ee5e8f
files Makefile Makefile.templ README dependencies.pl dependencies.ps
diffstat 5 files changed, 1361 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Fri Jan 20 23:43:52 2012 +0000
+++ b/Makefile	Mon Jan 23 20:28:22 2012 +0000
@@ -1,12 +1,13 @@
 # ---------------- configuration ----------------------
 
 # install directories
+export INSTALL_LIB_TO=~/lib/prolog/x86_64
 export INSTALL_PL_TO=~/lib/prolog
 
 # flags for install - BSD install seems to be different from GNU install
 export INSTALL_FLAGS='-bCS'
 
-PKGS="plcore plumdrum plumbing"
+PKGS="plsc plumdrum plumbing hdplm hdpmusic reactive"
 
 # ---------------- end of configuration ---------------
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.templ	Mon Jan 23 20:28:22 2012 +0000
@@ -0,0 +1,15 @@
+INSTALL_PL_TO=~/lib/prolog
+SUBDIR=humdrum
+ROOT_MODULES="humdrum"
+SUB_MODULES="dynam humutils kern_rules reps interps kernutils humdrum_world kern refcodes"
+
+main:
+
+install:
+	install -d $(INSTALL_PL_TO)
+	install -d $(INSTALL_PL_TO)/$(SUBDIR)
+	for f in "$(ROOT_MODULES)"; do install $(INSTALL_FLAGS) -m 644 $$f.pl $(INSTALL_PL_TO); done
+	for f in "$(SUB_MODULES)"; do install $(INSTALL_FLAGS) -m 644 $$f.pl $(INSTALL_PL_TO)/$(SUBDIR); done
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README	Mon Jan 23 20:28:22 2012 +0000
@@ -0,0 +1,12 @@
+* Makefile.templ 
+is a template Makefile for subprojects.
+
+* Makefile 
+shows how you can write a Makefile to automate installation
+of all subproject.
+
+* dependencies.pl
+Small program to generate dependency graph (requires plcore).
+
+* dependencies.ps
+Dependency graph generated by dependencies.pl 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dependencies.pl	Mon Jan 23 20:28:22 2012 +0000
@@ -0,0 +1,84 @@
+:- use_module(library(dcgs/dot)).
+
+:- op(600,xfx,=>).
+
+triserver=>plcore.
+triserver=>reactive.
+triserver=>plmidi.
+triserver=>plosc.
+triserver=>music.
+triserver=>plrand.
+triserver=>sc.
+triserver=>plml.
+
+plumdrum=>plcore.
+plumdrum=>music.
+
+sc=>plcore.
+sc=>plosc.
+
+plcrp=>plcore.
+plcrp=>plrand.
+
+music=>plcore.
+music=>plrand.
+music=>plmidi.
+music=>sc.
+
+hdplm=>plcore.
+hdplm=>plrand.
+hdplm=>plcrp.
+
+midi_io=>music.
+midi_io=>plcore.
+midi_io=>plmidi.
+midi_io=>plsmf.
+
+reactive=>plcore.
+
+hdpmusic=>hdplm.
+hdpmusic=>plumbing.
+hdpmusic=>plcore.
+hdpmusic=>plrand.
+hdpmusic=>midi_io.
+
+
+plex=>plcore.
+
+poetry=>plcore.
+poetry=>probdcg.
+poetry=>randmo.
+poetry=>plex.
+poetry=>plrand.
+
+clapping=>plcore.
+clapping=>plrand.
+clapping=>musicmo.
+clapping=>randmo.
+
+musicmo=>plcore.
+musicmo=>music.
+musicmo=>tempmo.
+musicmo=>randmo.
+
+tempmo=>plcore.
+
+randmo=>plcore.
+randmo=>plrand.
+
+
+plumbing=>plcore.
+
+probdcg=>plcore.
+probdcg=>plrand.
+probdcg=>rphrase.
+
+rphrase=>plcore.
+rphrase=>plrand.
+
+gv_graph :- shell('gv -spartan dependencies.ps &').
+
+mk_graph :- mk_graph([]).
+mk_graph(HideList) :- 
+	findall(A=>B,(A=>B,\+member(A,HideList),\+member(B,HideList)),Edges),
+	graph2ps(dot,digraph(plibs,Edges),'dependencies.ps').
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dependencies.ps	Mon Jan 23 20:28:22 2012 +0000
@@ -0,0 +1,1248 @@
+%!PS-Adobe-3.0
+%%Creator: graphviz version 2.28.0 (20111206.1416)
+%%Title: plibs
+%%Pages: (atend)
+%%BoundingBox: (atend)
+%%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 1078 368
+%%PageOrientation: Portrait
+0 0 1 beginpage
+gsave
+36 36 1042 332 boxprim clip newpath
+1 1 set_scale 0 rotate 40 41 translate
+% triserver
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+227.56 234 41.39 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+203.56 230.3 moveto 48 (triserver) alignedtext
+grestore
+% plcore
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+463.56 18 34.17 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+445.06 14.3 moveto 37 (plcore) alignedtext
+grestore
+% triserver->plcore
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 231.01 216 moveto
+238.61 183.07 259.95 110.42 306.56 72 curveto
+339.25 45.05 386.28 31.57 420.34 24.98 curveto
+stroke
+0 0 0 edgecolor
+newpath 421.24 28.37 moveto
+430.46 23.15 lineto
+420 21.48 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 421.24 28.37 moveto
+430.46 23.15 lineto
+420 21.48 lineto
+closepath stroke
+grestore
+% reactive
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+200.56 90 39.95 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+177.56 86.3 moveto 46 (reactive) alignedtext
+grestore
+% triserver->reactive
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 224.3 215.87 moveto
+219.7 191.67 211.24 147.21 205.76 118.39 curveto
+stroke
+0 0 0 edgecolor
+newpath 209.13 117.36 moveto
+203.82 108.19 lineto
+202.25 118.67 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 209.13 117.36 moveto
+203.82 108.19 lineto
+202.25 118.67 lineto
+closepath stroke
+grestore
+% plmidi
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+371.56 90 35.62 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+352.06 86.3 moveto 39 (plmidi) alignedtext
+grestore
+% triserver->plmidi
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 264.85 226.03 moveto
+292.17 218.99 328.09 205.4 349.56 180 curveto
+364.12 162.77 369.3 137.33 371.02 118.06 curveto
+stroke
+0 0 0 edgecolor
+newpath 374.52 118.28 moveto
+371.66 108.08 lineto
+367.53 117.84 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 374.52 118.28 moveto
+371.66 108.08 lineto
+367.53 117.84 lineto
+closepath stroke
+grestore
+% plosc
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+88.56 18 30.32 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+73.06 14.3 moveto 31 (plosc) alignedtext
+grestore
+% triserver->plosc
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 190.9 225.6 moveto
+163.67 218.32 127.44 204.61 104.56 180 curveto
+71.01 143.93 75.92 81.73 82.33 46.12 curveto
+stroke
+0 0 0 edgecolor
+newpath 85.83 46.47 moveto
+84.33 35.99 lineto
+78.96 45.12 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 85.83 46.47 moveto
+84.33 35.99 lineto
+78.96 45.12 lineto
+closepath stroke
+grestore
+% music
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+307.56 162 33.22 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+290.06 158.3 moveto 35 (music) alignedtext
+grestore
+% triserver->music
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 245.31 217.46 moveto
+256.41 207.75 270.87 195.1 283.05 184.44 curveto
+stroke
+0 0 0 edgecolor
+newpath 285.45 186.99 moveto
+290.67 177.77 lineto
+280.84 181.72 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 285.45 186.99 moveto
+290.67 177.77 lineto
+280.84 181.72 lineto
+closepath stroke
+grestore
+% plrand
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+921.56 18 33.2 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+903.56 14.3 moveto 36 (plrand) alignedtext
+grestore
+% triserver->plrand
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 267 228.62 moveto
+300.82 224.96 350.86 219.74 394.56 216 curveto
+452.04 211.08 864.56 212.02 912.56 180 curveto
+954.65 151.92 960.36 121.2 948.56 72 curveto
+946.28 62.52 942.01 52.82 937.52 44.35 curveto
+stroke
+0 0 0 edgecolor
+newpath 940.43 42.38 moveto
+932.46 35.39 lineto
+934.33 45.82 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 940.43 42.38 moveto
+932.46 35.39 lineto
+934.33 45.82 lineto
+closepath stroke
+grestore
+% sc
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+115.56 90 27 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+109.06 86.3 moveto 13 (sc) alignedtext
+grestore
+% triserver->sc
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 190.7 225.74 moveto
+165.46 218.66 133.74 205.13 117.56 180 curveto
+105.82 161.78 106.34 136.81 109.21 117.95 curveto
+stroke
+0 0 0 edgecolor
+newpath 112.69 118.39 moveto
+111.05 107.92 lineto
+105.81 117.13 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 112.69 118.39 moveto
+111.05 107.92 lineto
+105.81 117.13 lineto
+closepath stroke
+grestore
+% plml
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+153.56 162 26.95 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+140.56 158.3 moveto 26 (plml) alignedtext
+grestore
+% triserver->plml
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 211.13 217.46 moveto
+200.75 207.65 187.21 194.83 175.86 184.1 curveto
+stroke
+0 0 0 edgecolor
+newpath 178.09 181.39 moveto
+168.42 177.07 lineto
+173.28 186.48 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 178.09 181.39 moveto
+168.42 177.07 lineto
+173.28 186.48 lineto
+closepath stroke
+grestore
+% reactive->plcore
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 232.16 78.72 moveto
+239.49 76.43 247.28 74.07 254.56 72 curveto
+312.77 55.47 380.81 38.68 423.05 28.55 curveto
+stroke
+0 0 0 edgecolor
+newpath 424.04 31.91 moveto
+432.95 26.19 lineto
+422.41 25.11 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 424.04 31.91 moveto
+432.95 26.19 lineto
+422.41 25.11 lineto
+closepath stroke
+grestore
+% music->plcore
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 306.64 143.84 moveto
+306.53 124.22 309.33 92.2 326.56 72 curveto
+350.12 44.36 389.86 31.07 420.49 24.72 curveto
+stroke
+0 0 0 edgecolor
+newpath 421.32 28.13 moveto
+430.49 22.82 lineto
+420.01 21.25 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 421.32 28.13 moveto
+430.49 22.82 lineto
+420.01 21.25 lineto
+closepath stroke
+grestore
+% music->plmidi
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 321.76 145.46 moveto
+330.09 136.35 340.79 124.65 350.13 114.43 curveto
+stroke
+0 0 0 edgecolor
+newpath 352.78 116.72 moveto
+356.95 106.98 lineto
+347.62 112 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 352.78 116.72 moveto
+356.95 106.98 lineto
+347.62 112 lineto
+closepath stroke
+grestore
+% music->plrand
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 333.58 150.81 moveto
+381.26 132.52 486.13 93.95 577.56 72 curveto
+684.42 46.34 813.07 30.39 878.61 23.3 curveto
+stroke
+0 0 0 edgecolor
+newpath 879.38 26.74 moveto
+888.96 22.2 lineto
+878.64 19.78 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 879.38 26.74 moveto
+888.96 22.2 lineto
+878.64 19.78 lineto
+closepath stroke
+grestore
+% music->sc
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 279.31 152.47 moveto
+247.78 142.7 195.44 125.75 151.56 108 curveto
+149.73 107.26 147.86 106.48 145.99 105.66 curveto
+stroke
+0 0 0 edgecolor
+newpath 147.25 102.4 moveto
+136.7 101.47 lineto
+144.37 108.78 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 147.25 102.4 moveto
+136.7 101.47 lineto
+144.37 108.78 lineto
+closepath stroke
+grestore
+% sc->plcore
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 136.11 78.12 moveto
+141.06 75.83 146.41 73.62 151.56 72 curveto
+244.45 42.78 358.28 28.62 419.52 22.67 curveto
+stroke
+0 0 0 edgecolor
+newpath 419.98 26.14 moveto
+429.6 21.71 lineto
+419.32 19.17 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 419.98 26.14 moveto
+429.6 21.71 lineto
+419.32 19.17 lineto
+closepath stroke
+grestore
+% sc->plosc
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 109.16 72.41 moveto
+106.04 64.34 102.22 54.43 98.72 45.35 curveto
+stroke
+0 0 0 edgecolor
+newpath 101.96 44.03 moveto
+95.1 35.96 lineto
+95.43 46.55 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 101.96 44.03 moveto
+95.1 35.96 lineto
+95.43 46.55 lineto
+closepath stroke
+grestore
+% plumdrum
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+100.56 234 48.62 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+71.06 230.3 moveto 59 (plumdrum) alignedtext
+grestore
+% plumdrum->plcore
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 90.87 216 moveto
+73.9 183.7 43.81 113.01 79.56 72 curveto
+123.19 21.93 327.84 17.56 419.25 18.19 curveto
+stroke
+0 0 0 edgecolor
+newpath 419.27 21.69 moveto
+429.3 18.28 lineto
+419.34 14.69 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 419.27 21.69 moveto
+429.3 18.28 lineto
+419.34 14.69 lineto
+closepath stroke
+grestore
+% plumdrum->music
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 135.2 221.28 moveto
+172.6 208.64 231.96 188.56 270.33 175.59 curveto
+stroke
+0 0 0 edgecolor
+newpath 271.73 178.81 moveto
+280.09 172.29 lineto
+269.49 172.18 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 271.73 178.81 moveto
+280.09 172.29 lineto
+269.49 172.18 lineto
+closepath stroke
+grestore
+% plcrp
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+893.56 90 29.37 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+879.06 86.3 moveto 29 (plcrp) alignedtext
+grestore
+% plcrp->plcore
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 866.92 82.55 moveto
+852.38 79.16 834.04 75.07 817.56 72 curveto
+705.93 51.19 573.3 33.08 506.52 24.43 curveto
+stroke
+0 0 0 edgecolor
+newpath 506.75 20.93 moveto
+496.39 23.12 lineto
+505.86 27.87 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 506.75 20.93 moveto
+496.39 23.12 lineto
+505.86 27.87 lineto
+closepath stroke
+grestore
+% plcrp->plrand
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 900.19 72.41 moveto
+903.42 64.34 907.38 54.43 911.01 45.35 curveto
+stroke
+0 0 0 edgecolor
+newpath 914.31 46.54 moveto
+914.77 35.96 lineto
+907.81 43.94 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 914.31 46.54 moveto
+914.77 35.96 lineto
+907.81 43.94 lineto
+closepath stroke
+grestore
+% hdplm
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+869.56 162 34.17 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+851.06 158.3 moveto 37 (hdplm) alignedtext
+grestore
+% hdplm->plcore
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 839.45 153.42 moveto
+809.28 145.05 762.19 129.79 725.56 108 curveto
+704.71 95.6 706.09 83.15 684.56 72 curveto
+627.39 42.39 553.32 28.99 507.12 23.17 curveto
+stroke
+0 0 0 edgecolor
+newpath 507.48 19.69 moveto
+497.13 21.98 lineto
+506.64 26.64 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 507.48 19.69 moveto
+497.13 21.98 lineto
+506.64 26.64 lineto
+closepath stroke
+grestore
+% hdplm->plrand
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 892.34 148.51 moveto
+906.5 139.36 923.5 125.49 931.56 108 curveto
+940.57 88.43 936.9 63.97 931.63 45.65 curveto
+stroke
+0 0 0 edgecolor
+newpath 934.89 44.37 moveto
+928.52 35.91 lineto
+928.23 46.5 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 934.89 44.37 moveto
+928.52 35.91 lineto
+928.23 46.5 lineto
+closepath stroke
+grestore
+% hdplm->plcrp
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 875.36 144.05 moveto
+878.11 136.06 881.44 126.33 884.5 117.4 curveto
+stroke
+0 0 0 edgecolor
+newpath 887.87 118.38 moveto
+887.8 107.79 lineto
+881.24 116.11 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 887.87 118.38 moveto
+887.8 107.79 lineto
+881.24 116.11 lineto
+closepath stroke
+grestore
+% midi_io
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+444.56 234 40.42 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+421.06 230.3 moveto 47 (midi_io) alignedtext
+grestore
+% midi_io->plcore
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 446.08 215.85 moveto
+449.36 178.83 457.15 91.18 461.12 46.39 curveto
+stroke
+0 0 0 edgecolor
+newpath 464.63 46.5 moveto
+462.03 36.23 lineto
+457.65 45.88 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 464.63 46.5 moveto
+462.03 36.23 lineto
+457.65 45.88 lineto
+closepath stroke
+grestore
+% midi_io->plmidi
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 435.89 216.15 moveto
+423.27 191.6 399.71 145.77 384.87 116.91 curveto
+stroke
+0 0 0 edgecolor
+newpath 387.89 115.12 moveto
+380.2 107.82 lineto
+381.66 118.32 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 387.89 115.12 moveto
+380.2 107.82 lineto
+381.66 118.32 lineto
+closepath stroke
+grestore
+% midi_io->music
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 419.11 220 moveto
+396.84 208.62 364.36 192.02 340.18 179.67 curveto
+stroke
+0 0 0 edgecolor
+newpath 341.53 176.43 moveto
+331.04 175 lineto
+338.35 182.66 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 341.53 176.43 moveto
+331.04 175 lineto
+338.35 182.66 lineto
+closepath stroke
+grestore
+% plsmf
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+503.56 162 31.3 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+487.56 158.3 moveto 32 (plsmf) alignedtext
+grestore
+% midi_io->plsmf
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 458.24 216.76 moveto
+465.79 207.8 475.31 196.51 483.67 186.59 curveto
+stroke
+0 0 0 edgecolor
+newpath 486.58 188.57 moveto
+490.35 178.67 lineto
+481.23 184.06 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 486.58 188.57 moveto
+490.35 178.67 lineto
+481.23 184.06 lineto
+closepath stroke
+grestore
+% hdpmusic
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+562.56 306 46.2 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+534.56 302.3 moveto 56 (hdpmusic) alignedtext
+grestore
+% hdpmusic->plcore
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 516.16 303.75 moveto
+394.59 299.99 74.03 286.85 42.56 252 curveto
+10.66 216.69 -42.05 175.26 60.56 72 curveto
+109.94 22.3 325.15 17.81 419.25 18.3 curveto
+stroke
+0 0 0 edgecolor
+newpath 419.28 21.8 moveto
+429.3 18.37 lineto
+419.33 14.8 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 419.28 21.8 moveto
+429.3 18.37 lineto
+419.33 14.8 lineto
+closepath stroke
+grestore
+% hdpmusic->plrand
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 606.63 299.98 moveto
+712.33 286.93 975.18 248.12 1025.56 180 curveto
+1034.55 167.84 1038.44 95.76 1023.56 72 curveto
+1009.8 50.05 983.78 36.73 961.46 28.94 curveto
+stroke
+0 0 0 edgecolor
+newpath 962.44 25.58 moveto
+951.84 25.83 lineto
+960.28 32.24 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 962.44 25.58 moveto
+951.84 25.83 lineto
+960.28 32.24 lineto
+closepath stroke
+grestore
+% hdpmusic->hdplm
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 604 297.61 moveto
+642.74 289.7 701.52 275.06 748.56 252 curveto
+785.21 234.03 822.28 204.76 845.55 184.72 curveto
+stroke
+0 0 0 edgecolor
+newpath 847.96 187.27 moveto
+853.19 178.06 lineto
+843.35 182 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 847.96 187.27 moveto
+853.19 178.06 lineto
+843.35 182 lineto
+closepath stroke
+grestore
+% hdpmusic->midi_io
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 538.11 290.5 moveto
+520.27 279.92 495.94 265.48 476.56 253.99 curveto
+stroke
+0 0 0 edgecolor
+newpath 478.16 250.86 moveto
+467.77 248.77 lineto
+474.58 256.88 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 478.16 250.86 moveto
+467.77 248.77 lineto
+474.58 256.88 lineto
+closepath stroke
+grestore
+% plumbing
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+562.56 234 46.22 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+535.06 230.3 moveto 55 (plumbing) alignedtext
+grestore
+% hdpmusic->plumbing
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 562.56 287.7 moveto
+562.56 279.98 562.56 270.71 562.56 262.11 curveto
+stroke
+0 0 0 edgecolor
+newpath 566.06 262.1 moveto
+562.56 252.1 lineto
+559.06 262.1 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 566.06 262.1 moveto
+562.56 252.1 lineto
+559.06 262.1 lineto
+closepath stroke
+grestore
+% plumbing->plcore
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 560.73 215.73 moveto
+558.37 197.39 553.34 167.82 543.56 144 curveto
+528.03 106.22 501.06 67.29 482.76 43.13 curveto
+stroke
+0 0 0 edgecolor
+newpath 485.33 40.72 moveto
+476.46 34.93 lineto
+479.78 44.99 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 485.33 40.72 moveto
+476.46 34.93 lineto
+479.78 44.99 lineto
+closepath stroke
+grestore
+% plex
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+613.56 90 27 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+601.06 86.3 moveto 25 (plex) alignedtext
+grestore
+% plex->plcore
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 592.06 78.97 moveto
+567.39 67.46 526.6 48.42 497.59 34.88 curveto
+stroke
+0 0 0 edgecolor
+newpath 498.79 31.58 moveto
+488.25 30.52 lineto
+495.83 37.92 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 498.79 31.58 moveto
+488.25 30.52 lineto
+495.83 37.92 lineto
+closepath stroke
+grestore
+% poetry
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+705.56 234 34.17 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+687.06 230.3 moveto 37 (poetry) alignedtext
+grestore
+% poetry->plcore
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 688.64 218.27 moveto
+676.56 207.7 659.97 193.07 645.56 180 curveto
+593.38 132.68 582.83 118.08 529.56 72 curveto
+516.82 60.99 502.27 49.22 490.07 39.57 curveto
+stroke
+0 0 0 edgecolor
+newpath 492.08 36.7 moveto
+482.06 33.27 lineto
+487.76 42.2 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 492.08 36.7 moveto
+482.06 33.27 lineto
+487.76 42.2 lineto
+closepath stroke
+grestore
+% poetry->plrand
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 739.79 232.17 moveto
+810.61 229.67 969.35 219.66 1002.56 180 curveto
+1033.37 143.2 1025.39 114.22 1002.56 72 curveto
+992.98 54.29 974.62 41.55 957.8 33 curveto
+stroke
+0 0 0 edgecolor
+newpath 959.22 29.8 moveto
+948.68 28.68 lineto
+956.22 36.13 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 959.22 29.8 moveto
+948.68 28.68 lineto
+956.22 36.13 lineto
+closepath stroke
+grestore
+% poetry->plex
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 695 216.71 moveto
+678.99 191.99 648.43 144.83 629.64 115.83 curveto
+stroke
+0 0 0 edgecolor
+newpath 632.36 113.59 moveto
+623.99 107.1 lineto
+626.49 117.39 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 632.36 113.59 moveto
+623.99 107.1 lineto
+626.49 117.39 lineto
+closepath stroke
+grestore
+% probdcg
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+751.56 162 41.39 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+727.56 158.3 moveto 48 (probdcg) alignedtext
+grestore
+% poetry->probdcg
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 716.22 216.76 moveto
+721.83 208.23 728.83 197.58 735.11 188.02 curveto
+stroke
+0 0 0 edgecolor
+newpath 738.06 189.91 moveto
+740.62 179.63 lineto
+732.21 186.07 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 738.06 189.91 moveto
+740.62 179.63 lineto
+732.21 186.07 lineto
+closepath stroke
+grestore
+% probdcg->plcore
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 733.92 145.26 moveto
+706.03 120.41 654.36 74.61 649.56 72 curveto
+603.78 47.14 545.18 32.95 506.11 25.62 curveto
+stroke
+0 0 0 edgecolor
+newpath 506.58 22.15 moveto
+496.12 23.82 lineto
+505.34 29.04 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 506.58 22.15 moveto
+496.12 23.82 lineto
+505.34 29.04 lineto
+closepath stroke
+grestore
+% probdcg->plrand
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 770.96 146.1 moveto
+784.29 135.69 802.28 121.33 817.56 108 curveto
+835.08 92.7 838.03 87.3 855.56 72 curveto
+868.24 60.93 882.79 49.15 894.99 39.52 curveto
+stroke
+0 0 0 edgecolor
+newpath 897.31 42.15 moveto
+903.02 33.23 lineto
+892.99 36.65 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 897.31 42.15 moveto
+903.02 33.23 lineto
+892.99 36.65 lineto
+closepath stroke
+grestore
+% rphrase
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+771.56 90 37.07 18 ellipse_path stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+751.06 86.3 moveto 41 (rphrase) alignedtext
+grestore
+% probdcg->rphrase
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 756.4 144.05 moveto
+758.62 136.26 761.32 126.82 763.82 118.08 curveto
+stroke
+0 0 0 edgecolor
+newpath 767.24 118.85 moveto
+766.62 108.28 lineto
+760.51 116.93 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 767.24 118.85 moveto
+766.62 108.28 lineto
+760.51 116.93 lineto
+closepath stroke
+grestore
+% rphrase->plcore
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 742.61 78.69 moveto
+735.45 76.32 727.77 73.94 720.56 72 curveto
+645.85 51.92 557.18 35.16 505.94 26.15 curveto
+stroke
+0 0 0 edgecolor
+newpath 506.35 22.67 moveto
+495.9 24.4 lineto
+505.15 29.57 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 506.35 22.67 moveto
+495.9 24.4 lineto
+505.15 29.57 lineto
+closepath stroke
+grestore
+% rphrase->plrand
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 797.34 76.97 moveto
+822.37 65.29 860.48 47.5 887.89 34.71 curveto
+stroke
+0 0 0 edgecolor
+newpath 889.52 37.81 moveto
+897.1 30.41 lineto
+886.56 31.47 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 889.52 37.81 moveto
+897.1 30.41 lineto
+886.56 31.47 lineto
+closepath stroke
+grestore
+endpage
+showpage
+grestore
+%%PageTrailer
+%%EndPage: 1
+%%Trailer
+%%Pages: 1
+%%BoundingBox: 36 36 1078 368
+end
+restore
+%%EOF