summaryrefslogtreecommitdiffstats
path: root/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man
diff options
context:
space:
mode:
Diffstat (limited to 'Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man')
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/acyclic.162
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/bcomps.176
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/ccomps.199
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/circo.1669
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dijkstra.159
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dot.1669
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dotty.149
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/fdp.1669
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gc.183
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gv2gxl.192
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvcolor.158
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpack.1101
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpr.1967
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gxl2gv.192
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lefty.1120
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lneato.149
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/mm2gv.147
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/neato.1669
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/nop.131
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/prune.1155
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/sccmap.155
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/tred.142
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/twopi.1669
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/unflatten.158
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cdt.3483
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cgraph.3486
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/graph.3270
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/gvc.366
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/pathplan.397
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man7/graphviz.7106
30 files changed, 7148 insertions, 0 deletions
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/acyclic.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/acyclic.1
new file mode 100644
index 0000000..fd3ae07
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/acyclic.1
@@ -0,0 +1,62 @@
+.TH ACYCLIC 1 "21 March 2001"
+.SH NAME
+acyclic \- make directed graph acyclic
+.SH SYNOPSIS
+.B acyclic
+[
+.B \-nv?
+] [
+.B \-o
+.I outfile
+]
+[
+.I file
+]
+.SH DESCRIPTION
+.B acyclic
+is a filter that takes a directed graph as input and outputs
+a copy of the graph with sufficient edges reversed to make
+the graph acyclic. The reversed edge inherits all of the attributes
+of the original edge. The optional file argument specifies where the
+the input graph is stored; by default, the program reads from \fBstdin\fP.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-n
+No output is produced, though the return value
+will indicate whether the graph is acyclic or not.
+.TP
+.B \-v
+Print information about whether the file is acyclic, has a cycle or
+is undirected.
+.TP
+.BI \-o " outfile"
+causes the output to be written to the specified file; by default,
+output is written to \fBstdout\fP.
+.TP
+.B \-?
+option causes the program to print usage information.
+.SH RETURN CODES
+.B acyclic
+returns
+.B 0
+if the graph is acyclic;
+.B 1
+if the graph has a cycle;
+.B 2
+if the graph is undirected; and
+.B 255
+if there are any errors.
+.SH BUGS
+If the graph is strict and there is a cycle of length 2,
+the attributes of the reversed edge are lost.
+.PP
+Some edge attributes are non-symmetric, referring to either the head
+or tail node. At present, there is no mechanism or convention for
+for correctly switching or renaming these.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+gc(1), dot(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/bcomps.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/bcomps.1
new file mode 100644
index 0000000..ea4ae5e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/bcomps.1
@@ -0,0 +1,76 @@
+.TH BCOMPS 1 "18 November 2003"
+.SH NAME
+bcomps \- biconnected components filter for graphs
+.SH SYNOPSIS
+.B bcomps
+[
+.B \-stvx?
+]
+[
+.BI -o outfile
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B bcomps
+decomposes graphs into their biconnected components,
+printing the components to standard output.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-s
+No output graph is printed. Implies the
+.B \-v
+flag.
+.TP
+.B \-t
+Print the underlying block-cutvertex tree.
+.TP
+.B \-x
+Each biconnected component is printed as a separate root graph.
+.TP
+.B \-v
+Prints number of blocks and cutvertices.
+.TP
+.BI \-o " outfile"
+If specified, each root graph will be written to a different file
+with the names derived from \fIoutfile\fP. In particular,
+if both \fB-o\fP and \fB-x\fP flags are used, then each
+block is written to a different file. If \fIoutfile\fP does
+not have a suffix, the nth block of the ith graph is written
+to \fIoutfile_n_i\fP. However, the 0th block of the 0th graph is written to
+\fIoutfile\fP.
+.sp
+If \fIoutfile\fP has a suffix, i.e., has the form \fIbase.sfx\fP,
+then the files will have the same name as above, except appended with \fI.sfx\fP.
+.sp
+The block-cutvertex tree of ith graph is written to \fIoutfile_n_T\fP,
+with an appended suffix if specified.
+.LP
+By default, each input graph is printed, with each
+block given as a subgraph whose name is a concatenation of
+the name of the input graph, the string "_bcc_" and the
+number of the block.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in dot format.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH RETURN CODES
+.B bcomps
+returns
+.B 0
+if all the input graphs are biconnected; and
+non-zero if any graph has multiple blocks, or any error occurred.
+.SH "BUGS"
+It is possible, though unlikely, that the names used for connected
+components and their subgraphs may conflict with existing subgraph names.
+.SH AUTHORS
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+ccomps(1), gc(1), dot(1), gvpr(1), gvcolor(1), acyclic(1), sccmap(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/ccomps.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/ccomps.1
new file mode 100644
index 0000000..4ee62ee
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/ccomps.1
@@ -0,0 +1,99 @@
+.TH CCOMPS 1 "21 March 2001"
+.SH NAME
+ccomps \- connected components filter for graphs
+.SH SYNOPSIS
+.B ccomps
+[
+.B \-sxv?
+]
+[
+.BI -o outfile
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B ccomps
+decomposes graphs into their connected components,
+printing the components to standard output.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-s
+No output graph is printed. The return value can be used to
+check if the graph is connected or not.
+.TP
+.B \-x
+Only the connected components are printed, as separate graphs.
+.TP
+.B \-v
+Counts of nodes, edges and connected components are printed.
+.TP
+.B \-C
+Use clusters in computing components in addition to normal edge
+connectivity. In essence, this gives the connected components of the
+derived graph in which nodes top-level clusters and nodes in the
+original graph. This maintains all subgraph structure within a
+component, even if a subgraph does not contain any nodes.
+.TP
+.B \-n
+Do not project subgraph structure. Normally, if
+.B ccomps
+produces components as graphs distinct from the input graph, it will
+define subgraphs which are projections of subgraphs of the input graph
+onto the component. (If the projection is empty, no subgraph is produced.)
+If this flag is set, the component contains only the relevant nodes and
+edges.
+.TP
+.BI \-X " node_name"
+Prints only the component containing the node \fInode_name\fP,
+if any.
+.TP
+.BI \-X# " index"
+Prints only component number \fIindex\fP, if any, starting at 0.
+.TP
+.BI \-o " outfile"
+If specified, each graph will be written to a different file
+with the names derived from \fIoutfile\fP. In particular,
+if both \fB-o\fP and \fB-x\fP flags are used, then each connected
+component is written to a different file. If \fIoutfile\fP does
+not have a suffix, the first file will have the name \fIoutfile\fP;
+then next \fIoutfile_1\fP, then next \fIoutfile_2\fP, and so on.
+If \fIoutfile\fP has a suffix, i.e., has the form \fIbase.sfx\fP,
+then the files will be named \fIbase.sfx\fP, \fIbase_1.sfx\fP,
+\fIbase_2.sfx\fP, etc.
+.LP
+By default, each input graph is printed, with each connected
+component given as a subgraph whose name is a concatenation of
+the name of the input graph, the string "_component_" and the
+number of the component.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in dot format.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH RETURN CODES
+Unless used to extract a single connected component,
+.B ccomps
+returns
+.B 0
+if all the input graphs are connected; and
+non-zero if any graph has multiple components, or any error occurred.
+If just extracting a single component,
+.B ccomps
+returns
+.B 0
+on success and non-zero if an error occurred.
+.SH "BUGS"
+It is possible, though unlikely, that the names used for connected
+components and their subgraphs may conflict with existing subgraph names.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+gc(1), dot(1), gvpr(1), gvcolor(1), acyclic(1), sccmap(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/circo.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/circo.1
new file mode 100644
index 0000000..6ef258f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/circo.1
@@ -0,0 +1,669 @@
+.TH DOT 1 "23 August 2004" \*(eX
+.SH NAME
+dot \- filter for drawing directed graphs
+.br
+neato \- filter for drawing undirected graphs
+.br
+twopi \- filter for radial layouts of graphs
+.br
+circo \- filter for circular layout of graphs
+.br
+fdp \- filter for drawing undirected graphs
+.SH SYNOPSIS
+\fBdot\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBneato\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-n\fR[\fB1\fR|\fB2\fR]]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBtwopi\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBcirco\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBfdp\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.SH DESCRIPTION
+.I dot
+draws directed graphs. It works well on DAGs and other graphs
+that can be drawn as hierarchies.
+It reads attributed graph files and writes drawings.
+By default, the output format
+.I dot
+is the input file with layout coordinates appended.
+.PP
+.I neato
+draws undirected graphs using ``spring'' models (see Kamada and Kawai,
+Information Processing Letters 31:1, April 1989). Input files must be
+formatted in the
+.I dot
+attributed graph language.
+By default, the output of
+.I neato
+is the input graph with layout coordinates appended.
+.PP
+.I twopi
+draws graphs using a radial layout (see G. Wills,
+Symposium on Graph Drawing GD'97, September, 1997).
+Basically, one node is chosen as the center and put at the origin.
+The remaining nodes are placed on a sequence of concentric circles
+centered about the origin, each a fixed radial distance from the
+previous circle.
+All nodes distance 1 from the center are placed on the first circle;
+all nodes distance 1 from a node on the first circle are placed on
+the second circle; and so forth.
+.PP
+.I circo
+draws graphs using a circular layout (see
+Six and Tollis, GD '99 and ALENEX '99, and
+Kaufmann and Wiese, GD '02.)
+The tool identifies biconnected components and draws the nodes of
+the component on a circle. The block\(hycutpoint tree
+is then laid out using a recursive radial algorithm. Edge
+crossings within a circle are minimized by placing as many edges on
+the circle's perimeter as possible.
+In particular, if the component is outerplanar, the component will
+have a planar layout.
+.PP
+If a node belongs to multiple non\(hytrivial biconnected components,
+the layout puts the node in one of them. By default, this is the first
+non\(hytrivial component found in the search from the root component.
+.PP
+.I fdp
+draws undirected graphs using a ``spring'' model. It relies on a
+force\(hydirected approach in the spirit of Fruchterman and Reingold
+(cf. Software\(hyPractice & Experience 21(11), 1991, pp. 1129\(hy1164).
+.SH OUTPUT FORMATS
+Dot uses an extensible plugin mechanism for its output renderers,
+so to see what output formats your installation of dot supports
+you can use ``dot \-Txxx'' (where xxx is an unlikely format)
+and check the warning message.
+Also, The plugin mechanism supports multiple implementations
+of the output formats.
+To see what variants are available, use, for example: ``dot \-Tpng:''
+and to force a particular variant, use, for example: ``dot \-Tpng:gd''
+.P
+Traditionally, dot supports the following:
+\fB\-Tps\fP (PostScript),
+\fB\-Tsvg\fP \fB\-Tsvgz\fP (Structured Vector Graphics),
+\fB\-Tfig\fP (XFIG graphics),
+\fB\-Tmif\fP (FrameMaker graphics),
+\fB\-Thpgl\fP (HP pen plotters), and \fB\-Tpcl\fP (Laserjet printers),
+\fB\-Tpng\fP \fB\-Tgif\fP (bitmap graphics),
+\fB\-Tdia\fP (GTK+ based diagrams),
+\fB\-Timap\fP (imagemap files for httpd servers for each node or edge
+that has a non(hynull "href" attribute.),
+\fB\-Tcmapx\fP (client\(hyside imagemap for use in html and xhtml).
+Additional less common or more special\(hypurpose output formats
+can be found at http://www.graphviz.org/cvs/doc/info/output.html.)
+.SH GRAPH FILE LANGUAGE
+Here is a synopsis of the graph file language, traditionally using the extension \fB.dot\fR, for graphs:
+.PP
+[\fBstrict\fR] (\fBgraph\fR|\fBdigraph\fR) \fIname\fP { \fIstatement\(hylist\fP }\fR
+.br
+Is the top level graph. If the graph is \fBstrict\fR then multiple edges are
+not allowed between the same pairs of nodes.
+If it is a directed graph, indicated by \fBdigraph\fR,
+then the \fIedgeop\fR must be "\->". If it is an undirected \fBgraph\fR
+then the \fIedgeop\fR must be "\-\-".
+Statements may be:
+.PP
+\fIname\fB=\fIval\fB;\fR
+.br
+\fBnode [\fIname\fB=\fIval\fB];\fR
+.br
+\fBedge [\fIname\fB=\fIval\fB];\fR
+.br
+Set default graph, node, or edge attribute \fIname\fP to \fIval\fP.
+Any subgraph, node, or edge appearing after this inherits the new
+default attributes.
+.PP
+\fBn0 [\fIname0=val0,name1=val1,...\fB];\fR
+Creates node \fBn0\fP (if it does not already exist)
+and sets its attributes according to the optional list.
+.PP
+\fBn0 \fIedgeop\fR n1 \fIedgeop\fR \fI...\fB \fIedgeop\fR nn [\fIname0=val0,name1=val1,...\fB];\fR
+.br
+Creates edges between nodes \fBn0\fP, \fBn1\fP, ..., \fBnn\fP and sets
+their attributes according to the optional list.
+Creates nodes as necessary.
+.PP
+[\fBsubgraph \fIname\fB] { \fIstatement\(hylist \fB}\fR
+.br
+Creates a subgraph. Subgraphs may be used in place
+of \fBn0\fP, ..., \fBnn\fP in the above statements to create edges.
+[\fBsubgraph \fIname\fR] is optional;
+if missing, the subgraph is assigned an internal name.
+.PP
+Comments may be /*C\(hylike*/ or //C++\(hylike.
+
+.PP
+Attribute names and values are ordinary (C\(hystyle) strings.
+The following sections describe attributes that control graph layout.
+
+.SH "GRAPH ATTRIBUTES"
+.PP
+\fBsize="\fIx,y\fP"\fR sets bounding box of drawing in inches.
+.PP
+\fBpage="\fIx,y\fP"\fR sets the PostScript pagination unit.
+.PP
+\fBratio=\fIf\fR sets the aspect ratio to \fIf\fP which may be
+a floating point number, or one of the keywords \fBfill\fP,
+\fBcompress\fP, or \fBauto\fP.
+.PP
+\fBmargin=\fIf\fR sets the page margin (included in the page size).
+.PP
+\fBnodesep=\fIf\fR sets the minimum separation between nodes.
+.PP
+\fBranksep=\fIf\fR sets the minimum separation between ranks.
+.PP
+\fBordering=out\fR constrains order of out\(hyedges in a subgraph
+according to their file sequence.
+.PP
+\fBrankdir=LR|RL|BT\fR requests a left\(hyto\(hyright, right\(hyto\(hyleft, or bottom\(hyto\(hytop, drawing.
+.PP
+\fBpagedir=\fR[TBLR][TBLR] sets the major and minor order of pagination.
+.PP
+\fBrank=same\fR (or \fBmin\fP or \fBmax\fP) in a subgraph
+constrains the rank assignment of its nodes. If a subgraph's
+name has the prefix \fBcluster\fP, its nodes are drawn in
+a distinct rectangle of the layout. Clusters may be nested.
+.PP
+\fBrotate=90\fR sets landscape mode.
+(\fBorientation=land\fR is backward compatible but obsolete.)
+.PP
+\fBcenter=\fIn\fR a non\(hyzero value centers the drawing on the page.
+.PP
+\fBnslimit=\fIf\fR or \fBmclimit=\fIf\fR adjusts the bound on the
+number of network simplex or mincross iterations by the given ratio.
+For example, \fBmclimit=2.0\fP runs twice as long.
+.PP
+\fBlayers="\fIid:id:id:id\fR" is a sequence of layer identifiers for
+overlay diagrams. The PostScript array variable \fIlayercolorseq\fR
+sets the assignment of colors to layers. The least index is 1 and
+each element must be a 3\(hyelement array to be interpreted as a color coordinate.
+.PP
+\fBcolor=\fIcolorvalue\fR sets foreground color (\fBbgcolor\fP for background).
+.PP
+\fBhref=\fI"url"\fR the default url for image map files; in PostScript files,
+the base URL for all relative URLs, as recognized by Acrobat Distiller
+3.0 and up.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBstylesheet=\fI"file.css"\fR includes a reference to a stylesheet
+in \-Tsvg and \-Tsvgz outputs. Ignored by other formats.
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBstart=\fIval\fR. Requests random initial placement and seeds
+the random number generator. If \fIval\fP is not an integer,
+the process ID or current time is used as the seed.
+.PP
+\fBepsilon=\fIn\fR. Sets the cutoff for the solver.
+The default is 0.1.
+.PP
+\fBsplines=\fIboolean\fR. Setting this to \fItrue\fR causes edges to be
+drawn as splines if nodes don't overlap. The default is \fIfalse\fR.
+
+.PP
+\fB(twopi\(hyspecific attributes)\fR
+.br
+\fBroot=\fIctr\fR. This specifies the node to be used as the center of
+the layout. If not specified, \fItwopi\fP will randomly pick one of the
+nodes that are furthest from a leaf node, where a leaf node is a node
+of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.
+.PP
+\fBranksep=\fIval\fR. Specifies the radial distance in inches between
+the sequence of rings. The default is 0.75.
+.PP
+\fBoverlap=\fImode\fR. This specifies what \fItwopi\fP should do if
+any nodes overlap. If mode is \fI"false"\fP, the program uses Voronoi
+diagrams to adjust the nodes to eliminate overlaps. If mode is \fI"scale"\fP,
+the layout is uniformly scaled up, preserving node sizes, until nodes no
+longer overlap. The latter technique removes overlaps while preserving
+symmetry and structure, while the former removes overlaps more compactly
+but destroys symmetries.
+If mode is \fI"true"\fP (the default), no repositioning is done.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fItwopi\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fInodename\fR. Specifies the name of a node occurring in the
+root block. If the graph is disconnected, the \fBroot\fP node attribute
+can be used to specify additional root blocks.
+.PP
+\fBmindist=\fIvalue\fR. Sets the minimum separation between all nodes. If not
+specified then \fIcirco\fP uses a default value of 1.0.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fIcirco\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBK=\fIval\fR. Sets the default ideal node separation
+in the layout.
+.PP
+\fBmaxiter=\fIval\fR. Sets the maximum number of iterations used to
+layout the graph.
+.PP
+\fBstart=\fIval\fR. Adjusts the random initial placement of nodes
+with no specified position. If \fIval\fP is is an integer,
+it is used as the seed for the random number generator.
+If \fIval\fP is not an integer, a random system\(hygenerated integer,
+such as the process ID or current time, is used as the seed.
+.PP
+\fBsplines=\fIval\fR. If \fIval\fR is "true", edges are drawn
+as splines to avoid nodes. By default, edges are draw as line segments.
+.PP
+
+.SH "NODE ATTRIBUTES"
+.PP
+\fBheight=\fId\fR or \fBwidth=\fId\fR sets minimum height or width.
+Adding \fBfixedsize=true\fP forces these to be the actual size
+(text labels are ignored).
+.PP
+\fBshape=record polygon epsf \fIbuiltin_polygon\fR
+.br
+\fIbuiltin_polygon\fR is one of: \fBplaintext ellipse oval circle egg
+triangle box diamond trapezium parallelogram house hexagon octagon
+note tab box3d component.\fR
+(Polygons are defined or modified by the following node attributes:
+\fBregular\fR, \fBperipheries\fR, \fBsides\fR, \fBorientation\fR,
+\fBdistortion\fR and \fBskew\fR.) \fBepsf\fR uses the node's
+\fBshapefile\fR attribute as the path name of an external
+EPSF file to be automatically loaded for the node shape.
+.PP
+\fBlabel=\fItext\fR where \fItext\fP may include escaped newlines
+\\\|n, \\\|l, or \\\|r for center, left, and right justified lines.
+The string '\\N' value will be replaced by the node name.
+Record labels may contain recursive box lists delimited by { | }.
+Port identifiers in labels are set off by angle brackets < >.
+In the graph file, use colon (such as, \fBnode0:port28\fR).
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBcolor=\fIcolorvalue\fR sets the outline color, and the default fill color
+if style=filled and \fBfillcolor\fR is not specified.
+.PP
+\fBfillcolor=\fIcolorvalue\fR sets the fill color
+when style=filled. If not specified, the fillcolor when style=filled defaults
+to be the same as the outline color.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+A \fIcolorvalue\fP may be "\fIh,s,v\fB"\fR (hue, saturation, brightness)
+floating point numbers between 0 and 1, or an X11 color name such as
+\fBwhite black red green blue yellow magenta cyan\fR or \fBburlywood\fR,
+or a "\fI#rrggbb" (red, green, blue, 2 hex characters each) value.
+.PP
+\fBstyle=filled solid dashed dotted bold invis\fP or any Postscript code.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the node's active layers.
+The empty string means no layers (invisible).
+.PP
+The following attributes apply only to polygon shape nodes:
+.PP
+\fBregular=\fIn\fR if \fIn\fR is non\(hyzero then the polygon is made
+regular, i.e. symmetric about the x and y axis, otherwise the
+polygon takes on the aspect ratio of the label.
+\fIbuiltin_polygons\fR that are not already regular are made regular
+by this attribute.
+\fIbuiltin_polygons\fR that are already regular are not affected (i.e.
+they cannot be made asymmetric).
+.PP
+\fBperipheries=\fIn\fR sets the number of periphery lines drawn around
+the polygon. This value supersedes the number of periphery lines
+of \fIbuiltin_polygons\fR.
+.PP
+\fBsides=\fIn\fR sets the number of sides to the polygon. \fIn\fR<3
+results in an ellipse.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBorientation=\fIf\fR sets the orientation of the first apex of the
+polygon counterclockwise from the vertical, in degrees.
+\fIf\fR may be a floating point number.
+The orientation of labels is not affected by this attribute.
+This attribute is added to the initial orientation of \fIbuiltin_polygons.\fR
+.PP
+\fBdistortion=\fIf\fR sets the amount of broadening of the top and
+narrowing of the bottom of the polygon (relative to its orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBskew=\fIf\fR sets the amount of right\(hydisplacement of the top and
+left\(hydisplacement of the bottom of the polygon (relative to its
+orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL.
+The target string is used to determine which window of the browser is used
+for the URL. Setting it to "_graphviz" will open a new window if it doesn't
+already exist, or reuse it if it does.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL. The tooltip string defaults to be the
+same as the label string, but this attribute permits nodes without
+labels to still have tooltips thus permitting denser graphs.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fItrue/false\fR. This specifies that the block containing the given
+node be treated as the root of the spanning tree in the layout.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBpin=\fIval\fR. If \fIval\fR is "true", the node will remain at
+its initial position.
+
+.SH "EDGE ATTRIBUTES"
+\fBminlen=\fIn\fR where \fIn\fP is an integer factor that applies
+to the edge length (ranks for normal edges, or minimum node separation
+for flat edges).
+.PP
+\fBweight=\fIn\fR where \fIn\fP is the integer cost of the edge.
+Values greater than 1 tend to shorten the edge. Weight 0 flat
+edges are ignored for ordering nodes.
+.PP
+\fBlabel=\fItext\fR where \fItext\fR may include escaped newlines
+\\\|n, \\\|l, or \\\|r for centered, left, or right justified lines.
+If the substring '\\T' is found in a label it will be replaced by the tail_node name.
+If the substring '\\H' is found in a label it will be replaced by the head_node name.
+If the substring '\\E' value is found in a label it will be replaced by: tail_node_name\->head_node_name
+or by: tail_node_name\-\-head_node_name for undirected graphs.
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+\fBstyle=solid dashed dotted bold invis\fP
+.PP
+\fBcolor=\fIcolorvalue\fR sets the line color for edges.
+.PP
+\fBcolor=\fIcolorvaluelist\fR a ':' separated list of \fIcolorvalue\fR creates
+parallel edges, one edge for each color.
+.PP
+\fBdir=forward back both none\fP controls arrow direction.
+.PP
+\fBtailclip,headclip=false\fP disables endpoint shape clipping.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edges have a URL.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when edges have a URL. The tooltip string defaults to be the
+same as the edge label string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBarrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot,
+tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow\fP.
+.PP
+\fBarrowsize\fP (norm_length=10,norm_width=5,
+inv_length=6,inv_width=7,dot_radius=2)
+.PP
+\fBheadlabel,taillabel=string\fP for port labels.
+\fBlabelfontcolor\fP,\fBlabelfontname\fP,\fBlabelfontsize\fP
+for head and tail labels.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadhref=\fI"url"\fR sets the url for the head port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadURL=\fI"url"\fR ("headURL" is a synonym for "headhref".)
+.PP
+\fBheadtarget=\fI"headtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge heads have a URL.
+The headtarget string is used to determine which window of the browser is used
+for the URL. If the headtarget string is empty, the default,
+then headtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when head ports have a URL. The tooltip string defaults to be the
+same as the headlabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailhref=\fI"url"\fR sets the url for the tail port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailURL=\fI"url"\fR ("tailURL" is a synonym for "tailhref".)
+.PP
+\fBtailtarget=\fI"tailtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge tails have a URL.
+The tailtarget string is used to determine which window of the browser is used
+for the URL. If the tailtarget string is empty, the default,
+then tailtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when tail ports have a URL. The tooltip string defaults to be the
+same as the taillabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBlabeldistance\fP and \fPport_label_distance\fP set distance; also
+\fBlabelangle\fP (in degrees CCW)
+.PP
+\fBdecorate\fP draws line from edge to label.
+.PP
+\fBsamehead,sametail\fP aim edges having the same value to the
+same port, using the average landing point.
+.PP
+\fBconstraint=false\fP causes an edge to be ignored for rank assignment.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the edgess active layers.
+The empty string means no layers (invisible).
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBw=\fIf\fR sets the weight (spring constant) of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.PP
+\fBlen=\fIf\fR sets the optimal length of an edge.
+The default is 1.0.
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBweight=\fIf\fR sets the weight of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.SH "COMMAND LINE OPTIONS"
+\fB\-G\fP sets a default graph attribute.
+.br
+\fB\-N\fP sets a default node attribute.
+.br
+\fB\-E\fP sets a default edge attribute.
+Example: \fB\-Gsize="7,8" \-Nshape=box \-Efontsize=8\fR
+.PP
+\fB\-l\fIfile\fR loads custom PostScript library files.
+Usually these define custom shapes or styles.
+If \fB\-l\fP is given by itself, the standard library is omitted.
+.PP
+\fB\-T\fIlang\fR sets the output language as described above.
+
+.PP
+\fB\-n\fR[\fB1\fR|\fB2\fR] (no\(hyop)
+If set, neato assumes nodes have already been positioned and all
+nodes have a pos attribute giving the positions.
+It then performs an optional adjustment to remove node\(hynode overlap,
+depending on the value of the overlap attribute,
+computes the edge layouts, depending on the value of the \fBsplines\fR attribute,
+and emits the graph in the appropriate format.
+If num is supplied, the following actions occur:
+.nf
+ num = 1
+.fi
+Equivalent to \-n.
+.nf
+ num > 1
+.fi
+Use node positions as specified,
+with no adjustment to remove node\(hynode overlaps,
+and use any edge layouts already specified by the pos attribute.
+neato computes an edge layout for any edge that does not have a pos attribute.
+As usual, edge layout is guided by the \fBsplines\fR attribute.
+.PP
+\fB\-v\fP (verbose) prints delta energy every 100th iteration.
+.PP
+\fB\-V\fP (version) prints version information and exits.
+.PP
+\fB\-?\fP prints the usage and exits.
+.SH "EXAMPLES"
+.nf
+digraph test123 {
+ a \-> b \-> c;
+ a \-> {x y};
+ b [shape=box];
+ c [label="hello\\\|nworld",color=blue,fontsize=24,
+ fontname="Palatino\-Italic",fontcolor=red,style=filled];
+ a \-> z [label="hi", weight=100];
+ x \-> z [label="multi\-line\\\|nlabel"];
+ edge [style=dashed,color=red];
+ b \-> x;
+ {rank=same; b x}
+}
+.fi
+.PP
+.nf
+graph test123 {
+ a \-\- b \-\- c;
+ a \-\- {x y};
+ x \-\- c [w=10.0];
+ x \-\- y [w=5.0,len=3];
+}
+.fi
+.SH "CAVEATS"
+Edge splines can overlap unintentionally.
+.PP
+Flat edge labels are slightly broken.
+Intercluster edge labels are totally broken.
+.PP
+Because unconstrained optimization is employed, node boxes can
+possibly overlap or touch unrelated edges. All existing
+spring embedders seem to have this limitation.
+.PP
+Apparently reasonable attempts to pin nodes or adjust edge lengths
+and weights can cause instability.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.br
+John C. Ellson <ellson@research.att.com>
+.PP
+The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>
+.PP
+The Truetype font renderer is from
+the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg)
+(who can be contacted at freetype\-devel@lists.lrz\-muenchen.de).
+.SH "SEE ALSO"
+This man page contains only a small amount of the information related
+to the Graphviz layout programs. The most complete information can be
+found at http://www.graphviz.org/Documentation.php, especially in the
+on\(hyline reference pages. Most of these documents are also available in the
+\fIdoc\fP and \fIdoc/info\fP subtrees in the source and binary distributions.
+.PP
+dotty(1)
+.br
+tcldot(n)
+.br
+xcolors(1)
+.br
+libgraph(3)
+.PP
+E. R. Gansner, S. C. North, K. P. Vo, "DAG \(hy A Program to Draw Directed Graphs", Software \(hy Practice and Experience 17(1), 1988, pp. 1047\(hy1062.
+.br
+E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, "A Technique for Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214\(hy230.
+.br
+S. North and E. Koutsofios, "Applications of graph visualization",
+Graphics Interface 94, pp. 234\(hy245.
+.br
+E. Koutsofios and S. C. North, "Drawing Graphs with dot,"
+Available on research.att.com in dist/drawdag/dotguide.ps.Z.
+.br
+S. C. North, "NEATO User's Manual".
+Available on research.att.com in dist/drawdag/neatodoc.ps.Z.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dijkstra.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dijkstra.1
new file mode 100644
index 0000000..4fceaf5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dijkstra.1
@@ -0,0 +1,59 @@
+.TH DIJKSTRA 1 "21 March 2001"
+.SH NAME
+dijkstra \- single-source distance filter
+.SH SYNOPSIS
+.B dijkstra
+[
+.B \-a?
+]
+[
+.I sourcenode file
+]
+.SH DESCRIPTION
+.B dijkstra
+reads a stream of graphs and for each computes the distance of every
+node from
+.I sourcenode.
+Edge length is given in the
+.I len
+attribute, and the default is 1. The
+.I dist
+attribute of every node is set to its distance from
+.I sourcenode.
+The graph attribute
+.I maxdist
+is set to the maximum
+.I dist
+of all nodes in the graph.
+.P
+By default, if the graph is disconnected, the
+.I dist
+attribute of nodes unreachable from
+.I sourcenode
+are left untouched, and
+.I maxdist
+is set to the maximum of any previous value and the largest
+distance recorded in this run. On the other hand, if
+the \fB-a\fP flag is used, the
+.I dist
+attribute of an unreachable node is assigned a very large value,
+and
+.I maxdist
+records the maximum distance found in the component containing
+.I sourcenode.
+.P
+Any number of
+.I sourcenode file
+pairs may be given.
+If the last
+.I file
+is missing, \fBstdin\fP is used.
+All output is written to \fBstdout\fP.
+.P
+In a typical application,
+.I dist
+and
+.I maxdist
+can drive a downstream calculation of color or some other attribute.
+.SH "SEE ALSO"
+gvpr(1), gvcolor(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dot.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dot.1
new file mode 100644
index 0000000..6ef258f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dot.1
@@ -0,0 +1,669 @@
+.TH DOT 1 "23 August 2004" \*(eX
+.SH NAME
+dot \- filter for drawing directed graphs
+.br
+neato \- filter for drawing undirected graphs
+.br
+twopi \- filter for radial layouts of graphs
+.br
+circo \- filter for circular layout of graphs
+.br
+fdp \- filter for drawing undirected graphs
+.SH SYNOPSIS
+\fBdot\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBneato\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-n\fR[\fB1\fR|\fB2\fR]]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBtwopi\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBcirco\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBfdp\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.SH DESCRIPTION
+.I dot
+draws directed graphs. It works well on DAGs and other graphs
+that can be drawn as hierarchies.
+It reads attributed graph files and writes drawings.
+By default, the output format
+.I dot
+is the input file with layout coordinates appended.
+.PP
+.I neato
+draws undirected graphs using ``spring'' models (see Kamada and Kawai,
+Information Processing Letters 31:1, April 1989). Input files must be
+formatted in the
+.I dot
+attributed graph language.
+By default, the output of
+.I neato
+is the input graph with layout coordinates appended.
+.PP
+.I twopi
+draws graphs using a radial layout (see G. Wills,
+Symposium on Graph Drawing GD'97, September, 1997).
+Basically, one node is chosen as the center and put at the origin.
+The remaining nodes are placed on a sequence of concentric circles
+centered about the origin, each a fixed radial distance from the
+previous circle.
+All nodes distance 1 from the center are placed on the first circle;
+all nodes distance 1 from a node on the first circle are placed on
+the second circle; and so forth.
+.PP
+.I circo
+draws graphs using a circular layout (see
+Six and Tollis, GD '99 and ALENEX '99, and
+Kaufmann and Wiese, GD '02.)
+The tool identifies biconnected components and draws the nodes of
+the component on a circle. The block\(hycutpoint tree
+is then laid out using a recursive radial algorithm. Edge
+crossings within a circle are minimized by placing as many edges on
+the circle's perimeter as possible.
+In particular, if the component is outerplanar, the component will
+have a planar layout.
+.PP
+If a node belongs to multiple non\(hytrivial biconnected components,
+the layout puts the node in one of them. By default, this is the first
+non\(hytrivial component found in the search from the root component.
+.PP
+.I fdp
+draws undirected graphs using a ``spring'' model. It relies on a
+force\(hydirected approach in the spirit of Fruchterman and Reingold
+(cf. Software\(hyPractice & Experience 21(11), 1991, pp. 1129\(hy1164).
+.SH OUTPUT FORMATS
+Dot uses an extensible plugin mechanism for its output renderers,
+so to see what output formats your installation of dot supports
+you can use ``dot \-Txxx'' (where xxx is an unlikely format)
+and check the warning message.
+Also, The plugin mechanism supports multiple implementations
+of the output formats.
+To see what variants are available, use, for example: ``dot \-Tpng:''
+and to force a particular variant, use, for example: ``dot \-Tpng:gd''
+.P
+Traditionally, dot supports the following:
+\fB\-Tps\fP (PostScript),
+\fB\-Tsvg\fP \fB\-Tsvgz\fP (Structured Vector Graphics),
+\fB\-Tfig\fP (XFIG graphics),
+\fB\-Tmif\fP (FrameMaker graphics),
+\fB\-Thpgl\fP (HP pen plotters), and \fB\-Tpcl\fP (Laserjet printers),
+\fB\-Tpng\fP \fB\-Tgif\fP (bitmap graphics),
+\fB\-Tdia\fP (GTK+ based diagrams),
+\fB\-Timap\fP (imagemap files for httpd servers for each node or edge
+that has a non(hynull "href" attribute.),
+\fB\-Tcmapx\fP (client\(hyside imagemap for use in html and xhtml).
+Additional less common or more special\(hypurpose output formats
+can be found at http://www.graphviz.org/cvs/doc/info/output.html.)
+.SH GRAPH FILE LANGUAGE
+Here is a synopsis of the graph file language, traditionally using the extension \fB.dot\fR, for graphs:
+.PP
+[\fBstrict\fR] (\fBgraph\fR|\fBdigraph\fR) \fIname\fP { \fIstatement\(hylist\fP }\fR
+.br
+Is the top level graph. If the graph is \fBstrict\fR then multiple edges are
+not allowed between the same pairs of nodes.
+If it is a directed graph, indicated by \fBdigraph\fR,
+then the \fIedgeop\fR must be "\->". If it is an undirected \fBgraph\fR
+then the \fIedgeop\fR must be "\-\-".
+Statements may be:
+.PP
+\fIname\fB=\fIval\fB;\fR
+.br
+\fBnode [\fIname\fB=\fIval\fB];\fR
+.br
+\fBedge [\fIname\fB=\fIval\fB];\fR
+.br
+Set default graph, node, or edge attribute \fIname\fP to \fIval\fP.
+Any subgraph, node, or edge appearing after this inherits the new
+default attributes.
+.PP
+\fBn0 [\fIname0=val0,name1=val1,...\fB];\fR
+Creates node \fBn0\fP (if it does not already exist)
+and sets its attributes according to the optional list.
+.PP
+\fBn0 \fIedgeop\fR n1 \fIedgeop\fR \fI...\fB \fIedgeop\fR nn [\fIname0=val0,name1=val1,...\fB];\fR
+.br
+Creates edges between nodes \fBn0\fP, \fBn1\fP, ..., \fBnn\fP and sets
+their attributes according to the optional list.
+Creates nodes as necessary.
+.PP
+[\fBsubgraph \fIname\fB] { \fIstatement\(hylist \fB}\fR
+.br
+Creates a subgraph. Subgraphs may be used in place
+of \fBn0\fP, ..., \fBnn\fP in the above statements to create edges.
+[\fBsubgraph \fIname\fR] is optional;
+if missing, the subgraph is assigned an internal name.
+.PP
+Comments may be /*C\(hylike*/ or //C++\(hylike.
+
+.PP
+Attribute names and values are ordinary (C\(hystyle) strings.
+The following sections describe attributes that control graph layout.
+
+.SH "GRAPH ATTRIBUTES"
+.PP
+\fBsize="\fIx,y\fP"\fR sets bounding box of drawing in inches.
+.PP
+\fBpage="\fIx,y\fP"\fR sets the PostScript pagination unit.
+.PP
+\fBratio=\fIf\fR sets the aspect ratio to \fIf\fP which may be
+a floating point number, or one of the keywords \fBfill\fP,
+\fBcompress\fP, or \fBauto\fP.
+.PP
+\fBmargin=\fIf\fR sets the page margin (included in the page size).
+.PP
+\fBnodesep=\fIf\fR sets the minimum separation between nodes.
+.PP
+\fBranksep=\fIf\fR sets the minimum separation between ranks.
+.PP
+\fBordering=out\fR constrains order of out\(hyedges in a subgraph
+according to their file sequence.
+.PP
+\fBrankdir=LR|RL|BT\fR requests a left\(hyto\(hyright, right\(hyto\(hyleft, or bottom\(hyto\(hytop, drawing.
+.PP
+\fBpagedir=\fR[TBLR][TBLR] sets the major and minor order of pagination.
+.PP
+\fBrank=same\fR (or \fBmin\fP or \fBmax\fP) in a subgraph
+constrains the rank assignment of its nodes. If a subgraph's
+name has the prefix \fBcluster\fP, its nodes are drawn in
+a distinct rectangle of the layout. Clusters may be nested.
+.PP
+\fBrotate=90\fR sets landscape mode.
+(\fBorientation=land\fR is backward compatible but obsolete.)
+.PP
+\fBcenter=\fIn\fR a non\(hyzero value centers the drawing on the page.
+.PP
+\fBnslimit=\fIf\fR or \fBmclimit=\fIf\fR adjusts the bound on the
+number of network simplex or mincross iterations by the given ratio.
+For example, \fBmclimit=2.0\fP runs twice as long.
+.PP
+\fBlayers="\fIid:id:id:id\fR" is a sequence of layer identifiers for
+overlay diagrams. The PostScript array variable \fIlayercolorseq\fR
+sets the assignment of colors to layers. The least index is 1 and
+each element must be a 3\(hyelement array to be interpreted as a color coordinate.
+.PP
+\fBcolor=\fIcolorvalue\fR sets foreground color (\fBbgcolor\fP for background).
+.PP
+\fBhref=\fI"url"\fR the default url for image map files; in PostScript files,
+the base URL for all relative URLs, as recognized by Acrobat Distiller
+3.0 and up.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBstylesheet=\fI"file.css"\fR includes a reference to a stylesheet
+in \-Tsvg and \-Tsvgz outputs. Ignored by other formats.
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBstart=\fIval\fR. Requests random initial placement and seeds
+the random number generator. If \fIval\fP is not an integer,
+the process ID or current time is used as the seed.
+.PP
+\fBepsilon=\fIn\fR. Sets the cutoff for the solver.
+The default is 0.1.
+.PP
+\fBsplines=\fIboolean\fR. Setting this to \fItrue\fR causes edges to be
+drawn as splines if nodes don't overlap. The default is \fIfalse\fR.
+
+.PP
+\fB(twopi\(hyspecific attributes)\fR
+.br
+\fBroot=\fIctr\fR. This specifies the node to be used as the center of
+the layout. If not specified, \fItwopi\fP will randomly pick one of the
+nodes that are furthest from a leaf node, where a leaf node is a node
+of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.
+.PP
+\fBranksep=\fIval\fR. Specifies the radial distance in inches between
+the sequence of rings. The default is 0.75.
+.PP
+\fBoverlap=\fImode\fR. This specifies what \fItwopi\fP should do if
+any nodes overlap. If mode is \fI"false"\fP, the program uses Voronoi
+diagrams to adjust the nodes to eliminate overlaps. If mode is \fI"scale"\fP,
+the layout is uniformly scaled up, preserving node sizes, until nodes no
+longer overlap. The latter technique removes overlaps while preserving
+symmetry and structure, while the former removes overlaps more compactly
+but destroys symmetries.
+If mode is \fI"true"\fP (the default), no repositioning is done.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fItwopi\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fInodename\fR. Specifies the name of a node occurring in the
+root block. If the graph is disconnected, the \fBroot\fP node attribute
+can be used to specify additional root blocks.
+.PP
+\fBmindist=\fIvalue\fR. Sets the minimum separation between all nodes. If not
+specified then \fIcirco\fP uses a default value of 1.0.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fIcirco\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBK=\fIval\fR. Sets the default ideal node separation
+in the layout.
+.PP
+\fBmaxiter=\fIval\fR. Sets the maximum number of iterations used to
+layout the graph.
+.PP
+\fBstart=\fIval\fR. Adjusts the random initial placement of nodes
+with no specified position. If \fIval\fP is is an integer,
+it is used as the seed for the random number generator.
+If \fIval\fP is not an integer, a random system\(hygenerated integer,
+such as the process ID or current time, is used as the seed.
+.PP
+\fBsplines=\fIval\fR. If \fIval\fR is "true", edges are drawn
+as splines to avoid nodes. By default, edges are draw as line segments.
+.PP
+
+.SH "NODE ATTRIBUTES"
+.PP
+\fBheight=\fId\fR or \fBwidth=\fId\fR sets minimum height or width.
+Adding \fBfixedsize=true\fP forces these to be the actual size
+(text labels are ignored).
+.PP
+\fBshape=record polygon epsf \fIbuiltin_polygon\fR
+.br
+\fIbuiltin_polygon\fR is one of: \fBplaintext ellipse oval circle egg
+triangle box diamond trapezium parallelogram house hexagon octagon
+note tab box3d component.\fR
+(Polygons are defined or modified by the following node attributes:
+\fBregular\fR, \fBperipheries\fR, \fBsides\fR, \fBorientation\fR,
+\fBdistortion\fR and \fBskew\fR.) \fBepsf\fR uses the node's
+\fBshapefile\fR attribute as the path name of an external
+EPSF file to be automatically loaded for the node shape.
+.PP
+\fBlabel=\fItext\fR where \fItext\fP may include escaped newlines
+\\\|n, \\\|l, or \\\|r for center, left, and right justified lines.
+The string '\\N' value will be replaced by the node name.
+Record labels may contain recursive box lists delimited by { | }.
+Port identifiers in labels are set off by angle brackets < >.
+In the graph file, use colon (such as, \fBnode0:port28\fR).
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBcolor=\fIcolorvalue\fR sets the outline color, and the default fill color
+if style=filled and \fBfillcolor\fR is not specified.
+.PP
+\fBfillcolor=\fIcolorvalue\fR sets the fill color
+when style=filled. If not specified, the fillcolor when style=filled defaults
+to be the same as the outline color.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+A \fIcolorvalue\fP may be "\fIh,s,v\fB"\fR (hue, saturation, brightness)
+floating point numbers between 0 and 1, or an X11 color name such as
+\fBwhite black red green blue yellow magenta cyan\fR or \fBburlywood\fR,
+or a "\fI#rrggbb" (red, green, blue, 2 hex characters each) value.
+.PP
+\fBstyle=filled solid dashed dotted bold invis\fP or any Postscript code.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the node's active layers.
+The empty string means no layers (invisible).
+.PP
+The following attributes apply only to polygon shape nodes:
+.PP
+\fBregular=\fIn\fR if \fIn\fR is non\(hyzero then the polygon is made
+regular, i.e. symmetric about the x and y axis, otherwise the
+polygon takes on the aspect ratio of the label.
+\fIbuiltin_polygons\fR that are not already regular are made regular
+by this attribute.
+\fIbuiltin_polygons\fR that are already regular are not affected (i.e.
+they cannot be made asymmetric).
+.PP
+\fBperipheries=\fIn\fR sets the number of periphery lines drawn around
+the polygon. This value supersedes the number of periphery lines
+of \fIbuiltin_polygons\fR.
+.PP
+\fBsides=\fIn\fR sets the number of sides to the polygon. \fIn\fR<3
+results in an ellipse.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBorientation=\fIf\fR sets the orientation of the first apex of the
+polygon counterclockwise from the vertical, in degrees.
+\fIf\fR may be a floating point number.
+The orientation of labels is not affected by this attribute.
+This attribute is added to the initial orientation of \fIbuiltin_polygons.\fR
+.PP
+\fBdistortion=\fIf\fR sets the amount of broadening of the top and
+narrowing of the bottom of the polygon (relative to its orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBskew=\fIf\fR sets the amount of right\(hydisplacement of the top and
+left\(hydisplacement of the bottom of the polygon (relative to its
+orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL.
+The target string is used to determine which window of the browser is used
+for the URL. Setting it to "_graphviz" will open a new window if it doesn't
+already exist, or reuse it if it does.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL. The tooltip string defaults to be the
+same as the label string, but this attribute permits nodes without
+labels to still have tooltips thus permitting denser graphs.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fItrue/false\fR. This specifies that the block containing the given
+node be treated as the root of the spanning tree in the layout.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBpin=\fIval\fR. If \fIval\fR is "true", the node will remain at
+its initial position.
+
+.SH "EDGE ATTRIBUTES"
+\fBminlen=\fIn\fR where \fIn\fP is an integer factor that applies
+to the edge length (ranks for normal edges, or minimum node separation
+for flat edges).
+.PP
+\fBweight=\fIn\fR where \fIn\fP is the integer cost of the edge.
+Values greater than 1 tend to shorten the edge. Weight 0 flat
+edges are ignored for ordering nodes.
+.PP
+\fBlabel=\fItext\fR where \fItext\fR may include escaped newlines
+\\\|n, \\\|l, or \\\|r for centered, left, or right justified lines.
+If the substring '\\T' is found in a label it will be replaced by the tail_node name.
+If the substring '\\H' is found in a label it will be replaced by the head_node name.
+If the substring '\\E' value is found in a label it will be replaced by: tail_node_name\->head_node_name
+or by: tail_node_name\-\-head_node_name for undirected graphs.
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+\fBstyle=solid dashed dotted bold invis\fP
+.PP
+\fBcolor=\fIcolorvalue\fR sets the line color for edges.
+.PP
+\fBcolor=\fIcolorvaluelist\fR a ':' separated list of \fIcolorvalue\fR creates
+parallel edges, one edge for each color.
+.PP
+\fBdir=forward back both none\fP controls arrow direction.
+.PP
+\fBtailclip,headclip=false\fP disables endpoint shape clipping.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edges have a URL.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when edges have a URL. The tooltip string defaults to be the
+same as the edge label string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBarrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot,
+tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow\fP.
+.PP
+\fBarrowsize\fP (norm_length=10,norm_width=5,
+inv_length=6,inv_width=7,dot_radius=2)
+.PP
+\fBheadlabel,taillabel=string\fP for port labels.
+\fBlabelfontcolor\fP,\fBlabelfontname\fP,\fBlabelfontsize\fP
+for head and tail labels.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadhref=\fI"url"\fR sets the url for the head port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadURL=\fI"url"\fR ("headURL" is a synonym for "headhref".)
+.PP
+\fBheadtarget=\fI"headtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge heads have a URL.
+The headtarget string is used to determine which window of the browser is used
+for the URL. If the headtarget string is empty, the default,
+then headtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when head ports have a URL. The tooltip string defaults to be the
+same as the headlabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailhref=\fI"url"\fR sets the url for the tail port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailURL=\fI"url"\fR ("tailURL" is a synonym for "tailhref".)
+.PP
+\fBtailtarget=\fI"tailtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge tails have a URL.
+The tailtarget string is used to determine which window of the browser is used
+for the URL. If the tailtarget string is empty, the default,
+then tailtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when tail ports have a URL. The tooltip string defaults to be the
+same as the taillabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBlabeldistance\fP and \fPport_label_distance\fP set distance; also
+\fBlabelangle\fP (in degrees CCW)
+.PP
+\fBdecorate\fP draws line from edge to label.
+.PP
+\fBsamehead,sametail\fP aim edges having the same value to the
+same port, using the average landing point.
+.PP
+\fBconstraint=false\fP causes an edge to be ignored for rank assignment.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the edgess active layers.
+The empty string means no layers (invisible).
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBw=\fIf\fR sets the weight (spring constant) of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.PP
+\fBlen=\fIf\fR sets the optimal length of an edge.
+The default is 1.0.
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBweight=\fIf\fR sets the weight of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.SH "COMMAND LINE OPTIONS"
+\fB\-G\fP sets a default graph attribute.
+.br
+\fB\-N\fP sets a default node attribute.
+.br
+\fB\-E\fP sets a default edge attribute.
+Example: \fB\-Gsize="7,8" \-Nshape=box \-Efontsize=8\fR
+.PP
+\fB\-l\fIfile\fR loads custom PostScript library files.
+Usually these define custom shapes or styles.
+If \fB\-l\fP is given by itself, the standard library is omitted.
+.PP
+\fB\-T\fIlang\fR sets the output language as described above.
+
+.PP
+\fB\-n\fR[\fB1\fR|\fB2\fR] (no\(hyop)
+If set, neato assumes nodes have already been positioned and all
+nodes have a pos attribute giving the positions.
+It then performs an optional adjustment to remove node\(hynode overlap,
+depending on the value of the overlap attribute,
+computes the edge layouts, depending on the value of the \fBsplines\fR attribute,
+and emits the graph in the appropriate format.
+If num is supplied, the following actions occur:
+.nf
+ num = 1
+.fi
+Equivalent to \-n.
+.nf
+ num > 1
+.fi
+Use node positions as specified,
+with no adjustment to remove node\(hynode overlaps,
+and use any edge layouts already specified by the pos attribute.
+neato computes an edge layout for any edge that does not have a pos attribute.
+As usual, edge layout is guided by the \fBsplines\fR attribute.
+.PP
+\fB\-v\fP (verbose) prints delta energy every 100th iteration.
+.PP
+\fB\-V\fP (version) prints version information and exits.
+.PP
+\fB\-?\fP prints the usage and exits.
+.SH "EXAMPLES"
+.nf
+digraph test123 {
+ a \-> b \-> c;
+ a \-> {x y};
+ b [shape=box];
+ c [label="hello\\\|nworld",color=blue,fontsize=24,
+ fontname="Palatino\-Italic",fontcolor=red,style=filled];
+ a \-> z [label="hi", weight=100];
+ x \-> z [label="multi\-line\\\|nlabel"];
+ edge [style=dashed,color=red];
+ b \-> x;
+ {rank=same; b x}
+}
+.fi
+.PP
+.nf
+graph test123 {
+ a \-\- b \-\- c;
+ a \-\- {x y};
+ x \-\- c [w=10.0];
+ x \-\- y [w=5.0,len=3];
+}
+.fi
+.SH "CAVEATS"
+Edge splines can overlap unintentionally.
+.PP
+Flat edge labels are slightly broken.
+Intercluster edge labels are totally broken.
+.PP
+Because unconstrained optimization is employed, node boxes can
+possibly overlap or touch unrelated edges. All existing
+spring embedders seem to have this limitation.
+.PP
+Apparently reasonable attempts to pin nodes or adjust edge lengths
+and weights can cause instability.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.br
+John C. Ellson <ellson@research.att.com>
+.PP
+The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>
+.PP
+The Truetype font renderer is from
+the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg)
+(who can be contacted at freetype\-devel@lists.lrz\-muenchen.de).
+.SH "SEE ALSO"
+This man page contains only a small amount of the information related
+to the Graphviz layout programs. The most complete information can be
+found at http://www.graphviz.org/Documentation.php, especially in the
+on\(hyline reference pages. Most of these documents are also available in the
+\fIdoc\fP and \fIdoc/info\fP subtrees in the source and binary distributions.
+.PP
+dotty(1)
+.br
+tcldot(n)
+.br
+xcolors(1)
+.br
+libgraph(3)
+.PP
+E. R. Gansner, S. C. North, K. P. Vo, "DAG \(hy A Program to Draw Directed Graphs", Software \(hy Practice and Experience 17(1), 1988, pp. 1047\(hy1062.
+.br
+E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, "A Technique for Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214\(hy230.
+.br
+S. North and E. Koutsofios, "Applications of graph visualization",
+Graphics Interface 94, pp. 234\(hy245.
+.br
+E. Koutsofios and S. C. North, "Drawing Graphs with dot,"
+Available on research.att.com in dist/drawdag/dotguide.ps.Z.
+.br
+S. C. North, "NEATO User's Manual".
+Available on research.att.com in dist/drawdag/neatodoc.ps.Z.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dotty.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dotty.1
new file mode 100644
index 0000000..996e661
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dotty.1
@@ -0,0 +1,49 @@
+.TH DOTTY 1
+.SH NAME
+dotty \- A Customizable Graph Editor
+.SH SYNOPSIS
+.B dotty
+[
+.B -V
+] [
+.I file
+]
+.SH DESCRIPTION
+.B dotty
+is a graph editor for the X Window System. It may be run as a standalone
+editor, or as a front end for applications that use graphs. It can control
+multiple windows viewing different graphs.
+
+.B dotty
+is written on top of
+.B dot
+and
+.BR lefty .
+.B lefty
+is a general-purpose programmable editor for technical pictures. It has an
+interpretive programming language similar to AWK and C. The user interface and
+graph editing operations of
+.B dotty
+are written as
+.B lefty
+functions.
+Programmer-defined graph operations may be loaded as well. Graph layouts are
+made by
+.BR dot ,
+which runs as a separate process that communicates with
+.B lefty
+through pipes.
+.SH USAGE
+The file name is optional. If present, the graph contained in that file is
+displayed in the
+.B dotty
+window.
+.SH OPTIONS
+.TP
+.B -V
+Prints the version.
+.SH SEE ALSO
+dot(1), lefty(1)
+.br
+.I dotty
+user guide.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/fdp.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/fdp.1
new file mode 100644
index 0000000..6ef258f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/fdp.1
@@ -0,0 +1,669 @@
+.TH DOT 1 "23 August 2004" \*(eX
+.SH NAME
+dot \- filter for drawing directed graphs
+.br
+neato \- filter for drawing undirected graphs
+.br
+twopi \- filter for radial layouts of graphs
+.br
+circo \- filter for circular layout of graphs
+.br
+fdp \- filter for drawing undirected graphs
+.SH SYNOPSIS
+\fBdot\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBneato\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-n\fR[\fB1\fR|\fB2\fR]]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBtwopi\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBcirco\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBfdp\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.SH DESCRIPTION
+.I dot
+draws directed graphs. It works well on DAGs and other graphs
+that can be drawn as hierarchies.
+It reads attributed graph files and writes drawings.
+By default, the output format
+.I dot
+is the input file with layout coordinates appended.
+.PP
+.I neato
+draws undirected graphs using ``spring'' models (see Kamada and Kawai,
+Information Processing Letters 31:1, April 1989). Input files must be
+formatted in the
+.I dot
+attributed graph language.
+By default, the output of
+.I neato
+is the input graph with layout coordinates appended.
+.PP
+.I twopi
+draws graphs using a radial layout (see G. Wills,
+Symposium on Graph Drawing GD'97, September, 1997).
+Basically, one node is chosen as the center and put at the origin.
+The remaining nodes are placed on a sequence of concentric circles
+centered about the origin, each a fixed radial distance from the
+previous circle.
+All nodes distance 1 from the center are placed on the first circle;
+all nodes distance 1 from a node on the first circle are placed on
+the second circle; and so forth.
+.PP
+.I circo
+draws graphs using a circular layout (see
+Six and Tollis, GD '99 and ALENEX '99, and
+Kaufmann and Wiese, GD '02.)
+The tool identifies biconnected components and draws the nodes of
+the component on a circle. The block\(hycutpoint tree
+is then laid out using a recursive radial algorithm. Edge
+crossings within a circle are minimized by placing as many edges on
+the circle's perimeter as possible.
+In particular, if the component is outerplanar, the component will
+have a planar layout.
+.PP
+If a node belongs to multiple non\(hytrivial biconnected components,
+the layout puts the node in one of them. By default, this is the first
+non\(hytrivial component found in the search from the root component.
+.PP
+.I fdp
+draws undirected graphs using a ``spring'' model. It relies on a
+force\(hydirected approach in the spirit of Fruchterman and Reingold
+(cf. Software\(hyPractice & Experience 21(11), 1991, pp. 1129\(hy1164).
+.SH OUTPUT FORMATS
+Dot uses an extensible plugin mechanism for its output renderers,
+so to see what output formats your installation of dot supports
+you can use ``dot \-Txxx'' (where xxx is an unlikely format)
+and check the warning message.
+Also, The plugin mechanism supports multiple implementations
+of the output formats.
+To see what variants are available, use, for example: ``dot \-Tpng:''
+and to force a particular variant, use, for example: ``dot \-Tpng:gd''
+.P
+Traditionally, dot supports the following:
+\fB\-Tps\fP (PostScript),
+\fB\-Tsvg\fP \fB\-Tsvgz\fP (Structured Vector Graphics),
+\fB\-Tfig\fP (XFIG graphics),
+\fB\-Tmif\fP (FrameMaker graphics),
+\fB\-Thpgl\fP (HP pen plotters), and \fB\-Tpcl\fP (Laserjet printers),
+\fB\-Tpng\fP \fB\-Tgif\fP (bitmap graphics),
+\fB\-Tdia\fP (GTK+ based diagrams),
+\fB\-Timap\fP (imagemap files for httpd servers for each node or edge
+that has a non(hynull "href" attribute.),
+\fB\-Tcmapx\fP (client\(hyside imagemap for use in html and xhtml).
+Additional less common or more special\(hypurpose output formats
+can be found at http://www.graphviz.org/cvs/doc/info/output.html.)
+.SH GRAPH FILE LANGUAGE
+Here is a synopsis of the graph file language, traditionally using the extension \fB.dot\fR, for graphs:
+.PP
+[\fBstrict\fR] (\fBgraph\fR|\fBdigraph\fR) \fIname\fP { \fIstatement\(hylist\fP }\fR
+.br
+Is the top level graph. If the graph is \fBstrict\fR then multiple edges are
+not allowed between the same pairs of nodes.
+If it is a directed graph, indicated by \fBdigraph\fR,
+then the \fIedgeop\fR must be "\->". If it is an undirected \fBgraph\fR
+then the \fIedgeop\fR must be "\-\-".
+Statements may be:
+.PP
+\fIname\fB=\fIval\fB;\fR
+.br
+\fBnode [\fIname\fB=\fIval\fB];\fR
+.br
+\fBedge [\fIname\fB=\fIval\fB];\fR
+.br
+Set default graph, node, or edge attribute \fIname\fP to \fIval\fP.
+Any subgraph, node, or edge appearing after this inherits the new
+default attributes.
+.PP
+\fBn0 [\fIname0=val0,name1=val1,...\fB];\fR
+Creates node \fBn0\fP (if it does not already exist)
+and sets its attributes according to the optional list.
+.PP
+\fBn0 \fIedgeop\fR n1 \fIedgeop\fR \fI...\fB \fIedgeop\fR nn [\fIname0=val0,name1=val1,...\fB];\fR
+.br
+Creates edges between nodes \fBn0\fP, \fBn1\fP, ..., \fBnn\fP and sets
+their attributes according to the optional list.
+Creates nodes as necessary.
+.PP
+[\fBsubgraph \fIname\fB] { \fIstatement\(hylist \fB}\fR
+.br
+Creates a subgraph. Subgraphs may be used in place
+of \fBn0\fP, ..., \fBnn\fP in the above statements to create edges.
+[\fBsubgraph \fIname\fR] is optional;
+if missing, the subgraph is assigned an internal name.
+.PP
+Comments may be /*C\(hylike*/ or //C++\(hylike.
+
+.PP
+Attribute names and values are ordinary (C\(hystyle) strings.
+The following sections describe attributes that control graph layout.
+
+.SH "GRAPH ATTRIBUTES"
+.PP
+\fBsize="\fIx,y\fP"\fR sets bounding box of drawing in inches.
+.PP
+\fBpage="\fIx,y\fP"\fR sets the PostScript pagination unit.
+.PP
+\fBratio=\fIf\fR sets the aspect ratio to \fIf\fP which may be
+a floating point number, or one of the keywords \fBfill\fP,
+\fBcompress\fP, or \fBauto\fP.
+.PP
+\fBmargin=\fIf\fR sets the page margin (included in the page size).
+.PP
+\fBnodesep=\fIf\fR sets the minimum separation between nodes.
+.PP
+\fBranksep=\fIf\fR sets the minimum separation between ranks.
+.PP
+\fBordering=out\fR constrains order of out\(hyedges in a subgraph
+according to their file sequence.
+.PP
+\fBrankdir=LR|RL|BT\fR requests a left\(hyto\(hyright, right\(hyto\(hyleft, or bottom\(hyto\(hytop, drawing.
+.PP
+\fBpagedir=\fR[TBLR][TBLR] sets the major and minor order of pagination.
+.PP
+\fBrank=same\fR (or \fBmin\fP or \fBmax\fP) in a subgraph
+constrains the rank assignment of its nodes. If a subgraph's
+name has the prefix \fBcluster\fP, its nodes are drawn in
+a distinct rectangle of the layout. Clusters may be nested.
+.PP
+\fBrotate=90\fR sets landscape mode.
+(\fBorientation=land\fR is backward compatible but obsolete.)
+.PP
+\fBcenter=\fIn\fR a non\(hyzero value centers the drawing on the page.
+.PP
+\fBnslimit=\fIf\fR or \fBmclimit=\fIf\fR adjusts the bound on the
+number of network simplex or mincross iterations by the given ratio.
+For example, \fBmclimit=2.0\fP runs twice as long.
+.PP
+\fBlayers="\fIid:id:id:id\fR" is a sequence of layer identifiers for
+overlay diagrams. The PostScript array variable \fIlayercolorseq\fR
+sets the assignment of colors to layers. The least index is 1 and
+each element must be a 3\(hyelement array to be interpreted as a color coordinate.
+.PP
+\fBcolor=\fIcolorvalue\fR sets foreground color (\fBbgcolor\fP for background).
+.PP
+\fBhref=\fI"url"\fR the default url for image map files; in PostScript files,
+the base URL for all relative URLs, as recognized by Acrobat Distiller
+3.0 and up.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBstylesheet=\fI"file.css"\fR includes a reference to a stylesheet
+in \-Tsvg and \-Tsvgz outputs. Ignored by other formats.
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBstart=\fIval\fR. Requests random initial placement and seeds
+the random number generator. If \fIval\fP is not an integer,
+the process ID or current time is used as the seed.
+.PP
+\fBepsilon=\fIn\fR. Sets the cutoff for the solver.
+The default is 0.1.
+.PP
+\fBsplines=\fIboolean\fR. Setting this to \fItrue\fR causes edges to be
+drawn as splines if nodes don't overlap. The default is \fIfalse\fR.
+
+.PP
+\fB(twopi\(hyspecific attributes)\fR
+.br
+\fBroot=\fIctr\fR. This specifies the node to be used as the center of
+the layout. If not specified, \fItwopi\fP will randomly pick one of the
+nodes that are furthest from a leaf node, where a leaf node is a node
+of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.
+.PP
+\fBranksep=\fIval\fR. Specifies the radial distance in inches between
+the sequence of rings. The default is 0.75.
+.PP
+\fBoverlap=\fImode\fR. This specifies what \fItwopi\fP should do if
+any nodes overlap. If mode is \fI"false"\fP, the program uses Voronoi
+diagrams to adjust the nodes to eliminate overlaps. If mode is \fI"scale"\fP,
+the layout is uniformly scaled up, preserving node sizes, until nodes no
+longer overlap. The latter technique removes overlaps while preserving
+symmetry and structure, while the former removes overlaps more compactly
+but destroys symmetries.
+If mode is \fI"true"\fP (the default), no repositioning is done.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fItwopi\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fInodename\fR. Specifies the name of a node occurring in the
+root block. If the graph is disconnected, the \fBroot\fP node attribute
+can be used to specify additional root blocks.
+.PP
+\fBmindist=\fIvalue\fR. Sets the minimum separation between all nodes. If not
+specified then \fIcirco\fP uses a default value of 1.0.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fIcirco\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBK=\fIval\fR. Sets the default ideal node separation
+in the layout.
+.PP
+\fBmaxiter=\fIval\fR. Sets the maximum number of iterations used to
+layout the graph.
+.PP
+\fBstart=\fIval\fR. Adjusts the random initial placement of nodes
+with no specified position. If \fIval\fP is is an integer,
+it is used as the seed for the random number generator.
+If \fIval\fP is not an integer, a random system\(hygenerated integer,
+such as the process ID or current time, is used as the seed.
+.PP
+\fBsplines=\fIval\fR. If \fIval\fR is "true", edges are drawn
+as splines to avoid nodes. By default, edges are draw as line segments.
+.PP
+
+.SH "NODE ATTRIBUTES"
+.PP
+\fBheight=\fId\fR or \fBwidth=\fId\fR sets minimum height or width.
+Adding \fBfixedsize=true\fP forces these to be the actual size
+(text labels are ignored).
+.PP
+\fBshape=record polygon epsf \fIbuiltin_polygon\fR
+.br
+\fIbuiltin_polygon\fR is one of: \fBplaintext ellipse oval circle egg
+triangle box diamond trapezium parallelogram house hexagon octagon
+note tab box3d component.\fR
+(Polygons are defined or modified by the following node attributes:
+\fBregular\fR, \fBperipheries\fR, \fBsides\fR, \fBorientation\fR,
+\fBdistortion\fR and \fBskew\fR.) \fBepsf\fR uses the node's
+\fBshapefile\fR attribute as the path name of an external
+EPSF file to be automatically loaded for the node shape.
+.PP
+\fBlabel=\fItext\fR where \fItext\fP may include escaped newlines
+\\\|n, \\\|l, or \\\|r for center, left, and right justified lines.
+The string '\\N' value will be replaced by the node name.
+Record labels may contain recursive box lists delimited by { | }.
+Port identifiers in labels are set off by angle brackets < >.
+In the graph file, use colon (such as, \fBnode0:port28\fR).
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBcolor=\fIcolorvalue\fR sets the outline color, and the default fill color
+if style=filled and \fBfillcolor\fR is not specified.
+.PP
+\fBfillcolor=\fIcolorvalue\fR sets the fill color
+when style=filled. If not specified, the fillcolor when style=filled defaults
+to be the same as the outline color.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+A \fIcolorvalue\fP may be "\fIh,s,v\fB"\fR (hue, saturation, brightness)
+floating point numbers between 0 and 1, or an X11 color name such as
+\fBwhite black red green blue yellow magenta cyan\fR or \fBburlywood\fR,
+or a "\fI#rrggbb" (red, green, blue, 2 hex characters each) value.
+.PP
+\fBstyle=filled solid dashed dotted bold invis\fP or any Postscript code.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the node's active layers.
+The empty string means no layers (invisible).
+.PP
+The following attributes apply only to polygon shape nodes:
+.PP
+\fBregular=\fIn\fR if \fIn\fR is non\(hyzero then the polygon is made
+regular, i.e. symmetric about the x and y axis, otherwise the
+polygon takes on the aspect ratio of the label.
+\fIbuiltin_polygons\fR that are not already regular are made regular
+by this attribute.
+\fIbuiltin_polygons\fR that are already regular are not affected (i.e.
+they cannot be made asymmetric).
+.PP
+\fBperipheries=\fIn\fR sets the number of periphery lines drawn around
+the polygon. This value supersedes the number of periphery lines
+of \fIbuiltin_polygons\fR.
+.PP
+\fBsides=\fIn\fR sets the number of sides to the polygon. \fIn\fR<3
+results in an ellipse.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBorientation=\fIf\fR sets the orientation of the first apex of the
+polygon counterclockwise from the vertical, in degrees.
+\fIf\fR may be a floating point number.
+The orientation of labels is not affected by this attribute.
+This attribute is added to the initial orientation of \fIbuiltin_polygons.\fR
+.PP
+\fBdistortion=\fIf\fR sets the amount of broadening of the top and
+narrowing of the bottom of the polygon (relative to its orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBskew=\fIf\fR sets the amount of right\(hydisplacement of the top and
+left\(hydisplacement of the bottom of the polygon (relative to its
+orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL.
+The target string is used to determine which window of the browser is used
+for the URL. Setting it to "_graphviz" will open a new window if it doesn't
+already exist, or reuse it if it does.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL. The tooltip string defaults to be the
+same as the label string, but this attribute permits nodes without
+labels to still have tooltips thus permitting denser graphs.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fItrue/false\fR. This specifies that the block containing the given
+node be treated as the root of the spanning tree in the layout.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBpin=\fIval\fR. If \fIval\fR is "true", the node will remain at
+its initial position.
+
+.SH "EDGE ATTRIBUTES"
+\fBminlen=\fIn\fR where \fIn\fP is an integer factor that applies
+to the edge length (ranks for normal edges, or minimum node separation
+for flat edges).
+.PP
+\fBweight=\fIn\fR where \fIn\fP is the integer cost of the edge.
+Values greater than 1 tend to shorten the edge. Weight 0 flat
+edges are ignored for ordering nodes.
+.PP
+\fBlabel=\fItext\fR where \fItext\fR may include escaped newlines
+\\\|n, \\\|l, or \\\|r for centered, left, or right justified lines.
+If the substring '\\T' is found in a label it will be replaced by the tail_node name.
+If the substring '\\H' is found in a label it will be replaced by the head_node name.
+If the substring '\\E' value is found in a label it will be replaced by: tail_node_name\->head_node_name
+or by: tail_node_name\-\-head_node_name for undirected graphs.
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+\fBstyle=solid dashed dotted bold invis\fP
+.PP
+\fBcolor=\fIcolorvalue\fR sets the line color for edges.
+.PP
+\fBcolor=\fIcolorvaluelist\fR a ':' separated list of \fIcolorvalue\fR creates
+parallel edges, one edge for each color.
+.PP
+\fBdir=forward back both none\fP controls arrow direction.
+.PP
+\fBtailclip,headclip=false\fP disables endpoint shape clipping.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edges have a URL.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when edges have a URL. The tooltip string defaults to be the
+same as the edge label string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBarrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot,
+tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow\fP.
+.PP
+\fBarrowsize\fP (norm_length=10,norm_width=5,
+inv_length=6,inv_width=7,dot_radius=2)
+.PP
+\fBheadlabel,taillabel=string\fP for port labels.
+\fBlabelfontcolor\fP,\fBlabelfontname\fP,\fBlabelfontsize\fP
+for head and tail labels.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadhref=\fI"url"\fR sets the url for the head port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadURL=\fI"url"\fR ("headURL" is a synonym for "headhref".)
+.PP
+\fBheadtarget=\fI"headtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge heads have a URL.
+The headtarget string is used to determine which window of the browser is used
+for the URL. If the headtarget string is empty, the default,
+then headtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when head ports have a URL. The tooltip string defaults to be the
+same as the headlabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailhref=\fI"url"\fR sets the url for the tail port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailURL=\fI"url"\fR ("tailURL" is a synonym for "tailhref".)
+.PP
+\fBtailtarget=\fI"tailtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge tails have a URL.
+The tailtarget string is used to determine which window of the browser is used
+for the URL. If the tailtarget string is empty, the default,
+then tailtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when tail ports have a URL. The tooltip string defaults to be the
+same as the taillabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBlabeldistance\fP and \fPport_label_distance\fP set distance; also
+\fBlabelangle\fP (in degrees CCW)
+.PP
+\fBdecorate\fP draws line from edge to label.
+.PP
+\fBsamehead,sametail\fP aim edges having the same value to the
+same port, using the average landing point.
+.PP
+\fBconstraint=false\fP causes an edge to be ignored for rank assignment.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the edgess active layers.
+The empty string means no layers (invisible).
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBw=\fIf\fR sets the weight (spring constant) of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.PP
+\fBlen=\fIf\fR sets the optimal length of an edge.
+The default is 1.0.
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBweight=\fIf\fR sets the weight of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.SH "COMMAND LINE OPTIONS"
+\fB\-G\fP sets a default graph attribute.
+.br
+\fB\-N\fP sets a default node attribute.
+.br
+\fB\-E\fP sets a default edge attribute.
+Example: \fB\-Gsize="7,8" \-Nshape=box \-Efontsize=8\fR
+.PP
+\fB\-l\fIfile\fR loads custom PostScript library files.
+Usually these define custom shapes or styles.
+If \fB\-l\fP is given by itself, the standard library is omitted.
+.PP
+\fB\-T\fIlang\fR sets the output language as described above.
+
+.PP
+\fB\-n\fR[\fB1\fR|\fB2\fR] (no\(hyop)
+If set, neato assumes nodes have already been positioned and all
+nodes have a pos attribute giving the positions.
+It then performs an optional adjustment to remove node\(hynode overlap,
+depending on the value of the overlap attribute,
+computes the edge layouts, depending on the value of the \fBsplines\fR attribute,
+and emits the graph in the appropriate format.
+If num is supplied, the following actions occur:
+.nf
+ num = 1
+.fi
+Equivalent to \-n.
+.nf
+ num > 1
+.fi
+Use node positions as specified,
+with no adjustment to remove node\(hynode overlaps,
+and use any edge layouts already specified by the pos attribute.
+neato computes an edge layout for any edge that does not have a pos attribute.
+As usual, edge layout is guided by the \fBsplines\fR attribute.
+.PP
+\fB\-v\fP (verbose) prints delta energy every 100th iteration.
+.PP
+\fB\-V\fP (version) prints version information and exits.
+.PP
+\fB\-?\fP prints the usage and exits.
+.SH "EXAMPLES"
+.nf
+digraph test123 {
+ a \-> b \-> c;
+ a \-> {x y};
+ b [shape=box];
+ c [label="hello\\\|nworld",color=blue,fontsize=24,
+ fontname="Palatino\-Italic",fontcolor=red,style=filled];
+ a \-> z [label="hi", weight=100];
+ x \-> z [label="multi\-line\\\|nlabel"];
+ edge [style=dashed,color=red];
+ b \-> x;
+ {rank=same; b x}
+}
+.fi
+.PP
+.nf
+graph test123 {
+ a \-\- b \-\- c;
+ a \-\- {x y};
+ x \-\- c [w=10.0];
+ x \-\- y [w=5.0,len=3];
+}
+.fi
+.SH "CAVEATS"
+Edge splines can overlap unintentionally.
+.PP
+Flat edge labels are slightly broken.
+Intercluster edge labels are totally broken.
+.PP
+Because unconstrained optimization is employed, node boxes can
+possibly overlap or touch unrelated edges. All existing
+spring embedders seem to have this limitation.
+.PP
+Apparently reasonable attempts to pin nodes or adjust edge lengths
+and weights can cause instability.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.br
+John C. Ellson <ellson@research.att.com>
+.PP
+The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>
+.PP
+The Truetype font renderer is from
+the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg)
+(who can be contacted at freetype\-devel@lists.lrz\-muenchen.de).
+.SH "SEE ALSO"
+This man page contains only a small amount of the information related
+to the Graphviz layout programs. The most complete information can be
+found at http://www.graphviz.org/Documentation.php, especially in the
+on\(hyline reference pages. Most of these documents are also available in the
+\fIdoc\fP and \fIdoc/info\fP subtrees in the source and binary distributions.
+.PP
+dotty(1)
+.br
+tcldot(n)
+.br
+xcolors(1)
+.br
+libgraph(3)
+.PP
+E. R. Gansner, S. C. North, K. P. Vo, "DAG \(hy A Program to Draw Directed Graphs", Software \(hy Practice and Experience 17(1), 1988, pp. 1047\(hy1062.
+.br
+E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, "A Technique for Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214\(hy230.
+.br
+S. North and E. Koutsofios, "Applications of graph visualization",
+Graphics Interface 94, pp. 234\(hy245.
+.br
+E. Koutsofios and S. C. North, "Drawing Graphs with dot,"
+Available on research.att.com in dist/drawdag/dotguide.ps.Z.
+.br
+S. C. North, "NEATO User's Manual".
+Available on research.att.com in dist/drawdag/neatodoc.ps.Z.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gc.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gc.1
new file mode 100644
index 0000000..ad4cd70
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gc.1
@@ -0,0 +1,83 @@
+.TH GC 1 "21 March 2001"
+.SH NAME
+gc \- count graph components
+.SH SYNOPSIS
+.B gc
+[
+.B \-necCaDUrs?
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B gc
+is a graph analogue to
+.B wc
+in that it prints to standard output
+the number of nodes, edges, connected components or clusters contained
+in the input files.
+It also prints a total count for
+all graphs if more than one graph is given.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-n
+Count nodes.
+.TP
+.B \-e
+Count edges.
+.TP
+.B \-c
+Count connected components.
+.TP
+.B \-C
+Count clusters. By definition, a cluster is a graph or
+subgraph whose name begins with "cluster".
+.TP
+.B \-a
+Count all. Equivalent to
+.B \-encC
+.TP
+.B \-r
+Recursively analyze subgraphs.
+.TP
+.B \-s
+Print no output. Only exit value is important.
+.TP
+.B \-D
+Only analyze directed graphs.
+.TP
+.B \-U
+Only analyze undirected graphs.
+.TP
+.B \-?
+Print usage information.
+.LP
+By default,
+.I gc
+returns the number of nodes and edges.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in dot format.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH "EXIT STATUS"
+The following exit values are returned:
+.TP 4
+.B 0
+Successful completion.
+.TP
+.B 1
+The
+.B \-U
+or
+.B \-E
+option was used, and a graph of the wrong type was encountered.
+.SH AUTHOR
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+wc(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gv2gxl.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gv2gxl.1
new file mode 100644
index 0000000..d801368
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gv2gxl.1
@@ -0,0 +1,92 @@
+.TH GXL2GV,GV2GXL 1 "20 December 2002"
+.SH NAME
+gxl2gv,gv2gxl \- GXL-GV converters
+.SH SYNOPSIS
+.B gxl2gv
+[
+.B \-gd?
+]
+[
+.BI -o outfile
+]
+[
+.I files
+]
+.br
+.B gv2gxl
+[
+.B \-gd?
+]
+[
+.BI -o outfile
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B gxl2gv
+converts between graphs represented in GXL and in the
+GV language. Unless a conversion type is specified using
+a flag,
+.B gxl2gv
+will deduce the type of conversion from the suffix of
+the input file, a ".gv" (or a ".dot") suffix causing a conversion from GV
+to GXL, and a ".gxl" suffix causing a conversion from GXL to GV.
+If no suffix is available, e.g. when the input is from a pipe,
+and no flags are used then
+.B gxl2gv
+assumes the type of the input file from its executable name
+so that
+.B gxl2gv
+converts from GXL to GV, and
+.B gv2gxl
+converts from GV to GXL.
+.PP
+GXL supports a much richer graph model than GV. \fBgxl2gv\fP
+will attempt to map GXL constructs into the analogous GV construct
+when this is possible. If not, the GXL information is stored as
+an attribute. The intention is that applying \fBgxl2gv|gv2gxl\fP
+is semantically equivalent to the identity operator.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-g
+The command name and input file extensions are ignored, the
+input is taken as a GV file and a GXL file is generated.
+.TP
+.B \-d
+The command name and input file extensions are ignored, the
+input is taken as a GXL file and a GV file is generated.
+.TP
+.B \-?
+Prints usage information and exits.
+.TP
+.BI \-o " outfile"
+If specified, the output will be written into the file
+\fIoutfile\fP. Otherwise, output is written to standard out.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in GXL or GV.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH RETURN CODES
+Both \fBgxl2gv\fP and \fBgv2gxl\fP return \fB0\fP
+if there were no problems during conversion;
+and non-zero if any error occurred.
+.SH "BUGS"
+\fBgxl2gv\fP will only convert in one direction even if given multiple files
+with varying suffixes.
+.PP
+The conversion can only handle one graph per GXL file.
+.PP
+There are some GXL constructs which \fBgxl2gv\fP cannot handle.
+.SH AUTHORS
+Krishnam Pericherla <kp@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+dot(1), libgraph(3), libagraph(3), neato(1), twopi(1)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvcolor.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvcolor.1
new file mode 100644
index 0000000..2355166
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvcolor.1
@@ -0,0 +1,58 @@
+.TH GVCOLOR 1 "21 March 2001"
+.SH NAME
+gvcolor \- flow colors through a ranked digraph
+.br
+( previously known as
+.B colorize
+)
+.SH SYNOPSIS
+.B gvcolor
+[
+.I files
+]
+.SH "USAGE"
+.ft 5
+dot file.dot | gvcolor | dot \-T\fI<format>\fP
+.ft
+.SH DESCRIPTION
+.B gvcolor
+is a filter that sets node colors from initial seed values.
+Colors flow along edges from tail to head, and are averaged
+(as HSB vectors) at nodes.
+\fIThe graph must already have been processed by dot.\fP
+Appropriate choice of initial colors yields drawings in which node
+colors help to emphasize logical relationships between nodes, even
+when they are spread far apart in the layout.
+.PP
+Initial colors must be set externally, using the \fBcolor\fP
+attribute of a node. It is often effective to
+assign colors to a few key source or sink nodes, manually setting
+their colors by editing the graph file.
+Color names are as in \fIdot(1)\fP: symbolic names or RGB triples.
+It is best to choose some easily\(hydistinguished but related colors;
+not necessarily spaced evenly around the color wheel. For example,
+blue_green, green, and light_yellow looks better than red, green, blue.
+.PP
+Certain graph attributes control the \fIgvcolor\fP algorithm.
+\fBflow=back\fP reverses the flow of colors from heads to tails.
+\fBsaturation=.1,.9\fP (or any two numbers between 0 and 1)
+adjusts the color saturation linearly from least to greatest rank.
+If \fBDefcolor\fP is set, this color value is applied to any
+node not otherwise colored.
+.SH "EXIT STATUS"
+The following exit values are returned:
+.TP 4
+.B 0
+Successful completion.
+.TP
+.B 1
+If nodes of the graph do not possess a ``pos'' attribute.
+.SH BUGS
+It would be nice to make the program work without relying on
+an initial pass through \fBdot\fP.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+gc(1), dot(1), gvpr(1), ccomps(1), sccmap(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpack.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpack.1
new file mode 100644
index 0000000..9ab64c6
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpack.1
@@ -0,0 +1,101 @@
+.TH GVPACK 1 "8 April 2003"
+.SH NAME
+gvpack \- merge and pack disjoint graphs
+.SH SYNOPSIS
+.B gvpack
+[
+.B \-nguv?
+]
+[
+.BI \-m margin
+]
+[
+.BI \-o outfile
+]
+[
+.BI \-G name\fB=\fPvalue
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B gvpack
+reads in a stream of graphs, combines the graphs into a single
+layout, and produces a single graph serving as the union of the
+input graphs. The input graphs must be in dot format, and must have
+all necessary layout information. Acceptable input is produced
+by applying a Graphviz layout program, such as \fBdot\fP or \fBneato\fP,
+with no \fB\-T\fP flag.
+.P
+By default, the packing is done at the cluster level. Thus, parts of
+one graph will not intrude into any top\(hylevel clusters or overlap
+any nodes or edges of another.
+.P
+The output of \fBgvpack\fP can be used to produce concrete output
+by applying \fBneato \-s \-n2\fP with the desired \fB\-T\fP flag.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-g
+Combines the graphs at the graph level. This uses more space, but prevents
+parts of one graph from occurring between parts of another.
+.TP
+.BI \-G "name\fB=\fPvalue"
+Specifies attributes to be added to the resulting union graph. For
+example, this can be used to specify a graph label.
+.TP
+.BI \-m "margin"
+Packs the graphs allowing a margin of \fIoutput\fP points around
+the parts.
+.TP
+.B \-n
+Combines the graphs at the node level. Clusters are ignored in the packing.
+.TP
+.BI \-o "output"
+Prints output to the file \fIoutput\fP. If not given, \fBgvpack\fP
+uses stdout.
+.TP
+.B \-u
+Don't pack the graphs. Just combine them into a single graph.
+.TP
+.B \-v
+Verbose mode.
+.TP
+.B \-?
+Prints usage information and exit.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in dot format.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH RETURN CODES
+.B gvpack
+returns
+.B 0
+if there were no problems, and non\(hyzero otherwise.
+.SH EXAMPLES
+.EX
+ccomps \-x abc.dot | dot | gvpack | neato \-s \-n2 \-Tps
+.EE
+This pipeline decomposes the graph in \fIabc.dot\fP into its
+connected components, lays out each using \fBdot\fP, packs them all together
+again, and produces the final drawing in PostScript. Of course,
+there is nothing to prevent one from using different layouts for
+each component.
+.SH "BUGS"
+All the input graphs must be directed or undirected.
+.P
+An input graph should not have a label, since this will be used in its
+layout. Since \fBgvpack\fP ignores root graph labels, resulting layout
+may contain some extra space.
+.P
+\fBgvpack\fP unsets the bounding box attribute of all non\(hycluster
+subgraphs.
+.SH AUTHORS
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+gvpr(1), dot(1), neato(1), twopi(1), ccomps(1), libpack(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpr.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpr.1
new file mode 100644
index 0000000..ada8f74
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpr.1
@@ -0,0 +1,967 @@
+.TH GVPR 1 "24 April 2008"
+.SH NAME
+gvpr \- graph pattern scanning and processing language
+.br
+( previously known as
+.B gpr
+)
+.SH SYNOPSIS
+.B gvpr
+[\fB\-icV?\fP]
+[
+.BI \-o
+.I outfile
+]
+[
+.BI \-a
+.I args
+]
+[
+.I 'prog'
+|
+.BI \-f
+.I progfile
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B gvpr
+is a graph stream editor inspired by \fBawk\fP.
+It copies input graphs to its
+output, possibly transforming their structure and attributes,
+creating new graphs, or printing arbitrary information.
+The graph model is that provided by
+.IR libagraph (3).
+In particular, \fBgvpr\fP reads and writes graphs using the
+dot language.
+.PP
+Basically,
+.B gvpr
+traverses each input graph, denoted by \fB$G\fP, visiting each node and edge,
+matching it with the predicate\(hyaction rules supplied in the input program.
+The rules are evaluated in order.
+For each predicate evaluating to true, the corresponding
+action is performed.
+During the traversal, the current node or edge being visited
+is denoted by \fB$\fP.
+.PP
+For each input graph, there is a target subgraph, denoted by
+\fB$T\fP, initially empty and used to accumulate
+chosen entities, and an output graph, \fB$O\fP, used for final processing
+and then written to output.
+By default, the output graph is the target graph.
+The output graph can be set in the program or, in a limited sense,
+on the command line.
+.SH OPTIONS
+The following options are supported:
+.TP
+.BI \-a " args"
+The string \fIargs\fP is split into whitespace\(hyseparated tokens,
+with the individual tokens
+available as strings in the \fBgvpr\fP program
+as \fBARGV[\fI0\fP],...,ARGV[ARGC\-1]\fR.
+Whitespace characters within single or double quoted substrings, or
+preceded by a backslash, are ignored as separators.
+In general, a backslash character turns off any special meaning of the
+following character.
+Note that the tokens derived from multiple \fB\-a\fP flags are concatenated.
+.TP
+.B \-c
+Use the source graph as the output graph.
+.TP
+.B \-i
+Derive the node\(hyinduced subgraph extension of the output graph in the context
+of its root graph.
+.TP
+.BI \-o " outfile"
+Causes the output stream to be written to the specified file; by default,
+output is written to \fBstdout\fP.
+.TP
+.BI \-f " progfile"
+Use the contents of the specified file as the program to execute
+on the input. If \fIprogfile\fP contains a slash character, the name is taken
+as the pathname of the file. Otherwise, \fBgvpr\fP will use the
+directories specified in the environment variable \fBGPRPATH\fP to look
+for the file. If
+.B \-f
+is not given,
+.B gvpr
+will use the first non\(hyoption argument as the program.
+.TP
+.B \-V
+Causes the program to print version information and exit.
+.TP
+.B \-?
+Causes the program to print usage information and exit.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in the dot language.
+If no
+.B \-f
+option is given, the first name is removed from the list and used
+as the input program. If the list of files is empty, \fBstdin\fP will be used.
+.SH PROGRAMS
+A
+.B gvpr
+program consists of a list of predicate\(hyaction clauses, having one
+of the forms:
+.IP
+.BI "BEGIN { " action " }"
+.IP
+.BI "BEG_G { " action " }"
+.IP
+.BI "N [ " predicate " ] { " action " }
+.IP
+.BI "E [ " predicate " ] { " action " }
+.IP
+.BI "END_G { " action " }"
+.IP
+.BI "END { " action " }"
+.PP
+A program can contain at most one of each of the \fBBEGIN\fP, \fBBEG_G\fP,
+\fBEND_G\fP and \fBEND\fP clauses.
+There can be any number of \fBN\fP and \fBE\fP statements,
+the first applied to nodes, the second to edges.
+The top\(hylevel semantics of a \fBgvpr\fP program are:
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+Evaluate the \fBBEGIN\fP clause, if any.
+For each input graph \fIG\fP {
+ Set \fIG\fP as the current graph and current object.
+ Evaluate the \fBBEG_G\fP clause, if any.
+ For each node and edge in \fIG\fP {
+ Set the node or edge as the current object.
+ Evaluate the \fBN\fP or \fBE\fP clauses, as appropriate.
+ }
+ Set \fIG\fP as the current object.
+ Evaluate the \fBEND_G\fP clause, if any.
+}
+Evaluate the \fBEND\fP clause, if any.
+.fi
+.RE
+.DT
+.PP
+The actions of the \fBBEGIN\fP, \fBBEG_G\fP, \fBEND_G\fP and \fBEND\fP clauses
+are performed when the clauses are evaluated.
+For \fBN\fP or \fBE\fP clauses,
+either the predicate or action may be omitted.
+If there is no predicate with an action, the action is
+performed on every node or edge, as appropriate.
+If there is no action and the predicate evaluates to true,
+the associated node or edge is added to the target graph.
+.PP
+Predicates and actions are sequences of statements in the C dialect
+supported by the
+.IR libexpr (3)
+library.
+The only difference between predicates and actions is that the former
+must have a type that may interpreted as either true or false.
+Here the usual C convention is followed, in which a non\(hyzero value is
+considered true. This would include non\(hyempty strings and non\(hyempty
+references to nodes, edges, etc. However, if a string can be
+converted to an integer, this value is used.
+.PP
+In addition to the usual C base types
+(\fBvoid\fP, \fBint\fP, \fBchar\fP, \fBfloat\fP, \fBlong\fP,
+\fBunsigned\fP and \fBdouble\fP),
+\fBgvpr\fP \fRprovides \fBstring\fP as a synonym for \fBchar*\fP, and
+the graph\(hybased types \fBnode_t\fP,
+\fBedge_t\fP, \fBgraph_t\fP and \fBobj_t\fP.
+The \fBobj_t\fP type can be viewed as a supertype of the other 3 concrete types;
+the correct base type is maintained dynamically.
+Besides these base types, the only other supported type expressions
+are (associative) arrays.
+.PP
+Constants follow C syntax, but strings may be quoted with either
+\fB"..."\fP or \fB'...'\fP. In certain contexts, string values are
+interpreted as patterns for the purpose of regular expression matching.
+Patterns use
+.IR ksh (1)
+file match pattern syntax.
+\fBgvpr\fP accepts C++ comments as well as cpp\(hytype comments.
+For the latter, if a line begins with a '#' character, the rest of
+the line is ignored.
+.PP
+A statement can be a declaration of a function, a variable
+or an array, or an executable statement. For declarations, there
+is a single scope. Array declarations have the form:
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fI type array \fB[\fP type0 \fB]\fR
+.fi
+.RE
+.DT
+.PP
+where \fI type0 \fP is optional. If it is supplied, the parser will
+enforce that all array subscripts have the specified type. If it is
+not supplied, objects of all types can be used as subscripts.
+As in C, variables and arrays must
+be declared. In particular, an undeclared variable will be interpreted
+as the name of an attribute of a node, edge or graph, depending on the
+context.
+.PP
+Executable statements can be one of the following:
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fB{\fR [\fI statement ... \fR] \fB}\fR
+\fIexpression\fP \fR// commonly\fP\fI var \fB=\fP expression\fR
+\fBif(\fI expression \fP)\fI statement \fR[ \fBelse\fI statement \fR]
+\fBfor(\fI expression \fP;\fI expression \fP;\fI expression \fP)\fI statement\fP
+\fBfor(\fI array \fP[\fI var \fP])\fI statement\fP
+\fBwhile(\fI expression \fP)\fI statement\fP
+\fBswitch(\fI expression \fP)\fI case statements\fP
+\fBbreak [\fI expression \fP]
+\fBcontinue [\fI expression \fP]
+\fBreturn [\fI expression \fP]\fR
+.fi
+.RE
+.ST
+Items in brackets are optional.
+.PP
+In the second form of the \fBfor\fP statement, the variable \fIvar\fP
+is set to each value used as an index in the specified array and then
+the associated \fIstatement\fP is evaluated. Function definitions can
+only appear in the \fBBEGIN\fP clause.
+.PP
+Expressions include the usual C expressions.
+String comparisons using \fB==\fP and \fB!=\fP
+treat the right hand operand as a pattern.
+\fBgvpr\fP will attempt to use an expression as a string or numeric value
+as appropriate.
+.PP
+Expressions of graphical type (i.e., \fBgraph_t, node_t,
+edge_t, obj_t\fP) may be followed by a field reference in the
+form of \fB.\fP\fIname\fP. The resulting value is the value
+of the attribute named \fIname\fP of the given object.
+In addition, in certain contexts an undeclared, unmodified
+identifier is taken to be an
+attribute name. Specifically, such identifiers denote attributes
+of the current node or edge, respectively, in \fBN\fP
+and \fBE\fP clauses, and the current graph in \fBBEG_G\fP and \fBEND_G\fP
+clauses.
+.PP
+As usual in the
+.IR libagraph (3)
+model, attributes are string\(hyvalued.
+In addition,
+.B gvpr
+supports certain pseudo\(hyattributes of graph objects, not necessarily
+string\(hyvalued. These reflect intrinsic properties of the graph objects
+and cannot be set by the user.
+.TP
+\fBhead\fR : \fBnode_t\fR
+the head of an edge.
+.TP
+\fBtail\fR : \fBnode_t\fR
+the tail of an edge.
+.TP
+\fBname\fR : \fBstring\fR
+the name of an edge, node or graph. The name of an edge has the
+form "\fI<tail\(hyname><edge\(hyop><head\(hyname>\fB[\fI<key>\fB]\fR",
+where \fI<edge\(hyop>\fP is "\fB\->\fP" or "\fB\-\-\fP" depending on
+whether the graph is directed or not. The bracket part \fB[\fI<key>\fB]\fR
+only appears if the edge has a non\(hytrivial key.
+.TP
+\fBindegree\fR : \fBint\fR
+the indegree of a node.
+.TP
+\fBoutdegree\fR : \fBint\fR
+the outdegree of a node.
+.TP
+\fBdegree\fR : \fBint\fR
+the degree of a node.
+.TP
+\fBroot\fR : \fBgraph_t\fR
+the root graph of an object. The root of a root graph
+is itself.
+.TP
+\fBparent\fR : \fBgraph_t\fR
+the parent graph of a subgraph. The parent of a root graph
+is \fBNULL\fP
+.TP
+\fBn_edges\fR : \fBint\fR
+the number of edges in the graph
+.TP
+\fBn_nodes\fR : \fBint\fR
+the number of nodes in the graph
+.TP
+\fBdirected\fR : \fBint\fR
+true (non\(hyzero) if the graph is directed
+.TP
+\fBstrict\fR : \fBint\fR
+true (non\(hyzero) if the graph is strict
+.SH "BUILT\(hyIN FUNCTIONS"
+.PP
+The following functions are built into \fBgvpr\fP. Those functions
+returning references to graph objects return \fBNULL\fP in case of failure.
+.SS "Graphs and subgraph"
+.TP
+\fBgraph\fP(\fIs\fP : \fBstring\fP, \fIt\fP : \fBstring\fP) : \fBgraph_t\fP
+creates a graph whose name is \fIs\fP and whose type is
+specified by the string \fIt\fP. Ignoring case, the characters
+\fBU, D, S, N\fR have the interpretation undirected, directed,
+strict, and non\(hystrict, respectively. If \fIt\fP is empty,
+a directed, non\(hystrict graph is generated.
+.TP
+\fBsubg\fP(\fIg\fP : \fBgraph_t\fP, \fIs\fP : \fBstring\fP) : \fBgraph_t\fP
+creates a subgraph in graph \fIg\fP with name \fIs\fP. If the subgraph
+already exists, it is returned.
+.TP
+\fBisSubg\fP(\fIg\fP : \fBgraph_t\fP, \fIs\fP : \fBstring\fP) : \fBgraph_t\fP
+returns the subgraph in graph \fIg\fP with name \fIs\fP, if it exists,
+or \fBNULL\fP otherwise.
+.TP
+\fBfstsubg\fP(\fIg\fP : \fBgraph_t\fP) : \fBgraph_t\fP
+returns the first subgraph in graph \fIg\fP, or \fBNULL\fP if none exists.
+.TP
+\fBnxtsubg\fP(\fIsg\fP : \fBgraph_t\fP) : \fBgraph_t\fP
+returns the next subgraph after \fIsg\fP, or \fBNULL\fP.
+.TP
+\fBisDirect\fP(\fIg\fP : \fBgraph_t\fP) : \fBint\fP
+returns true if and only if \fIg\fP is directed.
+.TP
+\fBisStrict\fP(\fIg\fP : \fBgraph_t\fP) : \fBint\fP
+returns true if and only if \fIg\fP is strict.
+.TP
+\fBnNodes\fP(\fIg\fP : \fBgraph_t\fP) : \fBint\fP
+returns the number of nodes in \fIg\fP.
+.TP
+\fBnEdges\fP(\fIg\fP : \fBgraph_t\fP) : \fBint\fP
+returns the number of edges in \fIg\fP.
+.SS "Nodes"
+.TP
+\fBnode\fP(\fIsg\fP : \fBgraph_t\fP, \fIs\fP : \fBstring\fP) : \fBnode_t\fP
+creates a node in graph \fIg\fP of name \fIs\fP. If such a node
+already exists, it is returned.
+.TP
+\fBsubnode\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBnode_t\fP
+inserts the node \fIn\fP into the subgraph \fIg\fP. Returns the node.
+.TP
+\fBfstnode\fP(\fIg\fP : \fBgraph_t\fP) : \fBnode_t\fP
+returns the first node in graph \fIg\fP, or \fBNULL\fP if none exists.
+.TP
+\fBnxtnode\fP(\fIn\fP : \fBnode_t\fP) : \fBnode_t\fP
+returns the next node after \fIn\fP in the root graph, or \fBNULL\fP.
+.TP
+\fBnxtnode_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBnode_t\fP
+returns the next node after \fIn\fP in \fIsg\fP, or \fBNULL\fP.
+.TP
+\fBisNode\fP(\fIsg\fP : \fBgraph_t\fP, \fIs\fP : \fBstring\fP) : \fBnode_t\fP
+looks for a node in (sub)graph \fIsg\fP of name \fIs\fP. If such a node
+exists, it is returned. Otherwise, \fBNULL\fP is returned.
+.TP
+\fBisSubnode\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBint\fP
+returns non-zero if node \fIn\fP is in (sub)graph \fIsg\fP, or zero
+otherwise.
+.TP
+\fBindegreeOf\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBint\fP
+returns the indegree of node \fIn\fP in (sub)graph \fIsg\fP.
+.TP
+\fBoutdegreeOf\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBint\fP
+returns the outdegree of node \fIn\fP in (sub)graph \fIsg\fP.
+.TP
+\fBdegreeOf\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBint\fP
+returns the degree of node \fIn\fP in (sub)graph \fIsg\fP.
+.SS "Edges"
+.TP
+\fBedge\fP(\fIt\fP : \fBnode_t\fP, \fIh\fP : \fBnode_t\fP, \fIs\fP : \fBstring\fP) : \fBedge_t\fP
+creates an edge with tail node \fIt\fP, head node \fIh\fP and
+name \fIs\fP in the root graph. If the graph is undirected, the
+distinction between head and tail nodes is unimportant.
+If such an edge already exists, it is returned.
+.TP
+\fBedge_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIt\fP : \fBnode_t\fP, \fIh\fP : \fBnode_t\fP, \fIs\fP : \fBstring\fP) : \fBedge_t\fP
+creates an edge with tail node \fIt\fP, head node \fIh\fP and name \fIs\fP
+in (sub)graph \fIsg\fP (and all parent graphs). If the graph is undirected, the distinction between
+head and tail nodes is unimportant.
+If such an edge already exists, it is returned.
+.TP
+\fBsubedge\fP(\fIg\fP : \fBgraph_t\fP, \fIe\fP : \fBedge_t\fP) : \fBedge_t\fP
+inserts the edge \fIe\fP into the subgraph \fIg\fP. Returns the edge.
+.TP
+\fBisEdge\fP(\fIt\fP : \fBnode_t\fP, \fIh\fP : \fBnode_t\fP, \fIs\fP : \fBstring\fP) : \fBedge_t\fP
+looks for an edge with tail node \fIt\fP, head node \fIh\fP and
+name \fIs\fP. If the graph is undirected, the distinction between
+head and tail nodes is unimportant.
+If such an edge exists, it is returned. Otherwise, \fBNULL\fP is returned.
+.TP
+\fBisEdge_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIt\fP : \fBnode_t\fP, \fIh\fP : \fBnode_t\fP, \fIs\fP : \fBstring\fP) : \fBedge_t\fP
+looks for an edge with tail node \fIt\fP, head node \fIh\fP and
+name \fIs\fP in (sub)graph \fIsg\fP. If the graph is undirected, the distinction between
+head and tail nodes is unimportant.
+If such an edge exists, it is returned. Otherwise, \fBNULL\fP is returned.
+.TP
+\fBisSubedge\fP(\fIg\fP : \fBgraph_t\fP, \fIe\fP : \fBedge_t\fP) : \fBint\fP
+returns non-zero if edge \fIe\fP is in (sub)graph \fIsg\fP, or zero
+otherwise.
+.TP
+\fBfstout\fP(\fIn\fP : \fBnode_t\fP) : \fBedge_t\fP
+returns the first outedge of node \fIn\fP in the root graph.
+.TP
+\fBfstout_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBedge_t\fP
+returns the first outedge of node \fIn\fP in (sub)graph \fIsg\fP.
+.TP
+\fBnxtout\fP(\fIe\fP : \fBedge_t\fP) : \fBedge_t\fP
+returns the next outedge after \fIe\fP in the root graph.
+.TP
+\fBnxtout_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIe\fP : \fBedge_t\fP) : \fBedge_t\fP
+returns the next outedge after \fIe\fP in graph \fIsg\fP.
+.TP
+\fBfstin\fP(\fIn\fP : \fBnode_t\fP) : \fBedge_t\fP
+returns the first inedge of node \fIn\fP in the root graph.
+.TP
+\fBfstin_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBedge_t\fP
+returns the first inedge of node \fIn\fP in graph \fIsg\fP.
+.TP
+\fBnxtin\fP(\fIe\fP : \fBedge_t\fP) : \fBedge_t\fP
+returns the next inedge after \fIe\fP in the root graph.
+.TP
+\fBnxtin_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIe\fP : \fBedge_t\fP) : \fBedge_t\fP
+returns the next inedge after \fIe\fP in graph \fIsg\fP.
+.TP
+\fBfstedge\fP(\fIn\fP : \fBnode_t\fP) : \fBedge_t\fP
+returns the first edge of node \fIn\fP in the root graph.
+.TP
+\fBfstedge_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBedge_t\fP
+returns the first edge of node \fIn\fP in graph \fIsg\fP.
+.TP
+\fBnxtedge\fP(\fIe\fP : \fBedge_t\fP, \fBnode_t\fP) : \fBedge_t\fP
+returns the next edge after \fIe\fP in the root graph.
+.TP
+\fBnxtedge_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIe\fP : \fBedge_t\fP, \fBnode_t\fP) : \fBedge_t\fP
+returns the next edge after \fIe\fP in the graph \fIsg\fP.
+.SS "Graph I/O"
+.TP
+\fBwrite\fP(\fIg\fP : \fBgraph_t\fP) : \fBvoid\fP
+prints \fIg\fP in dot format onto the output stream.
+.TP
+\fBwriteG\fP(\fIg\fP : \fBgraph_t\fP, \fIfname\fP : \fBstring\fP) : \fBvoid\fP
+prints \fIg\fP in dot format into the file \fIfname\fP.
+.TP
+\fBfwriteG\fP(\fIg\fP : \fBgraph_t\fP, \fIfd\fP : \fBint\fP) : \fBvoid\fP
+prints \fIg\fP in dot format onto the open stream denoted
+by the integer \fIfd\fP.
+.TP
+\fBreadG\fP(\fIfname\fP : \fBstring\fP) : \fBgraph_t\fP
+returns a graph read from the file \fIfname\fP. The graph should be
+in dot format. If no graph can be read, \fBNULL\fP is returned.
+.TP
+\fBfreadG\fP(\fIfd\fP : \fBint\fP) : \fBgraph_t\fP
+returns the next graph read from the open stream \fIfd\fP.
+Returns \fBNULL\fP at end of file.
+.SS "Graph miscellany"
+.TP
+\fBdelete\fP(\fIg\fP : \fBgraph_t\fP, \fIx\fP : \fBobj_t\fP) : \fBvoid\fP
+deletes object \fIx\fP from graph \fIg\fP.
+If \fIg\fP is \fBNULL\fP, the function uses the root graph of \fIx\fP.
+If \fIx\fP is a graph or subgraph, it is closed unless \fIx\fP is locked.
+.TP
+\fBisIn\fP(\fIg\fP : \fBgraph_t\fP, \fIx\fP : \fBobj_t\fP) : \fBint\fP
+returns true if \fIx\fP is in subgraph \fIg\fP.
+If \fIx\fP is a graph, this indicates that \fIg\fP is the immediate parent
+graph of \fIx\fP.
+.TP
+\fBclone\fP(\fIg\fP : \fBgraph_t\fP, \fIx\fP : \fBobj_t\fP) : \fBobj_t\fP
+creates a clone of object \fIx\fP in graph \fIg\fP.
+In particular, the new object has the same name/value attributes
+and structure as the original object.
+If an object with the same key as \fIx\fP already exists, its attributes
+are overlaid by those of \fIx\fP and the object is returned.
+If an edge is cloned, both endpoints are implicitly cloned.
+If a graph is cloned, all nodes, edges and subgraphs are implicitly
+cloned.
+If \fIx\fP is a graph, \fIg\fP may be \fBNULL\fP, in which case the cloned
+object will be a new root graph.
+.TP
+\fBcopy\fP(\fIg\fP : \fBgraph_t\fP, \fIx\fP : \fBobj_t\fP) : \fBobj_t\fP
+creates a copy of object \fIx\fP in graph \fIg\fP,
+where the new object has the same name/value attributes
+as the original object.
+If an object with the same key as \fIx\fP already exists, its attributes
+are overlaid by those of \fIx\fP and the object is returned.
+Note that this is a shallow copy. If \fIx\fP is a graph, none of its nodes,
+edges or subgraphs are copied into the new graph. If \fIx\fP is an edge,
+the endpoints are created if necessary, but they are not cloned.
+If \fIx\fP is a graph, \fIg\fP may be \fBNULL\fP, in which case the cloned
+object will be a new root graph.
+.TP
+\fBcopyA\fP(\fIsrc\fP : \fBobj_t\fP, \fItgt\fP : \fBobj_t\fP) : \fBint\fP
+copies the attributes of object \fIsrc\fP to object \fItgt\fP, overwriting
+any attribute values \fItgt\fP may initially have.
+.TP
+\fBinduce\fP(\fIg\fP : \fBgraph_t\fP) : \fBvoid\fP
+extends \fIg\fP to its node\(hyinduced subgraph extension in its root graph.
+.TP
+\fBaget\fP(\fIsrc\fP : \fBobj_t\fP, \fIname\fP : \fBstring\fP) : \fBstring\fP
+returns the value of attribute \fIname\fP in object \fIsrc\fP. This is
+useful for those cases when \fIname\fP conflicts with one of the keywords
+such as "head" or "root".
+Returns \fBNULL\fP on failure or if the attribute is not defined.
+.TP
+\fBaset\fP(\fIsrc\fP : \fBobj_t\fP, \fIname\fP : \fBstring\fP, \fIvalue\fP : \fBstring\fP) : \fBint\fP
+sets the value of attribute \fIname\fP in object \fIsrc\fP to \fIvalue\fP.
+Returns 0 on success, non\(hyzero on failure. See \fBaget\fP above.
+.TP
+\fBgetDflt\fP(\fIg\fP : \fBgraph_t\fP, \fIkind\fP : \fBstring\fP, \fIname\fP : \fBstring\fP) : \fBstring\fP
+returns the default value of attribute \fIname\fP in objects in \fIg\fP of
+the given \fIkind\fP. For nodes, edges, and graphs, \fIkind\fP
+should be "N", "E", and "G", respectively.
+Returns \fBNULL\fP on failure or if the attribute is not defined.
+.TP
+\fBsetDflt\fP(\fIg\fP : \fBgraph_t\fP, \fIkind\fP : \fBstring\fP, \fIname\fP : \fBstring\fP, \fIvalue\fP : \fBstring\fP) : \fBint\fP
+sets the default value of attribute \fIname\fP to \fIvalue\fP in
+objects in \fIg\fP of
+the given \fIkind\fP. For nodes, edges, and graphs, \fIkind\fP
+should be "N", "E", and "G", respectively.
+Returns 0 on success, non\(hyzero on failure. See \fBsetDflt\fP above.
+.TP
+\fBcompOf\fP(\fIg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBgraph_t\fP
+returns the connected component of the graph \fIg\fP containing node \fIn\fP,
+as a subgraph of \fIg\fP. The subgraph only contains the nodes. One can
+use \fIinduce\fP to add the edges. The function fails and returns \fBNULL\fP
+if \fIn\fP is not in \fIg\fP. Connectivity is based on the underlying
+undirected graph of \fIg\fP.
+.TP
+\fBkindOf\fP(\fIobj\fP : \fBobj_t\fP) : \fBstring\fP
+returns an indication of what kind of graph object is the argument.
+For nodes, edges, and graphs, it returns
+should be "N", "E", and "G", respectively.
+.TP
+\fBlock\fP(\fIg\fP : \fBgraph_t\fP, \fIv\fP : \fBint\fP) : \fBint\fP
+implements graph locking on root graphs. If the integer \fIv\fP is positive, the
+graph is set so that future calls to \fBdelete\fP have no immediate effect.
+If \fIv\fP is zero, the graph is unlocked. If there has been a call
+to delete the graph while it was locked, the graph is closed.
+If \fIv\fP is negative, nothing is done.
+In all cases, the previous lock value is returned.
+.SS "Strings"
+.TP
+\fBsprintf\fP(\fIfmt\fP : \fBstring\fP, \fI...\fP) : \fBstring\fP
+returns the string resulting from formatting
+the values of the expressions occurring after \fIfmt\fP
+according to the
+.IR printf (3)
+format
+.I fmt
+.TP
+\fBgsub\fP(\fIstr\fP : \fBstring\fP, \fIpat\fP : \fBstring\fP) : \fBstring\fP
+.TP
+\fBgsub\fP(\fIstr\fP : \fBstring\fP, \fIpat\fP : \fBstring\fP, \fIrepl\fP : \fBstring\fP) : \fBstring\fP
+returns \fIstr\fP with all substrings matching \fIpat\fP
+deleted or replaced by \fIrepl\fP, respectively.
+.TP
+\fBsub\fP(\fIstr\fP : \fBstring\fP, \fIpat\fP : \fBstring\fP) : \fBstring\fP
+.TP
+\fBsub\fP(\fIstr\fP : \fBstring\fP, \fIpat\fP : \fBstring\fP, \fIrepl\fP : \fBstring\fP) : \fBstring\fP
+returns \fIstr\fP with the leftmost substring matching \fIpat\fP
+deleted or replaced by \fIrepl\fP, respectively. The
+characters '^' and '$'
+may be used at the beginning and end, respectively,
+of \fIpat\fP to anchor the pattern to the beginning or end of \fIstr\fP.
+.TP
+\fBsubstr\fP(\fIstr\fP : \fBstring\fP, \fIidx\fP : \fBint\fP) : \fBstring\fP
+.TP
+\fBsubstr\fP(\fIstr\fP : \fBstring\fP, \fIidx\fP : \fBint\fP, \fIlen\fP : \fBint\fP) : \fBstring\fP
+returns the substring of \fIstr\fP starting at position \fIidx\fP to
+the end of the string or of length \fIlen\fP, respectively.
+Indexing starts at 0. If \fIidx\fP is negative or \fIidx\fP is greater than
+the length of \fIstr\fP, a fatal error occurs. Similarly, in the second
+case, if \fIlen\fP is negative or \fIidx\fP + \fIlen\fP is greater than the
+length of \fIstr\fP, a fatal error occurs.
+.TP
+\fBlength\fP(\fIs\fP : \fBstring\fP) : \fBint\fP
+returns the length of the string \fIs\fP.
+.TP
+\fBindex\fP(\fIs\fP : \fBstring\fP, \fIt\fP : \fBstring\fP) : \fBint\fP
+returns the index of the character in string \fIs\fP where the leftmost
+copy of string \fIt\fP can be found, or \-1 if \fIt\fP is not a
+substring of \fIs\fP.
+.TP
+\fBmatch\fP(\fIs\fP : \fBstring\fP, \fIp\fP : \fBstring\fP) : \fBint\fP
+returns the index of the character in string \fIs\fP where the leftmost
+match of pattern \fIp\fP can be found, or \-1 if no substring of \fIs\fP
+matches \fIp\fP.
+.TP
+\fBcanon\fP(\fIs\fP : \fBstring\fP) : \fBstring\fP
+returns a version of \fIs\fP appropriate to be used as an identifier
+in a dot file.
+.TP
+\fBxOf\fP(\fIs\fP : \fBstring\fP) : \fBstring\fP
+returns the string "\fIx\fP" if \fIs\fP has the form "\fIx\fP,\fIy\fP",
+where both \fIx\fP and \fIy\fP are numeric.
+.TP
+\fByOf\fP(\fIs\fP : \fBstring\fP) : \fBstring\fP
+returns the string "\fIy\fP" if \fIs\fP has the form "\fIx\fP,\fIy\fP",
+where both \fIx\fP and \fIy\fP are numeric.
+.TP
+\fBllOf\fP(\fIs\fP : \fBstring\fP) : \fBstring\fP
+returns the string "\fIllx\fP,\fIlly\fP" if \fIs\fP has the form
+"\fIllx\fP,\fIlly\fP,\fIurx\fP,\fIury\fP",
+where all of \fIllx\fP, \fIlly\fP, \fIurx\fP, and \fIury\fP are numeric.
+.TP
+.BI urOf( s )
+\fBurOf\fP(\fIs\fP : \fBstring\fP) : \fBstring\fP
+returns the string "\fIurx\fP,\fIury\fP" if \fIs\fP has the form
+"\fIllx\fP,\fIlly\fP,\fIurx\fP,\fIury\fP",
+where all of \fIllx\fP, \fIlly\fP, \fIurx\fP, and \fIury\fP are numeric.
+.TP
+\fBsscanf\fP(\fIs\fP : \fBstring\fP, \fIfmt\fP : \fBstring\fP, \fI...\fP) : \fBint\fP
+scans the string \fIs\fP, extracting values
+according to the
+.IR sscanf (3)
+format
+.IR fmt .
+The values are stored in the addresses following \fIfmt\fP,
+addresses having the form \fB&\fP\fIv\fP, where \fIv\fP is some declared
+variable of the correct type.
+Returns the number of items successfully scanned.
+.SS "I/O"
+.TP
+\fBprint\fP(\fI...\fP) : \fBvoid\fP
+.BI print( " expr" , " ...\fB )
+prints a string representation of each argument in turn onto
+\fBstdout\fP, followed by a newline.
+.TP
+\fBprintf\fP(\fIfmt\fP : \fBstring\fP, \fI...\fP) : \fBint\fP
+.TP
+\fBprintf\fP(\fIfd\fP : \fBint\fP, \fIfmt\fP : \fBstring\fP, \fI...\fP) : \fBint\fP
+prints the string resulting from formatting
+the values of the expressions following \fIfmt\fP
+according to the
+.IR printf (3)
+format
+.IR fmt .
+Returns 0 on success.
+By default, it prints on \fBstdout\fP.
+If the optional integer \fIfd\fP is given, output is written on the open
+stream associated with \fIfd\fP.
+.TP
+\fBscanf\fP(\fIfmt\fP : \fBstring\fP, \fI...\fP) : \fBint\fP
+.TP
+\fBscanf\fP(\fIfd\fP : \fBint\fP, \fIfmt\fP : \fBstring\fP, \fI...\fP) : \fBint\fP
+scans in values from an input stream according to the
+.IR scanf (3)
+format
+.IR fmt .
+The values are stored in the addresses following \fIfmt\fP,
+addresses having the form \fB&\fP\fIv\fP, where \fIv\fP is some declared
+variable of the correct type.
+By default, it reads from \fBstdin\fP.
+If the optional integer \fIfd\fP is given, input is read from the open
+stream associated with \fIfd\fP.
+Returns the number of items successfully scanned.
+.TP
+\fBopenF\fP(\fIs\fP : \fBstring\fP, \fIt\fP : \fBstring\fP) : \fBint\fP
+opens the file \fIs\fP as an I/O stream. The string argument \fIt\fP
+specifies how the file is opened. The arguments are the same as for
+the C function
+.IR fopen (3).
+It returns an integer denoting the stream, or \-1 on error.
+.sp
+As usual, streams 0, 1 and 2 are already open as \fBstdin\fP, \fBstdout\fP,
+and \fBstderr\fP, respectively. Since \fBgvpr\fP may use \fBstdin\fP to
+read the input graphs, the user should avoid using this stream.
+.TP
+\fBcloseF\fP(\fIfd\fP : \fBint\fP) : \fBint\fP
+closes the open stream denoted by the integer \fIfd\fP.
+Streams 0, 1 and 2 cannot be closed.
+Returns 0 on success.
+.TP
+\fBreadL\fP(\fIfd\fP : \fBint\fP) : \fBstring\fP
+returns the next line read from the input stream \fIfd\fP. It returns
+the empty string "" on end of file. Note that the newline character is
+left in the returned string.
+.SS "Math"
+.TP
+\fBexp\fP(\fId\fP : \fBdouble\fP) : \fBdouble\fP
+returns e to the \fId\fPth power.
+.TP
+\fBlog\fP(\fId\fP : \fBdouble\fP) : \fBdouble\fP
+returns the natural log of \fId\fP.
+.TP
+\fBsqrt\fP(\fId\fP : \fBdouble\fP) : \fBdouble\fP
+returns the square root of the double \fId\fP.
+.TP
+\fBpow\fP(\fId\fP : \fBdouble\fP, \fIx\fP : \fBdouble\fP) : \fBdouble\fP
+returns \fId\fP raised to the \fIx\fPth power.
+.TP
+\fBcos\fP(\fId\fP : \fBdouble\fP) : \fBdouble\fP
+returns the cosine of \fId\fP.
+.TP
+\fBsin\fP(\fId\fP : \fBdouble\fP) : \fBdouble\fP
+returns the sine of \fId\fP.
+.TP
+\fBatan2\fP(\fIy\fP : \fBdouble\fP, \fIx\fP : \fBdouble\fP) : \fBdouble\fP
+returns the arctangent of \fIy/x\fP in the range \-pi to pi.
+.SS "Miscellaneous"
+.TP
+\fBexit\fP() : \fBvoid\fP
+.TP
+\fBexit\fP(\fIv\fP : \fBint\fP) : \fBvoid\fP
+causes
+.B gvpr
+to exit with the exit code
+.IR v .
+.I v
+defaults to 0 if omitted.
+.TP
+\fBrand\fP() : \fBdouble\fP
+returns a pseudo\(hyrandom double between 0 and 1.
+.TP
+\fBsrand\fP() : \fBint\fP
+.TP
+\fBsrand\fP(\fIv\fP : \fBint\fP) : \fBint\fP
+sets a seed for the random number generator. The optional argument gives
+the seed; if it is omitted, the current time is used. The previous seed
+value is returned. \fBsrand\fP should be called before any calls to
+\fBrand\fP.
+.SH "BUILT\(hyIN VARIABLES"
+.PP
+.B gvpr
+provides certain special, built\(hyin variables, whose values are set
+automatically by \fBgvpr\fP depending on the context. Except as noted,
+the user cannot modify their values.
+.TP
+\fB$\fP : \fBobj_t\fP
+denotes the current object (node, edge, graph) depending on the
+context. It is not available in \fBBEGIN\fP or \fBEND\fP clauses.
+.TP
+\fB$F\fP : \fBstring\fP
+is the name of the current input file.
+.TP
+\fB$G\fP : \fBgraph_t\fP
+denotes the current graph being processed. It is not available
+in \fBBEGIN\fP or \fBEND\fP clauses.
+.TP
+\fB$O\fP : \fBgraph_t\fP
+denotes the output graph. Before graph traversal, it is initialized
+to the target graph. After traversal and any \fBEND_G\fP actions,
+if it refers to a non\(hyempty graph, that graph is printed onto the output stream.
+It is only valid in \fBN\fP, \fBE\fP and \fBEND_G\fP clauses.
+The output graph may be set by the user.
+.TP
+\fB$T\fP : \fBgraph_t\fP
+denotes the current target graph. It is a subgraph of \fB$G\fP
+and is available only in \fBN\fP, \fBE\fP and \fBEND_G\fP clauses.
+.TP
+\fB$tgtname\fP : \fBstring\fP
+denotes the name of the target graph.
+By default, it is set to \fB"gvpr_result"\fP.
+If used multiple times during the execution of
+.BR gvpr ,
+the name will be appended with an integer.
+This variable may be set by the user.
+.TP
+\fB$tvroot\fP : \fBnode_t\fP
+indicates the starting node for a (directed or undirected)
+depth\(hyfirst traversal of the
+graph (cf. \fB$tvtype\fP below).
+The default value is \fBNULL\fP for each input graph.
+.TP
+\fB$tvtype\fP : \fBtvtype_t\fP
+indicates how \fBgvpr\fP traverses a graph. At present, it can only take
+one of six values: \fBTV_flat\fP, \fBTV_dfs\fP, \fBTV_fwd\fP,
+\fBTV_ref\fP, \fBTV_bfs\fP, \fBTV_ne\fP, and \fBTV_en\fP.
+\fBTV_flat\fP is the default.
+The meaning of these values is discussed below.
+.TP
+\fBARGC\fP : \fBint\fP
+denotes the number of arguments specified by the
+\fB\-a\fP \fIargs\fP command\(hyline argument.
+.TP
+\fBARGV\fP : \fBstring array\fP
+denotes the array of arguments specified by the
+\fB\-a\fP \fIargs\fP
+command\(hyline argument. The \fIi\fPth argument is given
+by \fBARGV[\fIi\fP]\fR.
+.SH "BUILT\(hyIN CONSTANTS"
+.PP
+There are several symbolic constants defined by \fBgvpr\fP.
+.TP
+\fBNULL\fR : \fIobj_t\fR
+a null object reference, equivalent to 0.
+.TP
+\fBTV_flat\fR : \fItvtype_t\fR
+a simple, flat traversal, with graph objects visited in
+seemingly arbitrary order.
+.TP
+\fBTV_ne\fR : \fItvtype_t\fR
+a traversal which first visits all of the nodes, then all
+of the edges.
+.TP
+\fBTV_en\fR : \fItvtype_t\fR
+a traversal which first visits all of the edges, then all
+of the nodes.
+.TP
+\fBTV_dfs\fR : \fItvtype_t\fR
+a traversal of the graph using a depth\(hyfirst search on the
+underlying undirected graph.
+To do the traversal, \fBgvpr\fP will check the value of
+\fB$tvroot\fP. If this has the same value that it had previously
+(at the start, the previous value is initialized to \fBNULL\fP.), \fBgvpr\fP
+will simply look for some unvisited node and traverse its connected
+component. On the other hand, if \fB$tvroot\fP has changed, its connected
+component will be toured, assuming it has not been previously visited or,
+if \fB$tvroot\fP is \fBNULL\fP, the traversal will stop. Note that using
+\fBTV_dfs\fP and \fB$tvroot\fP, it is possible to create an infinite loop.
+.TP
+\fBTV_fwd\fR : \fItvtype_t\fR
+a traversal of the graph using a depth\(hyfirst search on the
+graph following only forward arcs. In
+.TP
+\fBTV_bfs\fR : \fItvtype_t\fR
+a traversal of the graph using a bread\(hyfirst search on the
+graph ignoring edge directions. See the item on \fBTV_dfs\fR above
+for the role of \fB$tvroot\fP.
+.IR libagraph (3),
+edges in undirected graphs are given an arbitrary direction, which is
+used for this traversal. The choice of roots for the traversal is the
+same as described for \fBTV_dfs\fR above.
+.TP
+\fBTV_rev\fR : \fItvtype_t\fR
+a traversal of the graph using a depth\(hyfirst search on the
+graph following only reverse arcs. In
+.IR libagraph (3),
+edges in undirected graphs are given an arbitrary direction, which is
+used for this traversal. The choice of roots for the traversal is the
+same as described for \fBTV_dfs\fR above.
+.SH EXAMPLES
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fBgvpr \-i 'N[color=="blue"]' file.dot\fP
+.fi
+.RE
+.DT
+.PP
+Generate the node\(hyinduced subgraph of all nodes with color blue.
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fBgvpr \-c 'N[color=="blue"]{color = "red"}' file.dot\fP
+.fi
+.RE
+.DT
+.PP
+Make all blue nodes red.
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fBBEGIN { int n, e; int tot_n = 0; int tot_e = 0; }
+BEG_G {
+ n = nNodes($G);
+ e = nEdges($G);
+ printf ("%d nodes %d edges %s\n", n, e, $G.name);
+ tot_n += n;
+ tot_e += e;
+}
+END { printf ("%d nodes %d edges total\n", tot_n, tot_e) }\fP
+.fi
+.RE
+.DT
+.PP
+Version of the program \fBgc\fP.
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fBgvpr \-c ""\fP
+.fi
+.RE
+.DT
+.PP
+Equivalent to \fBnop\fP.
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fBBEG_G { graph_t g = graph ("merge", "S"); }
+E {
+ node_t h = clone(g,$.head);
+ node_t t = clone(g,$.tail);
+ edge_t e = edge(t,h,"");
+ e.weight = e.weight + 1;
+}
+END_G { $O = g; }\fP
+.fi
+.RE
+.DT
+.PP
+Produces a strict version of the input graph, where the weight attribute
+of an edge indicates how many edges from the input graph the edge represents.
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fBBEGIN {node_t n; int deg[]}
+E{deg[head]++; deg[tail]++; }
+END_G {
+ for (deg[n]) {
+ printf ("deg[%s] = %d\n", n.name, deg[n]);
+ }
+}\fP
+.fi
+.RE
+.DT
+.PP
+Computes the degrees of nodes with edges.
+.SH ENVIRONMENT
+.TP
+.B GPRPATH
+Colon\(hyseparated list of directories to be searched to find
+the file specified by the \-f option.
+.SH BUGS AND WARNINGS
+When the program is given as a command line argument, the usual
+shell interpretation takes place, which may affect some of the
+special names in \fBgvpr\fP. To avoid this, it is best to wrap the
+program in single quotes.
+.PP
+As of 24 April 2008, \fBgvpr\fP switched to using a new, underlying
+graph library, which uses the simpler model that there is only one
+copy of a node, not one copy for each subgraph logically containing
+it. This means that iterators such as \Inxtnode\P cannot traverse
+a subgraph using just a node argument. For this reason, subgraph
+traversal requires new functions ending in "_sg", which also take
+a subgraph argument. The versions without that suffix will always
+traverse the root graph.
+.PP
+There is a single global scope, except for formal function parameters,
+and even these can interfere with the type system. Also, the
+extent of all variables is the entire life of the program.
+It might be preferable for scope
+to reflect the natural nesting of the clauses, or for the program
+to at least reset locally declared variables.
+For now, it is advisable to use distinct names for all variables.
+.PP
+If a function ends with a complex statement, such as an
+IF statement, with each branch doing a return, type checking may fail.
+Functions should use a return at the end.
+.PP
+The expr library does not support string values of (char*)0.
+This means we can't distinguish between "" and (char*)0 edge keys.
+For the purposes of looking up and creating edges, we translate ""
+to be (char*)0, since this latter value is
+necessary in order to look up any edge with a matching head and tail.
+.PP
+Related to this, strings converted to integers act like char pointers,
+getting the value 0 or 1 depending on whether the string consists
+solely of zeroes or not. Thus, the ((int)"2") evaluates to 1.
+.PP
+The language inherits the usual C problems such as dangling references
+and the confusion between '=' and '=='.
+.SH AUTHOR
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+.PP
+awk(1), gc(1), dot(1), nop(1), libexpr(3), libagraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gxl2gv.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gxl2gv.1
new file mode 100644
index 0000000..d801368
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gxl2gv.1
@@ -0,0 +1,92 @@
+.TH GXL2GV,GV2GXL 1 "20 December 2002"
+.SH NAME
+gxl2gv,gv2gxl \- GXL-GV converters
+.SH SYNOPSIS
+.B gxl2gv
+[
+.B \-gd?
+]
+[
+.BI -o outfile
+]
+[
+.I files
+]
+.br
+.B gv2gxl
+[
+.B \-gd?
+]
+[
+.BI -o outfile
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B gxl2gv
+converts between graphs represented in GXL and in the
+GV language. Unless a conversion type is specified using
+a flag,
+.B gxl2gv
+will deduce the type of conversion from the suffix of
+the input file, a ".gv" (or a ".dot") suffix causing a conversion from GV
+to GXL, and a ".gxl" suffix causing a conversion from GXL to GV.
+If no suffix is available, e.g. when the input is from a pipe,
+and no flags are used then
+.B gxl2gv
+assumes the type of the input file from its executable name
+so that
+.B gxl2gv
+converts from GXL to GV, and
+.B gv2gxl
+converts from GV to GXL.
+.PP
+GXL supports a much richer graph model than GV. \fBgxl2gv\fP
+will attempt to map GXL constructs into the analogous GV construct
+when this is possible. If not, the GXL information is stored as
+an attribute. The intention is that applying \fBgxl2gv|gv2gxl\fP
+is semantically equivalent to the identity operator.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-g
+The command name and input file extensions are ignored, the
+input is taken as a GV file and a GXL file is generated.
+.TP
+.B \-d
+The command name and input file extensions are ignored, the
+input is taken as a GXL file and a GV file is generated.
+.TP
+.B \-?
+Prints usage information and exits.
+.TP
+.BI \-o " outfile"
+If specified, the output will be written into the file
+\fIoutfile\fP. Otherwise, output is written to standard out.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in GXL or GV.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH RETURN CODES
+Both \fBgxl2gv\fP and \fBgv2gxl\fP return \fB0\fP
+if there were no problems during conversion;
+and non-zero if any error occurred.
+.SH "BUGS"
+\fBgxl2gv\fP will only convert in one direction even if given multiple files
+with varying suffixes.
+.PP
+The conversion can only handle one graph per GXL file.
+.PP
+There are some GXL constructs which \fBgxl2gv\fP cannot handle.
+.SH AUTHORS
+Krishnam Pericherla <kp@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+dot(1), libgraph(3), libagraph(3), neato(1), twopi(1)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lefty.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lefty.1
new file mode 100644
index 0000000..7006ae9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lefty.1
@@ -0,0 +1,120 @@
+.TH LEFTY 1
+.SH NAME
+lefty \- A Programmable Graphics Editor
+.SH SYNOPSIS
+.B lefty
+[
+.I options
+] [
+.I file
+]
+.SH DESCRIPTION
+.B lefty
+is a two-view graphics editor for technical pictures. This editor has
+no hardwired knowledge about specific picture layouts or editing operations.
+Each picture is described by a program that contains functions to draw the
+picture and functions to perform editing operations that are appropriate for
+the specific picture. Primitive user actions, like mouse and keyboard events,
+are also bound to functions in this program. Besides the graphical view of the
+picture itself, the editor presents a textual view of the program that
+describes the picture. Programmability and the two-view interface allow the
+editor to handle a variety of pictures, but are particularly useful for
+pictures used in technical contexts, e.g., graphs and trees. Also,
+.B lefty
+can communicate with other processes. This feature allows it to use existing
+tools to compute specific picture layouts and allows external processes to use
+the editor as a front end to display their data structures graphically.
+.SH USAGE
+The file name is optional. It may be
+.BR - ,
+for reading from standard input.
+.B lefty
+uses two environment variables,
+.B LEFTYPATH
+and
+.BR LEFTYOPTIONS .
+.B LEFTYPATH
+is a colon separated list of directories. When
+.B lefty
+tries to open a file, it searches that path for the file. When
+.B lefty
+tries to start up another process, it searches
+.B LEFTYPATH
+first, then the standard
+.B PATH
+variable.
+.B LEFTYOPTIONS
+can be used to set specific options. Options specified on the command line
+override options set through this variable.
+.SH OPTIONS
+.TP
+.B -x
+Instructs the editor to exit after processing
+.BR file .
+.TP
+.B "-e <expression>"
+.B <expression>
+is parsed and executed.
+.TP
+.B -el <num>
+Set error reporting level. The default value is
+.BR 0 .
+.B 0
+never prints any messages.
+.B 1
+prints severe errors, such as trying to return from a non function.
+.B 2
+is the most useful: it reports function calls that cannot be executed, either
+because there is no function, or because of argument mismatches.
+.B 3
+also warns about bad variable names.
+.B 4,5
+warn about expressions that do not return a value. Only level
+.B 1
+messages are real errors. The rest arise from legal
+.B lefty
+statements, but may be cased by some logic errors.
+.TP
+.B "-sd <num>"
+Specifies how much of the stack to show, when an error message is to be
+printed. The default value is
+.BR 2 .
+With
+.BR 0 ,
+no part of the stack is shown. With
+.BR 1 ,
+only the top stack frame is printed. With
+.BR 2 ,
+the full stack is printed.
+.TP
+.B "-sb <num>"
+Specifies how much of each function in the stack to show, when an error message
+is to be printed. The default value is
+.BR 2 .
+With
+.BR 0 ,
+no part of the function is shown. With
+.BR 1 ,
+only the line around the error is printed. With
+.BR 2 ,
+the full function body is printed.
+.TP
+.B "-df <string>"
+Sets the default font. This font is used whenever a requested font cannot be
+found. The string must be a legal X font. If string is
+.BR "''" ,
+.B lefty
+will draw small boxes instead of text.
+.TP
+.B "-ps <file>"
+Specifies a default file name for postscript files. This name is used when no
+name is specified in the
+.B createwidget
+call. The default file name is
+.BR out.ps .
+.TP
+.B -V
+Prints the version.
+.SH SEE ALSO
+.I lefty
+user guide.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lneato.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lneato.1
new file mode 100644
index 0000000..95ab644
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lneato.1
@@ -0,0 +1,49 @@
+.TH LNEATO 1
+.SH NAME
+lneato \- A Customizable Graph Editor
+.SH SYNOPSIS
+.B lneato
+[
+.B -V
+] [
+.I file
+]
+.SH DESCRIPTION
+.B lneato
+is a graph editor for the X Window System. It may be run as a standalone
+editor, or as a front end for applications that use graphs. It can control
+multiple windows viewing different graphs.
+
+.B lneato
+is written on top of
+.B neato
+and
+.BR lefty .
+.B lefty
+is a general-purpose programmable editor for technical pictures. It has an
+interpretive programming language similar to AWK and C. The user interface and
+graph editing operations of
+.B lneato
+are written as
+.B lefty
+functions.
+Programmer-defined graph operations may be loaded as well. Graph layouts are
+made by
+.BR neato ,
+which runs as a separate process that communicates with
+.B lefty
+through pipes.
+.SH USAGE
+The file name is optional. If present, the graph contained in that file is
+displayed in the
+.B lneato
+window.
+.SH OPTIONS
+.TP
+.B -V
+Prints the version.
+.SH SEE ALSO
+neato(1), lefty(1), dotty(1),
+.br
+.I dotty
+user guide.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/mm2gv.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/mm2gv.1
new file mode 100644
index 0000000..5745223
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/mm2gv.1
@@ -0,0 +1,47 @@
+.TH MM2GV 1 "31 July 2008"
+.SH NAME
+mm2gv \- Matrix Market-DOT converters
+.SH SYNOPSIS
+.B mm2gv
+[
+.B \-u?
+]
+[
+.BI -o outfile
+]
+[
+.I file
+]
+.br
+.SH DESCRIPTION
+.B mm2gv
+converts a sparse matrix of the Matrix Market format to a graph in the GV (formerly DOT) format.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-u
+If specified, the graph is assumed to be undirected. By default the graph generated is directed.
+.TP
+.BI \-o "outfile"
+Prints output to the file \fIoutfile\fP. If not given, \fBmm2gv\fP
+uses stdout.
+.TP
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I file
+Name of the file in MatrixMarket format.
+If no
+.I file
+operand is specified,
+the standard input will be used.
+.SH RETURN CODES
+Return \fB0\fP
+if there were no problems during conversion;
+and non-zero if any error occurred.
+.SH "LIMITATIONS"
+Currently the matrix entry values are not used.
+.SH AUTHORS
+Yifan Hu <yifanhu@research.att.com>
+.SH ADDITIONAL INFO
+See http://math.nist.gov/MatrixMarket/ for description of the format and http://www.cise.ufl.edu/research/sparse/matrices/ for a large collection of sparse matrices in this format.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/neato.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/neato.1
new file mode 100644
index 0000000..6ef258f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/neato.1
@@ -0,0 +1,669 @@
+.TH DOT 1 "23 August 2004" \*(eX
+.SH NAME
+dot \- filter for drawing directed graphs
+.br
+neato \- filter for drawing undirected graphs
+.br
+twopi \- filter for radial layouts of graphs
+.br
+circo \- filter for circular layout of graphs
+.br
+fdp \- filter for drawing undirected graphs
+.SH SYNOPSIS
+\fBdot\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBneato\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-n\fR[\fB1\fR|\fB2\fR]]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBtwopi\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBcirco\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBfdp\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.SH DESCRIPTION
+.I dot
+draws directed graphs. It works well on DAGs and other graphs
+that can be drawn as hierarchies.
+It reads attributed graph files and writes drawings.
+By default, the output format
+.I dot
+is the input file with layout coordinates appended.
+.PP
+.I neato
+draws undirected graphs using ``spring'' models (see Kamada and Kawai,
+Information Processing Letters 31:1, April 1989). Input files must be
+formatted in the
+.I dot
+attributed graph language.
+By default, the output of
+.I neato
+is the input graph with layout coordinates appended.
+.PP
+.I twopi
+draws graphs using a radial layout (see G. Wills,
+Symposium on Graph Drawing GD'97, September, 1997).
+Basically, one node is chosen as the center and put at the origin.
+The remaining nodes are placed on a sequence of concentric circles
+centered about the origin, each a fixed radial distance from the
+previous circle.
+All nodes distance 1 from the center are placed on the first circle;
+all nodes distance 1 from a node on the first circle are placed on
+the second circle; and so forth.
+.PP
+.I circo
+draws graphs using a circular layout (see
+Six and Tollis, GD '99 and ALENEX '99, and
+Kaufmann and Wiese, GD '02.)
+The tool identifies biconnected components and draws the nodes of
+the component on a circle. The block\(hycutpoint tree
+is then laid out using a recursive radial algorithm. Edge
+crossings within a circle are minimized by placing as many edges on
+the circle's perimeter as possible.
+In particular, if the component is outerplanar, the component will
+have a planar layout.
+.PP
+If a node belongs to multiple non\(hytrivial biconnected components,
+the layout puts the node in one of them. By default, this is the first
+non\(hytrivial component found in the search from the root component.
+.PP
+.I fdp
+draws undirected graphs using a ``spring'' model. It relies on a
+force\(hydirected approach in the spirit of Fruchterman and Reingold
+(cf. Software\(hyPractice & Experience 21(11), 1991, pp. 1129\(hy1164).
+.SH OUTPUT FORMATS
+Dot uses an extensible plugin mechanism for its output renderers,
+so to see what output formats your installation of dot supports
+you can use ``dot \-Txxx'' (where xxx is an unlikely format)
+and check the warning message.
+Also, The plugin mechanism supports multiple implementations
+of the output formats.
+To see what variants are available, use, for example: ``dot \-Tpng:''
+and to force a particular variant, use, for example: ``dot \-Tpng:gd''
+.P
+Traditionally, dot supports the following:
+\fB\-Tps\fP (PostScript),
+\fB\-Tsvg\fP \fB\-Tsvgz\fP (Structured Vector Graphics),
+\fB\-Tfig\fP (XFIG graphics),
+\fB\-Tmif\fP (FrameMaker graphics),
+\fB\-Thpgl\fP (HP pen plotters), and \fB\-Tpcl\fP (Laserjet printers),
+\fB\-Tpng\fP \fB\-Tgif\fP (bitmap graphics),
+\fB\-Tdia\fP (GTK+ based diagrams),
+\fB\-Timap\fP (imagemap files for httpd servers for each node or edge
+that has a non(hynull "href" attribute.),
+\fB\-Tcmapx\fP (client\(hyside imagemap for use in html and xhtml).
+Additional less common or more special\(hypurpose output formats
+can be found at http://www.graphviz.org/cvs/doc/info/output.html.)
+.SH GRAPH FILE LANGUAGE
+Here is a synopsis of the graph file language, traditionally using the extension \fB.dot\fR, for graphs:
+.PP
+[\fBstrict\fR] (\fBgraph\fR|\fBdigraph\fR) \fIname\fP { \fIstatement\(hylist\fP }\fR
+.br
+Is the top level graph. If the graph is \fBstrict\fR then multiple edges are
+not allowed between the same pairs of nodes.
+If it is a directed graph, indicated by \fBdigraph\fR,
+then the \fIedgeop\fR must be "\->". If it is an undirected \fBgraph\fR
+then the \fIedgeop\fR must be "\-\-".
+Statements may be:
+.PP
+\fIname\fB=\fIval\fB;\fR
+.br
+\fBnode [\fIname\fB=\fIval\fB];\fR
+.br
+\fBedge [\fIname\fB=\fIval\fB];\fR
+.br
+Set default graph, node, or edge attribute \fIname\fP to \fIval\fP.
+Any subgraph, node, or edge appearing after this inherits the new
+default attributes.
+.PP
+\fBn0 [\fIname0=val0,name1=val1,...\fB];\fR
+Creates node \fBn0\fP (if it does not already exist)
+and sets its attributes according to the optional list.
+.PP
+\fBn0 \fIedgeop\fR n1 \fIedgeop\fR \fI...\fB \fIedgeop\fR nn [\fIname0=val0,name1=val1,...\fB];\fR
+.br
+Creates edges between nodes \fBn0\fP, \fBn1\fP, ..., \fBnn\fP and sets
+their attributes according to the optional list.
+Creates nodes as necessary.
+.PP
+[\fBsubgraph \fIname\fB] { \fIstatement\(hylist \fB}\fR
+.br
+Creates a subgraph. Subgraphs may be used in place
+of \fBn0\fP, ..., \fBnn\fP in the above statements to create edges.
+[\fBsubgraph \fIname\fR] is optional;
+if missing, the subgraph is assigned an internal name.
+.PP
+Comments may be /*C\(hylike*/ or //C++\(hylike.
+
+.PP
+Attribute names and values are ordinary (C\(hystyle) strings.
+The following sections describe attributes that control graph layout.
+
+.SH "GRAPH ATTRIBUTES"
+.PP
+\fBsize="\fIx,y\fP"\fR sets bounding box of drawing in inches.
+.PP
+\fBpage="\fIx,y\fP"\fR sets the PostScript pagination unit.
+.PP
+\fBratio=\fIf\fR sets the aspect ratio to \fIf\fP which may be
+a floating point number, or one of the keywords \fBfill\fP,
+\fBcompress\fP, or \fBauto\fP.
+.PP
+\fBmargin=\fIf\fR sets the page margin (included in the page size).
+.PP
+\fBnodesep=\fIf\fR sets the minimum separation between nodes.
+.PP
+\fBranksep=\fIf\fR sets the minimum separation between ranks.
+.PP
+\fBordering=out\fR constrains order of out\(hyedges in a subgraph
+according to their file sequence.
+.PP
+\fBrankdir=LR|RL|BT\fR requests a left\(hyto\(hyright, right\(hyto\(hyleft, or bottom\(hyto\(hytop, drawing.
+.PP
+\fBpagedir=\fR[TBLR][TBLR] sets the major and minor order of pagination.
+.PP
+\fBrank=same\fR (or \fBmin\fP or \fBmax\fP) in a subgraph
+constrains the rank assignment of its nodes. If a subgraph's
+name has the prefix \fBcluster\fP, its nodes are drawn in
+a distinct rectangle of the layout. Clusters may be nested.
+.PP
+\fBrotate=90\fR sets landscape mode.
+(\fBorientation=land\fR is backward compatible but obsolete.)
+.PP
+\fBcenter=\fIn\fR a non\(hyzero value centers the drawing on the page.
+.PP
+\fBnslimit=\fIf\fR or \fBmclimit=\fIf\fR adjusts the bound on the
+number of network simplex or mincross iterations by the given ratio.
+For example, \fBmclimit=2.0\fP runs twice as long.
+.PP
+\fBlayers="\fIid:id:id:id\fR" is a sequence of layer identifiers for
+overlay diagrams. The PostScript array variable \fIlayercolorseq\fR
+sets the assignment of colors to layers. The least index is 1 and
+each element must be a 3\(hyelement array to be interpreted as a color coordinate.
+.PP
+\fBcolor=\fIcolorvalue\fR sets foreground color (\fBbgcolor\fP for background).
+.PP
+\fBhref=\fI"url"\fR the default url for image map files; in PostScript files,
+the base URL for all relative URLs, as recognized by Acrobat Distiller
+3.0 and up.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBstylesheet=\fI"file.css"\fR includes a reference to a stylesheet
+in \-Tsvg and \-Tsvgz outputs. Ignored by other formats.
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBstart=\fIval\fR. Requests random initial placement and seeds
+the random number generator. If \fIval\fP is not an integer,
+the process ID or current time is used as the seed.
+.PP
+\fBepsilon=\fIn\fR. Sets the cutoff for the solver.
+The default is 0.1.
+.PP
+\fBsplines=\fIboolean\fR. Setting this to \fItrue\fR causes edges to be
+drawn as splines if nodes don't overlap. The default is \fIfalse\fR.
+
+.PP
+\fB(twopi\(hyspecific attributes)\fR
+.br
+\fBroot=\fIctr\fR. This specifies the node to be used as the center of
+the layout. If not specified, \fItwopi\fP will randomly pick one of the
+nodes that are furthest from a leaf node, where a leaf node is a node
+of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.
+.PP
+\fBranksep=\fIval\fR. Specifies the radial distance in inches between
+the sequence of rings. The default is 0.75.
+.PP
+\fBoverlap=\fImode\fR. This specifies what \fItwopi\fP should do if
+any nodes overlap. If mode is \fI"false"\fP, the program uses Voronoi
+diagrams to adjust the nodes to eliminate overlaps. If mode is \fI"scale"\fP,
+the layout is uniformly scaled up, preserving node sizes, until nodes no
+longer overlap. The latter technique removes overlaps while preserving
+symmetry and structure, while the former removes overlaps more compactly
+but destroys symmetries.
+If mode is \fI"true"\fP (the default), no repositioning is done.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fItwopi\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fInodename\fR. Specifies the name of a node occurring in the
+root block. If the graph is disconnected, the \fBroot\fP node attribute
+can be used to specify additional root blocks.
+.PP
+\fBmindist=\fIvalue\fR. Sets the minimum separation between all nodes. If not
+specified then \fIcirco\fP uses a default value of 1.0.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fIcirco\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBK=\fIval\fR. Sets the default ideal node separation
+in the layout.
+.PP
+\fBmaxiter=\fIval\fR. Sets the maximum number of iterations used to
+layout the graph.
+.PP
+\fBstart=\fIval\fR. Adjusts the random initial placement of nodes
+with no specified position. If \fIval\fP is is an integer,
+it is used as the seed for the random number generator.
+If \fIval\fP is not an integer, a random system\(hygenerated integer,
+such as the process ID or current time, is used as the seed.
+.PP
+\fBsplines=\fIval\fR. If \fIval\fR is "true", edges are drawn
+as splines to avoid nodes. By default, edges are draw as line segments.
+.PP
+
+.SH "NODE ATTRIBUTES"
+.PP
+\fBheight=\fId\fR or \fBwidth=\fId\fR sets minimum height or width.
+Adding \fBfixedsize=true\fP forces these to be the actual size
+(text labels are ignored).
+.PP
+\fBshape=record polygon epsf \fIbuiltin_polygon\fR
+.br
+\fIbuiltin_polygon\fR is one of: \fBplaintext ellipse oval circle egg
+triangle box diamond trapezium parallelogram house hexagon octagon
+note tab box3d component.\fR
+(Polygons are defined or modified by the following node attributes:
+\fBregular\fR, \fBperipheries\fR, \fBsides\fR, \fBorientation\fR,
+\fBdistortion\fR and \fBskew\fR.) \fBepsf\fR uses the node's
+\fBshapefile\fR attribute as the path name of an external
+EPSF file to be automatically loaded for the node shape.
+.PP
+\fBlabel=\fItext\fR where \fItext\fP may include escaped newlines
+\\\|n, \\\|l, or \\\|r for center, left, and right justified lines.
+The string '\\N' value will be replaced by the node name.
+Record labels may contain recursive box lists delimited by { | }.
+Port identifiers in labels are set off by angle brackets < >.
+In the graph file, use colon (such as, \fBnode0:port28\fR).
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBcolor=\fIcolorvalue\fR sets the outline color, and the default fill color
+if style=filled and \fBfillcolor\fR is not specified.
+.PP
+\fBfillcolor=\fIcolorvalue\fR sets the fill color
+when style=filled. If not specified, the fillcolor when style=filled defaults
+to be the same as the outline color.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+A \fIcolorvalue\fP may be "\fIh,s,v\fB"\fR (hue, saturation, brightness)
+floating point numbers between 0 and 1, or an X11 color name such as
+\fBwhite black red green blue yellow magenta cyan\fR or \fBburlywood\fR,
+or a "\fI#rrggbb" (red, green, blue, 2 hex characters each) value.
+.PP
+\fBstyle=filled solid dashed dotted bold invis\fP or any Postscript code.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the node's active layers.
+The empty string means no layers (invisible).
+.PP
+The following attributes apply only to polygon shape nodes:
+.PP
+\fBregular=\fIn\fR if \fIn\fR is non\(hyzero then the polygon is made
+regular, i.e. symmetric about the x and y axis, otherwise the
+polygon takes on the aspect ratio of the label.
+\fIbuiltin_polygons\fR that are not already regular are made regular
+by this attribute.
+\fIbuiltin_polygons\fR that are already regular are not affected (i.e.
+they cannot be made asymmetric).
+.PP
+\fBperipheries=\fIn\fR sets the number of periphery lines drawn around
+the polygon. This value supersedes the number of periphery lines
+of \fIbuiltin_polygons\fR.
+.PP
+\fBsides=\fIn\fR sets the number of sides to the polygon. \fIn\fR<3
+results in an ellipse.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBorientation=\fIf\fR sets the orientation of the first apex of the
+polygon counterclockwise from the vertical, in degrees.
+\fIf\fR may be a floating point number.
+The orientation of labels is not affected by this attribute.
+This attribute is added to the initial orientation of \fIbuiltin_polygons.\fR
+.PP
+\fBdistortion=\fIf\fR sets the amount of broadening of the top and
+narrowing of the bottom of the polygon (relative to its orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBskew=\fIf\fR sets the amount of right\(hydisplacement of the top and
+left\(hydisplacement of the bottom of the polygon (relative to its
+orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL.
+The target string is used to determine which window of the browser is used
+for the URL. Setting it to "_graphviz" will open a new window if it doesn't
+already exist, or reuse it if it does.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL. The tooltip string defaults to be the
+same as the label string, but this attribute permits nodes without
+labels to still have tooltips thus permitting denser graphs.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fItrue/false\fR. This specifies that the block containing the given
+node be treated as the root of the spanning tree in the layout.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBpin=\fIval\fR. If \fIval\fR is "true", the node will remain at
+its initial position.
+
+.SH "EDGE ATTRIBUTES"
+\fBminlen=\fIn\fR where \fIn\fP is an integer factor that applies
+to the edge length (ranks for normal edges, or minimum node separation
+for flat edges).
+.PP
+\fBweight=\fIn\fR where \fIn\fP is the integer cost of the edge.
+Values greater than 1 tend to shorten the edge. Weight 0 flat
+edges are ignored for ordering nodes.
+.PP
+\fBlabel=\fItext\fR where \fItext\fR may include escaped newlines
+\\\|n, \\\|l, or \\\|r for centered, left, or right justified lines.
+If the substring '\\T' is found in a label it will be replaced by the tail_node name.
+If the substring '\\H' is found in a label it will be replaced by the head_node name.
+If the substring '\\E' value is found in a label it will be replaced by: tail_node_name\->head_node_name
+or by: tail_node_name\-\-head_node_name for undirected graphs.
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+\fBstyle=solid dashed dotted bold invis\fP
+.PP
+\fBcolor=\fIcolorvalue\fR sets the line color for edges.
+.PP
+\fBcolor=\fIcolorvaluelist\fR a ':' separated list of \fIcolorvalue\fR creates
+parallel edges, one edge for each color.
+.PP
+\fBdir=forward back both none\fP controls arrow direction.
+.PP
+\fBtailclip,headclip=false\fP disables endpoint shape clipping.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edges have a URL.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when edges have a URL. The tooltip string defaults to be the
+same as the edge label string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBarrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot,
+tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow\fP.
+.PP
+\fBarrowsize\fP (norm_length=10,norm_width=5,
+inv_length=6,inv_width=7,dot_radius=2)
+.PP
+\fBheadlabel,taillabel=string\fP for port labels.
+\fBlabelfontcolor\fP,\fBlabelfontname\fP,\fBlabelfontsize\fP
+for head and tail labels.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadhref=\fI"url"\fR sets the url for the head port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadURL=\fI"url"\fR ("headURL" is a synonym for "headhref".)
+.PP
+\fBheadtarget=\fI"headtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge heads have a URL.
+The headtarget string is used to determine which window of the browser is used
+for the URL. If the headtarget string is empty, the default,
+then headtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when head ports have a URL. The tooltip string defaults to be the
+same as the headlabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailhref=\fI"url"\fR sets the url for the tail port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailURL=\fI"url"\fR ("tailURL" is a synonym for "tailhref".)
+.PP
+\fBtailtarget=\fI"tailtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge tails have a URL.
+The tailtarget string is used to determine which window of the browser is used
+for the URL. If the tailtarget string is empty, the default,
+then tailtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when tail ports have a URL. The tooltip string defaults to be the
+same as the taillabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBlabeldistance\fP and \fPport_label_distance\fP set distance; also
+\fBlabelangle\fP (in degrees CCW)
+.PP
+\fBdecorate\fP draws line from edge to label.
+.PP
+\fBsamehead,sametail\fP aim edges having the same value to the
+same port, using the average landing point.
+.PP
+\fBconstraint=false\fP causes an edge to be ignored for rank assignment.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the edgess active layers.
+The empty string means no layers (invisible).
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBw=\fIf\fR sets the weight (spring constant) of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.PP
+\fBlen=\fIf\fR sets the optimal length of an edge.
+The default is 1.0.
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBweight=\fIf\fR sets the weight of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.SH "COMMAND LINE OPTIONS"
+\fB\-G\fP sets a default graph attribute.
+.br
+\fB\-N\fP sets a default node attribute.
+.br
+\fB\-E\fP sets a default edge attribute.
+Example: \fB\-Gsize="7,8" \-Nshape=box \-Efontsize=8\fR
+.PP
+\fB\-l\fIfile\fR loads custom PostScript library files.
+Usually these define custom shapes or styles.
+If \fB\-l\fP is given by itself, the standard library is omitted.
+.PP
+\fB\-T\fIlang\fR sets the output language as described above.
+
+.PP
+\fB\-n\fR[\fB1\fR|\fB2\fR] (no\(hyop)
+If set, neato assumes nodes have already been positioned and all
+nodes have a pos attribute giving the positions.
+It then performs an optional adjustment to remove node\(hynode overlap,
+depending on the value of the overlap attribute,
+computes the edge layouts, depending on the value of the \fBsplines\fR attribute,
+and emits the graph in the appropriate format.
+If num is supplied, the following actions occur:
+.nf
+ num = 1
+.fi
+Equivalent to \-n.
+.nf
+ num > 1
+.fi
+Use node positions as specified,
+with no adjustment to remove node\(hynode overlaps,
+and use any edge layouts already specified by the pos attribute.
+neato computes an edge layout for any edge that does not have a pos attribute.
+As usual, edge layout is guided by the \fBsplines\fR attribute.
+.PP
+\fB\-v\fP (verbose) prints delta energy every 100th iteration.
+.PP
+\fB\-V\fP (version) prints version information and exits.
+.PP
+\fB\-?\fP prints the usage and exits.
+.SH "EXAMPLES"
+.nf
+digraph test123 {
+ a \-> b \-> c;
+ a \-> {x y};
+ b [shape=box];
+ c [label="hello\\\|nworld",color=blue,fontsize=24,
+ fontname="Palatino\-Italic",fontcolor=red,style=filled];
+ a \-> z [label="hi", weight=100];
+ x \-> z [label="multi\-line\\\|nlabel"];
+ edge [style=dashed,color=red];
+ b \-> x;
+ {rank=same; b x}
+}
+.fi
+.PP
+.nf
+graph test123 {
+ a \-\- b \-\- c;
+ a \-\- {x y};
+ x \-\- c [w=10.0];
+ x \-\- y [w=5.0,len=3];
+}
+.fi
+.SH "CAVEATS"
+Edge splines can overlap unintentionally.
+.PP
+Flat edge labels are slightly broken.
+Intercluster edge labels are totally broken.
+.PP
+Because unconstrained optimization is employed, node boxes can
+possibly overlap or touch unrelated edges. All existing
+spring embedders seem to have this limitation.
+.PP
+Apparently reasonable attempts to pin nodes or adjust edge lengths
+and weights can cause instability.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.br
+John C. Ellson <ellson@research.att.com>
+.PP
+The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>
+.PP
+The Truetype font renderer is from
+the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg)
+(who can be contacted at freetype\-devel@lists.lrz\-muenchen.de).
+.SH "SEE ALSO"
+This man page contains only a small amount of the information related
+to the Graphviz layout programs. The most complete information can be
+found at http://www.graphviz.org/Documentation.php, especially in the
+on\(hyline reference pages. Most of these documents are also available in the
+\fIdoc\fP and \fIdoc/info\fP subtrees in the source and binary distributions.
+.PP
+dotty(1)
+.br
+tcldot(n)
+.br
+xcolors(1)
+.br
+libgraph(3)
+.PP
+E. R. Gansner, S. C. North, K. P. Vo, "DAG \(hy A Program to Draw Directed Graphs", Software \(hy Practice and Experience 17(1), 1988, pp. 1047\(hy1062.
+.br
+E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, "A Technique for Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214\(hy230.
+.br
+S. North and E. Koutsofios, "Applications of graph visualization",
+Graphics Interface 94, pp. 234\(hy245.
+.br
+E. Koutsofios and S. C. North, "Drawing Graphs with dot,"
+Available on research.att.com in dist/drawdag/dotguide.ps.Z.
+.br
+S. C. North, "NEATO User's Manual".
+Available on research.att.com in dist/drawdag/neatodoc.ps.Z.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/nop.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/nop.1
new file mode 100644
index 0000000..288974c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/nop.1
@@ -0,0 +1,31 @@
+.TH NOP 1 "21 March 2001"
+.SH NAME
+nop \- pretty-print graph file
+.SH SYNOPSIS
+.B nop
+[
+.B \-p?
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B nop
+reads a stream of graphs and prints each in pretty-printed (canonical) format
+on stdout. If no
+.I files
+are given, it reads from stdin.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-p
+Produce no output - just check the input for valid DOT.
+.TP
+.B \-?
+Print usage information.
+.SH "EXIT STATUS"
+If any errors occurred while processing any input, such as a file
+not found or a file containing illegal DOT, a non-zero exit value
+is returned. Otherwise, zero is returned.
+.SH "SEE ALSO"
+wc(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/prune.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/prune.1
new file mode 100644
index 0000000..d69caf6
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/prune.1
@@ -0,0 +1,155 @@
+.\" Copyright (c) 2002 Marcus Harnisch <marcus.harnisch@gmx.net>
+.\"
+.\" This is free documenation. It is provided to you without any
+.\" warranty that it is useful or that you can understand it.
+.\"
+.\" You are granted the right to use and redistribute the source code
+.\" or parts of it (even single words and letters), provided that the
+.\" copyright notice and the license terms will not be removed.
+.\"
+.TH prune 1
+
+.SH NAME
+prune \- Prune directed graphs
+.SH SYNOPSIS
+.B prune
+[
+.BI \-n " node"
+]
+[
+.BI \-N " attrspec"
+]
+[
+.I files ...
+]
+.SH DESCRIPTION
+.B prune
+reads directed graphs in the same format used by
+.B dot(1)
+and removes subgraphs rooted at nodes specified on the
+command line via options. These nodes themselves will not be removed,
+but can be given attributes so that they can be easily located by a
+graph stream editor such as
+.B gpr(1).
+.B prune
+correctly handles cycles, loops and multi\(hyedges.
+
+Both options can appear multiple times on the command line. All
+subgraphs rooted at the respective nodes given will then be
+processed. If a node does not exist,
+.B prune
+will skip it and print a warning message to stderr.
+If multiple attributes are given, they will be applied to
+all nodes that have been processed.
+.B prune
+writes the result to the stdout.
+.SH OPTIONS
+.TP
+.BI \-n " name"
+Specifies name of node to prune.
+.TP
+.BI \-N " attrspec"
+Specifies attribute that will be set (or changed if it exists) for any
+pruned node.
+.I attrspec
+is a string of the form
+.IR attr "=" value.
+
+.SH EXAMPLES
+An input graph
+.I test.dot
+of the form
+.PP
+ digraph DG {
+.br
+ A \-> B;
+.br
+ A \-> C;
+.br
+
+.br
+ B \-> D;
+.br
+ B \-> E;
+.br
+ }
+.br
+
+, processed by the command
+.PP
+ prune \-n B test.dot
+.PP
+would produce the following output (the actual code might be formatted
+in a slightly different way).
+.PP
+ digraph DG {
+.br
+ A \-> B;
+.br
+ A \-> C;
+.br
+ }
+.br
+
+Another input graph
+.I test.dot
+of the form
+.PP
+ digraph DG {
+.br
+ A \-> B;
+.br
+ A \-> C;
+.br
+
+.br
+ B \-> D;
+.br
+ B \-> E;
+.br
+
+.br
+ C \-> E;
+.br
+ }
+.br
+
+(note the additional edge from
+.I C
+to
+.I E
+), processed by the command
+.PP
+ prune \-n B \-N color=red test.dot
+.PP
+results in
+.PP
+ digraph DG {
+.br
+ B [color=red];
+.br
+ A \-> B;
+.br
+ A \-> C;
+.br
+ C \-> E;
+.br
+ }
+.br
+
+Node
+.I E
+has not been removed since its second parent
+.I C
+is not being pruned.
+
+.SH "EXIT STATUS"
+.B prune
+returns 0 on successful completion.
+It returns 1 if an error occurs.
+.SH SEE ALSO
+.BR dot (1),
+.BR gpr (1)
+
+.SH AUTHOR
+Marcus Harnisch <marcus.harnisch@gmx.net>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/sccmap.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/sccmap.1
new file mode 100644
index 0000000..b8e8024
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/sccmap.1
@@ -0,0 +1,55 @@
+.TH SCCMAP 1 "21 March 2001" \*(eX
+.SH NAME
+sccmap \- extract strongly connected components of directed graphs
+.SH SYNOPSIS
+\fBsccmap\fR
+[\fB\-dsv\fR]
+[
+.I files
+]
+.SH DESCRIPTION
+.I sccmap
+decomposes digraphs into strongly connected components
+and an auxiliary map of the relationship between components.
+In this map, each component is collapsed into a node.
+The resulting graphs are printed to standard out.
+The number of nodes, edges and strongly connected components
+are printed to standard error.
+.B sccmap
+is a way of partitioning large graphs into more manageable pieces.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-d
+Preserve degenerate components of only one node.
+.TP
+.B \-s
+Do not print the resulting graphs. Only the statistics are
+important.
+.TP
+.B \-v
+Generate additional statistics. In particular,
+.B sccmap
+prints the number of nodes, edges, connected components,
+and strongly connected components, followed by the fraction of
+nodes in a non-trivial strongly connected components,
+the maximum degree of the graph, and fraction of non-tree edges
+in the graph.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in dot format.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH "DIAGNOSTICS"
+\fBsccmap\fP emits a warning if it encounters an undirected graph,
+and ignores it.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+gc(1), dot(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/tred.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/tred.1
new file mode 100644
index 0000000..e15c3c1
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/tred.1
@@ -0,0 +1,42 @@
+.TH TRED 1 "21 March 2001"
+.SH NAME
+tred \- transitive reduction filter for directed graphs
+.SH SYNOPSIS
+.B tred
+[
+.I files
+]
+.SH DESCRIPTION
+.B tred
+computes the transitive reduction of directed graphs,
+and prints the resulting graphs to standard output.
+This removes edges implied by transitivity.
+Nodes and subgraphs are not otherwise affected.
+The ``meaning'' and validity of the reduced graphs
+is application dependent.
+.B tred
+is particularly useful as a preprocessor to
+.I dot
+to reduce clutter in dense layouts.
+.PP
+Undirected graphs are silently ignored.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in dot format.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH "BUGS"
+Using bitmaps internally would substantially decrease running time.
+.SH "DIAGNOSTICS"
+If a graph has cycles, its transitive reduction is not uniquely defined.
+In this case \fItred\fP emits a warning.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+gc(1), dot(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/twopi.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/twopi.1
new file mode 100644
index 0000000..6ef258f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/twopi.1
@@ -0,0 +1,669 @@
+.TH DOT 1 "23 August 2004" \*(eX
+.SH NAME
+dot \- filter for drawing directed graphs
+.br
+neato \- filter for drawing undirected graphs
+.br
+twopi \- filter for radial layouts of graphs
+.br
+circo \- filter for circular layout of graphs
+.br
+fdp \- filter for drawing undirected graphs
+.SH SYNOPSIS
+\fBdot\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBneato\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-n\fR[\fB1\fR|\fB2\fR]]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBtwopi\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBcirco\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBfdp\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.SH DESCRIPTION
+.I dot
+draws directed graphs. It works well on DAGs and other graphs
+that can be drawn as hierarchies.
+It reads attributed graph files and writes drawings.
+By default, the output format
+.I dot
+is the input file with layout coordinates appended.
+.PP
+.I neato
+draws undirected graphs using ``spring'' models (see Kamada and Kawai,
+Information Processing Letters 31:1, April 1989). Input files must be
+formatted in the
+.I dot
+attributed graph language.
+By default, the output of
+.I neato
+is the input graph with layout coordinates appended.
+.PP
+.I twopi
+draws graphs using a radial layout (see G. Wills,
+Symposium on Graph Drawing GD'97, September, 1997).
+Basically, one node is chosen as the center and put at the origin.
+The remaining nodes are placed on a sequence of concentric circles
+centered about the origin, each a fixed radial distance from the
+previous circle.
+All nodes distance 1 from the center are placed on the first circle;
+all nodes distance 1 from a node on the first circle are placed on
+the second circle; and so forth.
+.PP
+.I circo
+draws graphs using a circular layout (see
+Six and Tollis, GD '99 and ALENEX '99, and
+Kaufmann and Wiese, GD '02.)
+The tool identifies biconnected components and draws the nodes of
+the component on a circle. The block\(hycutpoint tree
+is then laid out using a recursive radial algorithm. Edge
+crossings within a circle are minimized by placing as many edges on
+the circle's perimeter as possible.
+In particular, if the component is outerplanar, the component will
+have a planar layout.
+.PP
+If a node belongs to multiple non\(hytrivial biconnected components,
+the layout puts the node in one of them. By default, this is the first
+non\(hytrivial component found in the search from the root component.
+.PP
+.I fdp
+draws undirected graphs using a ``spring'' model. It relies on a
+force\(hydirected approach in the spirit of Fruchterman and Reingold
+(cf. Software\(hyPractice & Experience 21(11), 1991, pp. 1129\(hy1164).
+.SH OUTPUT FORMATS
+Dot uses an extensible plugin mechanism for its output renderers,
+so to see what output formats your installation of dot supports
+you can use ``dot \-Txxx'' (where xxx is an unlikely format)
+and check the warning message.
+Also, The plugin mechanism supports multiple implementations
+of the output formats.
+To see what variants are available, use, for example: ``dot \-Tpng:''
+and to force a particular variant, use, for example: ``dot \-Tpng:gd''
+.P
+Traditionally, dot supports the following:
+\fB\-Tps\fP (PostScript),
+\fB\-Tsvg\fP \fB\-Tsvgz\fP (Structured Vector Graphics),
+\fB\-Tfig\fP (XFIG graphics),
+\fB\-Tmif\fP (FrameMaker graphics),
+\fB\-Thpgl\fP (HP pen plotters), and \fB\-Tpcl\fP (Laserjet printers),
+\fB\-Tpng\fP \fB\-Tgif\fP (bitmap graphics),
+\fB\-Tdia\fP (GTK+ based diagrams),
+\fB\-Timap\fP (imagemap files for httpd servers for each node or edge
+that has a non(hynull "href" attribute.),
+\fB\-Tcmapx\fP (client\(hyside imagemap for use in html and xhtml).
+Additional less common or more special\(hypurpose output formats
+can be found at http://www.graphviz.org/cvs/doc/info/output.html.)
+.SH GRAPH FILE LANGUAGE
+Here is a synopsis of the graph file language, traditionally using the extension \fB.dot\fR, for graphs:
+.PP
+[\fBstrict\fR] (\fBgraph\fR|\fBdigraph\fR) \fIname\fP { \fIstatement\(hylist\fP }\fR
+.br
+Is the top level graph. If the graph is \fBstrict\fR then multiple edges are
+not allowed between the same pairs of nodes.
+If it is a directed graph, indicated by \fBdigraph\fR,
+then the \fIedgeop\fR must be "\->". If it is an undirected \fBgraph\fR
+then the \fIedgeop\fR must be "\-\-".
+Statements may be:
+.PP
+\fIname\fB=\fIval\fB;\fR
+.br
+\fBnode [\fIname\fB=\fIval\fB];\fR
+.br
+\fBedge [\fIname\fB=\fIval\fB];\fR
+.br
+Set default graph, node, or edge attribute \fIname\fP to \fIval\fP.
+Any subgraph, node, or edge appearing after this inherits the new
+default attributes.
+.PP
+\fBn0 [\fIname0=val0,name1=val1,...\fB];\fR
+Creates node \fBn0\fP (if it does not already exist)
+and sets its attributes according to the optional list.
+.PP
+\fBn0 \fIedgeop\fR n1 \fIedgeop\fR \fI...\fB \fIedgeop\fR nn [\fIname0=val0,name1=val1,...\fB];\fR
+.br
+Creates edges between nodes \fBn0\fP, \fBn1\fP, ..., \fBnn\fP and sets
+their attributes according to the optional list.
+Creates nodes as necessary.
+.PP
+[\fBsubgraph \fIname\fB] { \fIstatement\(hylist \fB}\fR
+.br
+Creates a subgraph. Subgraphs may be used in place
+of \fBn0\fP, ..., \fBnn\fP in the above statements to create edges.
+[\fBsubgraph \fIname\fR] is optional;
+if missing, the subgraph is assigned an internal name.
+.PP
+Comments may be /*C\(hylike*/ or //C++\(hylike.
+
+.PP
+Attribute names and values are ordinary (C\(hystyle) strings.
+The following sections describe attributes that control graph layout.
+
+.SH "GRAPH ATTRIBUTES"
+.PP
+\fBsize="\fIx,y\fP"\fR sets bounding box of drawing in inches.
+.PP
+\fBpage="\fIx,y\fP"\fR sets the PostScript pagination unit.
+.PP
+\fBratio=\fIf\fR sets the aspect ratio to \fIf\fP which may be
+a floating point number, or one of the keywords \fBfill\fP,
+\fBcompress\fP, or \fBauto\fP.
+.PP
+\fBmargin=\fIf\fR sets the page margin (included in the page size).
+.PP
+\fBnodesep=\fIf\fR sets the minimum separation between nodes.
+.PP
+\fBranksep=\fIf\fR sets the minimum separation between ranks.
+.PP
+\fBordering=out\fR constrains order of out\(hyedges in a subgraph
+according to their file sequence.
+.PP
+\fBrankdir=LR|RL|BT\fR requests a left\(hyto\(hyright, right\(hyto\(hyleft, or bottom\(hyto\(hytop, drawing.
+.PP
+\fBpagedir=\fR[TBLR][TBLR] sets the major and minor order of pagination.
+.PP
+\fBrank=same\fR (or \fBmin\fP or \fBmax\fP) in a subgraph
+constrains the rank assignment of its nodes. If a subgraph's
+name has the prefix \fBcluster\fP, its nodes are drawn in
+a distinct rectangle of the layout. Clusters may be nested.
+.PP
+\fBrotate=90\fR sets landscape mode.
+(\fBorientation=land\fR is backward compatible but obsolete.)
+.PP
+\fBcenter=\fIn\fR a non\(hyzero value centers the drawing on the page.
+.PP
+\fBnslimit=\fIf\fR or \fBmclimit=\fIf\fR adjusts the bound on the
+number of network simplex or mincross iterations by the given ratio.
+For example, \fBmclimit=2.0\fP runs twice as long.
+.PP
+\fBlayers="\fIid:id:id:id\fR" is a sequence of layer identifiers for
+overlay diagrams. The PostScript array variable \fIlayercolorseq\fR
+sets the assignment of colors to layers. The least index is 1 and
+each element must be a 3\(hyelement array to be interpreted as a color coordinate.
+.PP
+\fBcolor=\fIcolorvalue\fR sets foreground color (\fBbgcolor\fP for background).
+.PP
+\fBhref=\fI"url"\fR the default url for image map files; in PostScript files,
+the base URL for all relative URLs, as recognized by Acrobat Distiller
+3.0 and up.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBstylesheet=\fI"file.css"\fR includes a reference to a stylesheet
+in \-Tsvg and \-Tsvgz outputs. Ignored by other formats.
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBstart=\fIval\fR. Requests random initial placement and seeds
+the random number generator. If \fIval\fP is not an integer,
+the process ID or current time is used as the seed.
+.PP
+\fBepsilon=\fIn\fR. Sets the cutoff for the solver.
+The default is 0.1.
+.PP
+\fBsplines=\fIboolean\fR. Setting this to \fItrue\fR causes edges to be
+drawn as splines if nodes don't overlap. The default is \fIfalse\fR.
+
+.PP
+\fB(twopi\(hyspecific attributes)\fR
+.br
+\fBroot=\fIctr\fR. This specifies the node to be used as the center of
+the layout. If not specified, \fItwopi\fP will randomly pick one of the
+nodes that are furthest from a leaf node, where a leaf node is a node
+of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.
+.PP
+\fBranksep=\fIval\fR. Specifies the radial distance in inches between
+the sequence of rings. The default is 0.75.
+.PP
+\fBoverlap=\fImode\fR. This specifies what \fItwopi\fP should do if
+any nodes overlap. If mode is \fI"false"\fP, the program uses Voronoi
+diagrams to adjust the nodes to eliminate overlaps. If mode is \fI"scale"\fP,
+the layout is uniformly scaled up, preserving node sizes, until nodes no
+longer overlap. The latter technique removes overlaps while preserving
+symmetry and structure, while the former removes overlaps more compactly
+but destroys symmetries.
+If mode is \fI"true"\fP (the default), no repositioning is done.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fItwopi\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fInodename\fR. Specifies the name of a node occurring in the
+root block. If the graph is disconnected, the \fBroot\fP node attribute
+can be used to specify additional root blocks.
+.PP
+\fBmindist=\fIvalue\fR. Sets the minimum separation between all nodes. If not
+specified then \fIcirco\fP uses a default value of 1.0.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fIcirco\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBK=\fIval\fR. Sets the default ideal node separation
+in the layout.
+.PP
+\fBmaxiter=\fIval\fR. Sets the maximum number of iterations used to
+layout the graph.
+.PP
+\fBstart=\fIval\fR. Adjusts the random initial placement of nodes
+with no specified position. If \fIval\fP is is an integer,
+it is used as the seed for the random number generator.
+If \fIval\fP is not an integer, a random system\(hygenerated integer,
+such as the process ID or current time, is used as the seed.
+.PP
+\fBsplines=\fIval\fR. If \fIval\fR is "true", edges are drawn
+as splines to avoid nodes. By default, edges are draw as line segments.
+.PP
+
+.SH "NODE ATTRIBUTES"
+.PP
+\fBheight=\fId\fR or \fBwidth=\fId\fR sets minimum height or width.
+Adding \fBfixedsize=true\fP forces these to be the actual size
+(text labels are ignored).
+.PP
+\fBshape=record polygon epsf \fIbuiltin_polygon\fR
+.br
+\fIbuiltin_polygon\fR is one of: \fBplaintext ellipse oval circle egg
+triangle box diamond trapezium parallelogram house hexagon octagon
+note tab box3d component.\fR
+(Polygons are defined or modified by the following node attributes:
+\fBregular\fR, \fBperipheries\fR, \fBsides\fR, \fBorientation\fR,
+\fBdistortion\fR and \fBskew\fR.) \fBepsf\fR uses the node's
+\fBshapefile\fR attribute as the path name of an external
+EPSF file to be automatically loaded for the node shape.
+.PP
+\fBlabel=\fItext\fR where \fItext\fP may include escaped newlines
+\\\|n, \\\|l, or \\\|r for center, left, and right justified lines.
+The string '\\N' value will be replaced by the node name.
+Record labels may contain recursive box lists delimited by { | }.
+Port identifiers in labels are set off by angle brackets < >.
+In the graph file, use colon (such as, \fBnode0:port28\fR).
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBcolor=\fIcolorvalue\fR sets the outline color, and the default fill color
+if style=filled and \fBfillcolor\fR is not specified.
+.PP
+\fBfillcolor=\fIcolorvalue\fR sets the fill color
+when style=filled. If not specified, the fillcolor when style=filled defaults
+to be the same as the outline color.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+A \fIcolorvalue\fP may be "\fIh,s,v\fB"\fR (hue, saturation, brightness)
+floating point numbers between 0 and 1, or an X11 color name such as
+\fBwhite black red green blue yellow magenta cyan\fR or \fBburlywood\fR,
+or a "\fI#rrggbb" (red, green, blue, 2 hex characters each) value.
+.PP
+\fBstyle=filled solid dashed dotted bold invis\fP or any Postscript code.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the node's active layers.
+The empty string means no layers (invisible).
+.PP
+The following attributes apply only to polygon shape nodes:
+.PP
+\fBregular=\fIn\fR if \fIn\fR is non\(hyzero then the polygon is made
+regular, i.e. symmetric about the x and y axis, otherwise the
+polygon takes on the aspect ratio of the label.
+\fIbuiltin_polygons\fR that are not already regular are made regular
+by this attribute.
+\fIbuiltin_polygons\fR that are already regular are not affected (i.e.
+they cannot be made asymmetric).
+.PP
+\fBperipheries=\fIn\fR sets the number of periphery lines drawn around
+the polygon. This value supersedes the number of periphery lines
+of \fIbuiltin_polygons\fR.
+.PP
+\fBsides=\fIn\fR sets the number of sides to the polygon. \fIn\fR<3
+results in an ellipse.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBorientation=\fIf\fR sets the orientation of the first apex of the
+polygon counterclockwise from the vertical, in degrees.
+\fIf\fR may be a floating point number.
+The orientation of labels is not affected by this attribute.
+This attribute is added to the initial orientation of \fIbuiltin_polygons.\fR
+.PP
+\fBdistortion=\fIf\fR sets the amount of broadening of the top and
+narrowing of the bottom of the polygon (relative to its orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBskew=\fIf\fR sets the amount of right\(hydisplacement of the top and
+left\(hydisplacement of the bottom of the polygon (relative to its
+orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL.
+The target string is used to determine which window of the browser is used
+for the URL. Setting it to "_graphviz" will open a new window if it doesn't
+already exist, or reuse it if it does.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL. The tooltip string defaults to be the
+same as the label string, but this attribute permits nodes without
+labels to still have tooltips thus permitting denser graphs.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fItrue/false\fR. This specifies that the block containing the given
+node be treated as the root of the spanning tree in the layout.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBpin=\fIval\fR. If \fIval\fR is "true", the node will remain at
+its initial position.
+
+.SH "EDGE ATTRIBUTES"
+\fBminlen=\fIn\fR where \fIn\fP is an integer factor that applies
+to the edge length (ranks for normal edges, or minimum node separation
+for flat edges).
+.PP
+\fBweight=\fIn\fR where \fIn\fP is the integer cost of the edge.
+Values greater than 1 tend to shorten the edge. Weight 0 flat
+edges are ignored for ordering nodes.
+.PP
+\fBlabel=\fItext\fR where \fItext\fR may include escaped newlines
+\\\|n, \\\|l, or \\\|r for centered, left, or right justified lines.
+If the substring '\\T' is found in a label it will be replaced by the tail_node name.
+If the substring '\\H' is found in a label it will be replaced by the head_node name.
+If the substring '\\E' value is found in a label it will be replaced by: tail_node_name\->head_node_name
+or by: tail_node_name\-\-head_node_name for undirected graphs.
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+\fBstyle=solid dashed dotted bold invis\fP
+.PP
+\fBcolor=\fIcolorvalue\fR sets the line color for edges.
+.PP
+\fBcolor=\fIcolorvaluelist\fR a ':' separated list of \fIcolorvalue\fR creates
+parallel edges, one edge for each color.
+.PP
+\fBdir=forward back both none\fP controls arrow direction.
+.PP
+\fBtailclip,headclip=false\fP disables endpoint shape clipping.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edges have a URL.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when edges have a URL. The tooltip string defaults to be the
+same as the edge label string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBarrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot,
+tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow\fP.
+.PP
+\fBarrowsize\fP (norm_length=10,norm_width=5,
+inv_length=6,inv_width=7,dot_radius=2)
+.PP
+\fBheadlabel,taillabel=string\fP for port labels.
+\fBlabelfontcolor\fP,\fBlabelfontname\fP,\fBlabelfontsize\fP
+for head and tail labels.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadhref=\fI"url"\fR sets the url for the head port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadURL=\fI"url"\fR ("headURL" is a synonym for "headhref".)
+.PP
+\fBheadtarget=\fI"headtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge heads have a URL.
+The headtarget string is used to determine which window of the browser is used
+for the URL. If the headtarget string is empty, the default,
+then headtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when head ports have a URL. The tooltip string defaults to be the
+same as the headlabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailhref=\fI"url"\fR sets the url for the tail port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailURL=\fI"url"\fR ("tailURL" is a synonym for "tailhref".)
+.PP
+\fBtailtarget=\fI"tailtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge tails have a URL.
+The tailtarget string is used to determine which window of the browser is used
+for the URL. If the tailtarget string is empty, the default,
+then tailtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when tail ports have a URL. The tooltip string defaults to be the
+same as the taillabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBlabeldistance\fP and \fPport_label_distance\fP set distance; also
+\fBlabelangle\fP (in degrees CCW)
+.PP
+\fBdecorate\fP draws line from edge to label.
+.PP
+\fBsamehead,sametail\fP aim edges having the same value to the
+same port, using the average landing point.
+.PP
+\fBconstraint=false\fP causes an edge to be ignored for rank assignment.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the edgess active layers.
+The empty string means no layers (invisible).
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBw=\fIf\fR sets the weight (spring constant) of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.PP
+\fBlen=\fIf\fR sets the optimal length of an edge.
+The default is 1.0.
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBweight=\fIf\fR sets the weight of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.SH "COMMAND LINE OPTIONS"
+\fB\-G\fP sets a default graph attribute.
+.br
+\fB\-N\fP sets a default node attribute.
+.br
+\fB\-E\fP sets a default edge attribute.
+Example: \fB\-Gsize="7,8" \-Nshape=box \-Efontsize=8\fR
+.PP
+\fB\-l\fIfile\fR loads custom PostScript library files.
+Usually these define custom shapes or styles.
+If \fB\-l\fP is given by itself, the standard library is omitted.
+.PP
+\fB\-T\fIlang\fR sets the output language as described above.
+
+.PP
+\fB\-n\fR[\fB1\fR|\fB2\fR] (no\(hyop)
+If set, neato assumes nodes have already been positioned and all
+nodes have a pos attribute giving the positions.
+It then performs an optional adjustment to remove node\(hynode overlap,
+depending on the value of the overlap attribute,
+computes the edge layouts, depending on the value of the \fBsplines\fR attribute,
+and emits the graph in the appropriate format.
+If num is supplied, the following actions occur:
+.nf
+ num = 1
+.fi
+Equivalent to \-n.
+.nf
+ num > 1
+.fi
+Use node positions as specified,
+with no adjustment to remove node\(hynode overlaps,
+and use any edge layouts already specified by the pos attribute.
+neato computes an edge layout for any edge that does not have a pos attribute.
+As usual, edge layout is guided by the \fBsplines\fR attribute.
+.PP
+\fB\-v\fP (verbose) prints delta energy every 100th iteration.
+.PP
+\fB\-V\fP (version) prints version information and exits.
+.PP
+\fB\-?\fP prints the usage and exits.
+.SH "EXAMPLES"
+.nf
+digraph test123 {
+ a \-> b \-> c;
+ a \-> {x y};
+ b [shape=box];
+ c [label="hello\\\|nworld",color=blue,fontsize=24,
+ fontname="Palatino\-Italic",fontcolor=red,style=filled];
+ a \-> z [label="hi", weight=100];
+ x \-> z [label="multi\-line\\\|nlabel"];
+ edge [style=dashed,color=red];
+ b \-> x;
+ {rank=same; b x}
+}
+.fi
+.PP
+.nf
+graph test123 {
+ a \-\- b \-\- c;
+ a \-\- {x y};
+ x \-\- c [w=10.0];
+ x \-\- y [w=5.0,len=3];
+}
+.fi
+.SH "CAVEATS"
+Edge splines can overlap unintentionally.
+.PP
+Flat edge labels are slightly broken.
+Intercluster edge labels are totally broken.
+.PP
+Because unconstrained optimization is employed, node boxes can
+possibly overlap or touch unrelated edges. All existing
+spring embedders seem to have this limitation.
+.PP
+Apparently reasonable attempts to pin nodes or adjust edge lengths
+and weights can cause instability.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.br
+John C. Ellson <ellson@research.att.com>
+.PP
+The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>
+.PP
+The Truetype font renderer is from
+the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg)
+(who can be contacted at freetype\-devel@lists.lrz\-muenchen.de).
+.SH "SEE ALSO"
+This man page contains only a small amount of the information related
+to the Graphviz layout programs. The most complete information can be
+found at http://www.graphviz.org/Documentation.php, especially in the
+on\(hyline reference pages. Most of these documents are also available in the
+\fIdoc\fP and \fIdoc/info\fP subtrees in the source and binary distributions.
+.PP
+dotty(1)
+.br
+tcldot(n)
+.br
+xcolors(1)
+.br
+libgraph(3)
+.PP
+E. R. Gansner, S. C. North, K. P. Vo, "DAG \(hy A Program to Draw Directed Graphs", Software \(hy Practice and Experience 17(1), 1988, pp. 1047\(hy1062.
+.br
+E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, "A Technique for Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214\(hy230.
+.br
+S. North and E. Koutsofios, "Applications of graph visualization",
+Graphics Interface 94, pp. 234\(hy245.
+.br
+E. Koutsofios and S. C. North, "Drawing Graphs with dot,"
+Available on research.att.com in dist/drawdag/dotguide.ps.Z.
+.br
+S. C. North, "NEATO User's Manual".
+Available on research.att.com in dist/drawdag/neatodoc.ps.Z.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/unflatten.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/unflatten.1
new file mode 100644
index 0000000..7857cf0
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/unflatten.1
@@ -0,0 +1,58 @@
+.TH UNFLATTEN 1 "21 January 2001"
+.SH NAME
+unflatten \- adjust directed graphs to improve layout aspect ratio
+.SH SYNOPSIS
+.B unflatten
+[\fB\-f\fR]
+[\fB\-l\fIlen\fR]
+[\fB\-c\fIlen\fR
+] [
+.B \-o
+.I outfile
+]
+[ files ]
+.SH DESCRIPTION
+.B unflatten
+is a preprocessor to
+.B dot
+that is
+used to improve the aspect ratio of graphs having many leaves
+or disconnected nodes.
+The usual layout for such a graph is generally very wide or tall.
+.B unflatten
+inserts invisible edges or adjusts the \fBminlen\fP on edges
+to improve layout compaction.
+.SH OPTIONS
+The following options are supported:
+.TP
+.BI \-l " len"
+The minimum length of leaf edges is staggered
+between 1 and \fIlen\fP (a small integer).
+.TP
+.B \-f
+Enables the staggering of the \fB-l\fP option to fanout nodes whose
+indegree and outdegree are both 1. This helps with structures such
+as \fIa -> {w x y z} -> b\fP.
+This option only works if the \fB-l\fP flag is set.
+.TP
+.BI \-c " len"
+Form disconnected nodes into chains of up to \fIlen\fP nodes.
+.TP
+.BI \-o " outfile"
+causes the output to be written to the specified file; by default,
+output is written to \fBstdout\fP.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in dot format.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+gc(1), dot(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cdt.3 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cdt.3
new file mode 100644
index 0000000..01cb2e0
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cdt.3
@@ -0,0 +1,483 @@
+.TH LIBCDT 3
+.SH NAME
+\fBCdt\fR \- container data types
+.SH SYNOPSIS
+.de Tp
+.fl
+.ne 2
+.TP
+..
+.de Ss
+.fl
+.ne 2
+.SS "\\$1"
+..
+.de Cs
+.nf
+.ft 5
+..
+.de Ce
+.ft 1
+.fi
+..
+.ta 1.0i 2.0i 3.0i 4.0i 5.0i
+.Cs
+#include <graphviz/cdt.h>
+.Ce
+.Ss "DICTIONARY TYPES"
+.Cs
+Void_t*;
+Dt_t;
+Dtdisc_t;
+Dtmethod_t;
+Dtlink_t;
+Dtstat_t;
+.Ce
+.Ss "DICTIONARY CONTROL"
+.Cs
+Dt_t* dtopen(Dtdisc_t* disc, Dtmethod_t* meth);
+int dtclose(Dt_t* dt);
+void dtclear(dt);
+Dtmethod_t* dtmethod(Dt_t* dt, Dtmethod_t* meth);
+Dtdisc_t* dtdisc(Dt_t* dt, Dtdisc_t* disc, int type);
+Dt_t* dtview(Dt_t* dt, Dt_t* view);
+.Ce
+.Ss "STORAGE METHODS"
+.Cs
+Dtmethod_t* Dtset;
+Dtmethod_t* Dtbag;
+Dtmethod_t* Dtoset;
+Dtmethod_t* Dtobag;
+Dtmethod_t* Dtlist;
+Dtmethod_t* Dtstack;
+Dtmethod_t* Dtqueue;
+.Ce
+.Ss "DISCIPLINE"
+.Cs
+typedef Void_t* (*Dtmake_f)(Dt_t*, Void_t*, Dtdisc_t*);
+typedef void (*Dtfree_f)(Dt_t*, Void_t*, Dtdisc_t*);
+typedef int (*Dtcompar_f)(Dt_t*, Void_t*, Void_t*, Dtdisc_t*);
+typedef unsigned int (*Dthash_f)(Dt_t*, Void_t*, Dtdisc_t*);
+typedef Void_t* (*Dtmemory_f)(Dt_t*, Void_t*, size_t, Dtdisc_t*);
+typedef int (*Dtevent_f)(Dt_t*, int, Void_t*, Dtdisc_t*);
+.Ce
+.Ss "OBJECT OPERATIONS"
+.Cs
+Void_t* dtinsert(Dt_t* dt, Void_t* obj);
+Void_t* dtdelete(Dt_t* dt, Void_t* obj);
+Void_t* dtsearch(Dt_t* dt, Void_t* obj);
+Void_t* dtmatch(Dt_t* dt, Void_t* key);
+Void_t* dtfirst(Dt_t* dt);
+Void_t* dtnext(Dt_t* dt, Void_t* obj);
+Void_t* dtlast(Dt_t* dt);
+Void_t* dtprev(Dt_t* dt, Void_t* obj);
+Void_t* dtfinger(Dt_t* dt);
+Void_t* dtrenew(Dt_t* dt, Void_t* obj);
+int dtwalk(Dt_t* dt, int (*userf)(Dt_t*, Void_t*, Void_t*), Void_t*);
+Dtlink_t* dtflatten(Dt_t* dt);
+Dtlink_t* dtlink(Dt_t*, Dtlink_t* link);
+Void_t* dtobj(Dt_t* dt, Dtlink_t* link);
+Dtlink_t* dtextract(Dt_t* dt);
+int dtrestore(Dt_t* dt, Dtlink_t* link);
+.Ce
+.Ss "DICTIONARY STATUS"
+.Cs
+Dt_t* dtvnext(Dt_t* dt);
+int dtvcount(Dt_t* dt);
+Dt_t* dtvhere(Dt_t* dt);
+int dtsize(Dt_t* dt);
+int dtstat(Dt_t* dt, Dtstat_t*, int all);
+.Ce
+.Ss "HASH FUNCTIONS"
+.Cs
+unsigned int dtstrhash(unsigned int h, char* str, int n);
+unsigned int dtcharhash(unsigned int h, unsigned char c);
+.Ce
+.SH DESCRIPTION
+.PP
+\fICdt\fP manages run-time dictionaries using standard container data types:
+unordered set/multiset, ordered set/multiset, list, stack, and queue.
+.PP
+.Ss "DICTIONARY TYPES"
+.PP
+.Ss " Void_t*"
+This type is used to pass objects between \fICdt\fP and application code.
+\f5Void_t\fP is defined as \f5void\fP for ANSI-C and C++
+and \f5char\fP for other compilation environments.
+.PP
+.Ss " Dt_t"
+This is the type of a dictionary handle.
+.PP
+.Ss " Dtdisc_t"
+This defines the type of a discipline structure which describes
+object lay-out and manipulation functions.
+.PP
+.Ss " Dtmethod_t"
+This defines the type of a container method.
+.PP
+.Ss " Dtlink_t"
+This is the type of a dictionary object holder (see \f5dtdisc()\fP.)
+.PP
+.Ss " Dtstat_t"
+This is the type of a structure to return dictionary statistics (see \f5dtstat()\fP.)
+.PP
+.Ss "DICTIONARY CONTROL"
+.PP
+.Ss " Dt_t* dtopen(Dtdisc_t* disc, Dtmethod_t* meth)"
+This creates a new dictionary.
+\f5disc\fP is a discipline structure to describe object format.
+\f5meth\fP specifies a manipulation method.
+\f5dtopen()\fP returns the new dictionary or \f5NULL\fP on error.
+.PP
+.Ss " int dtclose(Dt_t* dt)"
+This deletes \f5dt\fP and its objects.
+Note that \f5dtclose()\fP fails if \f5dt\fP is being viewed by
+some other dictionaries (see \f5dtview()\fP).
+\f5dtclose()\fP returns \f50\fP on success and \f5-1\fP on error.
+.PP
+.Ss " void dtclear(Dt_t* dt)"
+This deletes all objects in \f5dt\fP without closing \f5dt\fP.
+.PP
+.Ss " Dtmethod_t dtmethod(Dt_t* dt, Dtmethod_t* meth)"
+If \f5meth\fP is \f5NULL\fP, \f5dtmethod()\fP returns the current method.
+Otherwise, it changes the storage method of \f5dt\fP to \f5meth\fP.
+Object order remains the same during a
+method switch among \f5Dtlist\fP, \f5Dtstack\fP and \f5Dtqueue\fP.
+Switching to and from \f5Dtset/Dtbag\fP and \f5Dtoset/Dtobag\fP may cause
+objects to be rehashed, reordered, or removed as the case requires.
+\f5dtmethod()\fP returns the previous method or \f5NULL\fP on error.
+.PP
+.Ss " Dtdisc_t* dtdisc(Dt_t* dt, Dtdisc_t* disc, int type)"
+If \f5disc\fP is \f5NULL\fP, \f5dtdisc()\fP returns the current discipline.
+Otherwise, it changes the discipline of \f5dt\fP to \f5disc\fP.
+Objects may be rehashed, reordered, or removed as appropriate.
+\f5type\fP can be any bit combination of \f5DT_SAMECMP\fP and \f5DT_SAMEHASH\fP.
+\f5DT_SAMECMP\fP means that objects will compare exactly the same as before
+thus obviating the need for reordering or removing new duplicates.
+\f5DT_SAMEHASH\fP means that hash values of objects remain the same
+thus obviating the need to rehash.
+\f5dtdisc()\fP returns the previous discipline on success
+and \f5NULL\fP on error.
+.PP
+.Ss " Dt_t* dtview(Dt_t* dt, Dt_t* view)"
+A viewpath allows a search or walk starting from a dictionary to continue to another.
+\f5dtview()\fP first terminates any current view from \f5dt\fP to another dictionary.
+Then, if \f5view\fP is \f5NULL\fP, \f5dtview\fP returns the terminated view dictionary.
+If \f5view\fP is not \f5NULL\fP, a viewpath from \f5dt\fP to \f5view\fP is established.
+\f5dtview()\fP returns \f5dt\fP on success and \f5NULL\fP on error.
+.PP
+If two dictionaries on the same viewpath have the same values for the discipline fields
+\f5Dtdisc_t.link\fP, \f5Dtdisc_t.key\fP, \f5Dtdisc_t.size\fP, and \f5Dtdisc_t.hashf\fP,
+it is expected that key hashing will be the same.
+If not, undefined behaviors may result during a search or a walk.
+.PP
+.Ss "STORAGE METHODS"
+.PP
+Storage methods are of type \f5Dtmethod_t*\fP.
+\fICdt\fP supports the following methods:
+.PP
+.Ss " Dtoset"
+.Ss " Dtobag"
+Objects are ordered by comparisons.
+\f5Dtoset\fP keeps unique objects.
+\f5Dtobag\fP allows repeatable objects.
+.PP
+.Ss " Dtset"
+.Ss " Dtbag"
+Objects are unordered.
+\f5Dtset\fP keeps unique objects.
+\f5Dtbag\fP allows repeatable objects and always keeps them together
+(note the effect on dictionary walking.)
+.PP
+.Ss " Dtlist"
+Objects are kept in a list.
+New objects are inserted either
+in front of \fIcurrent object\fP (see \f5dtfinger()\fP) if this is defined
+or at list front if there is no current object.
+.PP
+.Ss " Dtstack"
+Objects are kept in a stack, i.e., in reverse order of insertion.
+Thus, the last object inserted is at stack top
+and will be the first to be deleted.
+.PP
+.Ss " Dtqueue"
+Objects are kept in a queue, i.e., in order of insertion.
+Thus, the first object inserted is at queue head
+and will be the first to be deleted.
+.PP
+.Ss "DISCIPLINE"
+.PP
+Object format and associated management functions are
+defined in the type \f5Dtdisc_t\fP:
+.Cs
+ typedef struct
+ { int key, size;
+ int link;
+ Dtmake_f makef;
+ Dtfree_f freef;
+ Dtcompar_f comparf;
+ Dthash_f hashf;
+ Dtmemory_f memoryf;
+ Dtevent_f eventf;
+ } Dtdisc_t;
+.Ce
+.Ss " int key, size"
+Each object \f5obj\fP is identified by a key used for object comparison or hashing.
+\f5key\fP should be non-negative and defines an offset into \f5obj\fP.
+If \f5size\fP is negative, the key is a null-terminated
+string with starting address \f5*(Void_t**)((char*)obj+key)\fP.
+If \f5size\fP is zero, the key is a null-terminated string with starting address
+\f5(Void_t*)((char*)obj+key)\fP.
+Finally, if \f5size\fP is positive, the key is a byte array of length \f5size\fP
+starting at \f5(Void_t*)((char*)obj+key)\fP.
+.PP
+.Ss " int link"
+Let \f5obj\fP be an object to be inserted into \f5dt\fP as discussed below.
+If \f5link\fP is negative, an internally allocated object holder is used
+to hold \f5obj\fP. Otherwise, \f5obj\fP should have
+a \f5Dtlink_t\fP structure embedded \f5link\fP bytes into it,
+i.e., at address \f5(Dtlink_t*)((char*)obj+link)\fP.
+.PP
+.Ss " Void_t* (*makef)(Dt_t* dt, Void_t* obj, Dtdisc_t* disc)"
+If \f5makef\fP is not \f5NULL\fP,
+\f5dtinsert(dt,obj)\fP will call it
+to make a copy of \f5obj\fP suitable for insertion into \f5dt\fP.
+If \f5makef\fP is \f5NULL\fP, \f5obj\fP itself will be inserted into \f5dt\fP.
+.PP
+.Ss " void (*freef)(Dt_t* dt, Void_t* obj, Dtdisc_t* disc)"
+If not \f5NULL\fP,
+\f5freef\fP is used to destroy data associated with \f5obj\fP.
+.PP
+.Ss "int (*comparf)(Dt_t* dt, Void_t* key1, Void_t* key2, Dtdisc_t* disc)"
+If not \f5NULL\fP, \f5comparf\fP is used to compare two keys.
+Its return value should be \f5<0\fP, \f5=0\fP, or \f5>0\fP to indicate
+whether \f5key1\fP is smaller, equal to, or larger than \f5key2\fP.
+All three values are significant for method \f5Dtoset\fP and \f5Dtobag\fP.
+For other methods, a zero value
+indicates equality and a non-zero value indicates inequality.
+If \f5(*comparf)()\fP is \f5NULL\fP, an internal function is used
+to compare the keys as defined by the \f5Dtdisc_t.size\fP field.
+.PP
+.Ss " unsigned int (*hashf)(Dt_t* dt, Void_t* key, Dtdisc_t* disc)"
+If not \f5NULL\fP,
+\f5hashf\fP is used to compute the hash value of \f5key\fP.
+It is required that keys compared equal will also have same hash values.
+If \f5hashf\fP is \f5NULL\fP, an internal function is used to hash
+the key as defined by the \f5Dtdisc_t.size\fP field.
+.PP
+.Ss " Void_t* (*memoryf)(Dt_t* dt, Void_t* addr, size_t size, Dtdisc_t* disc)"
+If not \f5NULL\fP, \f5memoryf\fP is used to allocate and free memory.
+When \f5addr\fP is \f5NULL\fP, a memory segment of size \f5size\fP is requested.
+If \f5addr\fP is not \f5NULL\fP and \f5size\fP is zero, \f5addr\fP is to be freed.
+If \f5addr\fP is not \f5NULL\fP and \f5size\fP is positive,
+\f5addr\fP is to be resized to the given size.
+If \f5memoryf\fP is \f5NULL\fP, \fImalloc(3)\fP is used.
+When dictionaries share memory,
+a record of the first allocated memory segment should be kept
+so that it can be used to initialize new dictionaries (see below.)
+.PP
+.Ss " int (*eventf)(Dt_t* dt, int type, Void_t* data, Dtdisc_t* disc)"
+If not \f5NULL\fP, \f5eventf\fP announces various events.
+If it returns a negative value, the calling operation will terminate with failure.
+Unless noted otherwise, a non-negative return value let the
+calling function proceed normally. Following are the events:
+.Tp
+\f5DT_OPEN\fP:
+\f5dt\fP is being opened.
+If \f5eventf\fP returns zero, the opening process proceeds normally.
+A positive return value indicates that \f5dt\fP
+uses memory already initialized by a different dictionary.
+In that case, \f5*(Void_t**)data\fP should be set to
+the first allocated memory segment as discussed in \f5memoryf\fP.
+\f5dtopen()\fP may fail if this segment is not returned or
+if it has not been properly initialized.
+.Tp
+\f5DT_CLOSE\fP:
+\f5dt\fP is being closed.
+.Tp
+\f5DT_DISC\fP:
+The discipline of \f5dt\fP is being changed to a new one given in
+\f5(Dtdisc_t*)data\fP.
+.Tp
+\f5DT_METH\fP:
+The method of \f5dt\fP is being changed to a new one given in
+\f5(Dtmethod_t*)data\fP.
+.PP
+.Ss "OBJECT OPERATIONS"
+.PP
+.Ss " Void_t* dtinsert(Dt_t* dt, Void_t* obj)"
+This inserts an object prototyped by \f5obj\fP into \f5dt\fP.
+If there is an existing object in \f5dt\fP matching \f5obj\fP
+and the storage method is \f5Dtset\fP or \f5Dtoset\fP,
+\f5dtinsert()\fP will simply return the matching object.
+Otherwise, a new object is inserted according to the method in use.
+See \f5Dtdisc_t.makef\fP for object construction.
+\f5dtinsert()\fP returns the new object, a matching object as noted,
+or \f5NULL\fP on error.
+.PP
+.Ss " Void_t* dtdelete(Dt_t* dt, Void_t* obj)"
+If \f5obj\fP is not \f5NULL\fP, the first object matching it is deleted.
+If \f5obj\fP is \f5NULL\fP, methods \f5Dtstack\fP and \f5Dtqueue\fP
+delete respectively stack top or queue head while other methods do nothing.
+See \f5Dtdisc_t.freef\fP for object destruction.
+\f5dtdelete()\fP returns the deleted object (even if it was deallocated)
+or \f5NULL\fP on error.
+.PP
+.Ss " Void_t* dtsearch(Dt_t* dt, Void_t* obj)"
+.Ss " Void_t* dtmatch(Dt_t* dt, Void_t* key)"
+These functions find an object matching \f5obj\fP or \f5key\fP either from \f5dt\fP or
+from some dictionary accessible from \f5dt\fP via a viewpath (see \f5dtview()\fP.)
+\f5dtsearch()\fP and \f5dtmatch()\fP return the matching object or
+\f5NULL\fP on failure.
+.PP
+.Ss " Void_t* dtfirst(Dt_t* dt)"
+.Ss " Void_t* dtnext(Dt_t* dt, Void_t* obj)"
+\f5dtfirst()\fP returns the first object in \f5dt\fP.
+\f5dtnext()\fP returns the object following \f5obj\fP.
+Objects are ordered based on the storage method in use.
+For \f5Dtoset\fP and \f5Dtobag\fP, objects are ordered by object comparisons.
+For \f5Dtstack\fP, objects are ordered in reverse order of insertion.
+For \f5Dtqueue\fP, objects are ordered in order of insertion.
+For \f5Dtlist\fP, objects are ordered by list position.
+For \f5Dtset\fP and \f5Dtbag\fP,
+objects use some internal ordering which
+may change on any search, insert, or delete operations.
+Therefore, these operations should not be used
+during a walk on a dictionary using either \f5Dtset\fP or \f5Dtbag\fP.
+.PP
+Objects in a dictionary or a viewpath can be walked using
+a \f5for(;;)\fP loop as below.
+Note that only one loop can be used at a time per dictionary.
+Concurrent or nested loops may result in unexpected behaviors.
+.Cs
+ for(obj = dtfirst(dt); obj; obj = dtnext(dt,obj))
+.Ce
+.Ss " Void_t* dtlast(Dt_t* dt)"
+.Ss " Void_t* dtprev(Dt_t* dt, Void_t* obj)"
+\f5dtlast()\fP and \f5dtprev()\fP are like \f5dtfirst()\fP and \f5dtnext()\fP
+but work in reverse order.
+Note that dictionaries on a viewpath are still walked in order
+but objects in each dictionary are walked in reverse order.
+.PP
+.Ss " Void_t* dtfinger(Dt_t* dt)"
+This function returns the \fIcurrent object\fP of \f5dt\fP, if any.
+The current object is defined after a successful call to one of
+\f5dtsearch()\fP, \f5dtmatch()\fP, \f5dtinsert()\fP,
+\f5dtfirst()\fP, \f5dtnext()\fP, \f5dtlast()\fP, or \f5dtprev()\fP.
+As a side effect of this implementation of \fICdt\fP,
+when a dictionary is based on \f5Dtoset\fP and \f5Dtobag\fP,
+the current object is always defined and is the root of the tree.
+.PP
+.Ss " Void_t* dtrenew(Dt_t* dt, Void_t* obj)"
+This function repositions and perhaps rehashes
+an object \f5obj\fP after its key has been changed.
+\f5dtrenew()\fP only works if \f5obj\fP is the current object (see \f5dtfinger()\fP).
+.PP
+.Ss " dtwalk(Dt_t* dt, int (*userf)(Dt_t*, Void_t*, Void_t*), Void_t* data)"
+This function calls \f5(*userf)(walk,obj,data)\fP on each object in \f5dt\fP and
+other dictionaries viewable from it.
+\f5walk\fP is the dictionary containing \f5obj\fP.
+If \f5userf()\fP returns a \f5<0\fP value,
+\f5dtwalk()\fP terminates and returns the same value.
+\f5dtwalk()\fP returns \f50\fP on completion.
+.PP
+.Ss " Dtlink_t* dtflatten(Dt_t* dt)"
+.Ss " Dtlink_t* dtlink(Dt_t* dt, Dtlink_t* link)"
+.Ss " Void_t* dtobj(Dt_t* dt, Dtlink_t* link)"
+Using \f5dtfirst()/dtnext()\fP or \f5dtlast()/dtprev()\fP
+to walk a single dictionary can incur significant cost due to function calls.
+For efficient walking of a single directory (i.e., no viewpathing),
+\f5dtflatten()\fP and \f5dtlink()\fP can be used.
+Objects in \f5dt\fP are made into a linked list and walked as follows:
+.Cs
+ for(link = dtflatten(dt); link; link = dtlink(dt,link) )
+.Ce
+.PP
+Note that \f5dtflatten()\fP returns a list of type \f5Dtlink_t*\fP,
+not \f5Void_t*\fP. That is, it returns a dictionary holder pointer,
+not a user object pointer
+(although both are the same if the discipline field \f5link\fP is non-negative.)
+The macro function \f5dtlink()\fP
+returns the dictionary holder object following \f5link\fP.
+The macro function \f5dtobj(dt,link)\fP
+returns the user object associated with \f5link\fP,
+Beware that the flattened object list is unflattened on any
+dictionary operations other than \f5dtlink()\fP.
+.PP
+.Ss " Dtlink_t* dtextract(Dt_t* dt)"
+.Ss " int dtrestore(Dt_t* dt, Dtlink_t* link)"
+\f5dtextract()\fP extracts all objects from \f5dt\fP and makes it appear empty.
+\f5dtrestore()\fP repopulates \f5dt\fP with
+objects previously obtained via \f5dtextract()\fP.
+\f5dtrestore()\fP will fail if \f5dt\fP is not empty.
+These functions can be used
+to share a same \f5dt\fP handle among many sets of objects.
+They are useful to reduce dictionary overhead
+in an application that creates concurrently many dictionaries.
+It is important that the same discipline and method are in use at both
+extraction and restoration. Otherwise, undefined behaviors may result.
+.PP
+.Ss "DICTIONARY INFORMATION"
+.PP
+.Ss " Dt_t* dtvnext(Dt_t* dt)"
+This returns the dictionary that \f5dt\fP is viewing, if any.
+.Ss " int dtvcount(Dt_t* dt)"
+This returns the number of dictionaries that view \f5dt\fP.
+.Ss " Dt_t* dtvhere(Dt_t* dt)"
+This returns the dictionary \f5v\fP viewable from \f5dt\fP
+where an object was found from the most recent search or walk operation.
+.Ss " int dtsize(Dt_t* dt)"
+This function returns the number of objects stored in \f5dt\fP.
+.PP
+.Ss " int dtstat(Dt_t *dt, Dtstat_t* st, int all)"
+This function reports dictionary statistics.
+If \f5all\fP is non-zero, all fields of \f5st\fP are filled.
+Otherwise, only the \f5dt_type\fP and \f5dt_size\fP fields are filled.
+It returns \f50\fP on success and \f5-1\fP on error.
+.PP
+\f5Dtstat_t\fP contains the below fields:
+.Tp
+\f5int dt_type\fP:
+This is one of \f5DT_SET\fP, \f5DT_BAG\fP, \f5DT_OSET\fP, \f5DT_OBAG\fP,
+\f5DT_LIST\fP, \f5DT_STACK\fP, and \f5DT_QUEUE\fP.
+.Tp
+\f5int dt_size\fP:
+This contains the number of objects in the dictionary.
+.Tp
+\f5int dt_n\fP:
+For \f5Dtset\fP and \f5Dtbag\fP,
+this is the number of non-empty chains in the hash table.
+For \f5Dtoset\fP and \f5Dtobag\fP,
+this is the deepest level in the tree (counting from zero.)
+Each level in the tree contains all nodes of equal distance from the root node.
+\f5dt_n\fP and the below two fields are undefined for other methods.
+.Tp
+\f5int dt_max\fP:
+For \f5Dtbag\fP and \f5Dtset\fP, this is the size of a largest chain.
+For \f5Dtoset\fP and \f5Dtobag\fP, this is the size of a largest level.
+.Tp
+\f5int* dt_count\fP:
+For \f5Dtset\fP and \f5Dtbag\fP,
+this is the list of counts for chains of particular sizes.
+For example, \f5dt_count[1]\fP is the number of chains of size \f51\fP.
+For \f5Dtoset\fP and \f5Dtobag\fP, this is the list of sizes of the levels.
+For example, \f5dt_count[1]\fP is the size of level \f51\fP.
+.PP
+.Ss "HASH FUNCTIONS"
+.PP
+.Ss " unsigned int dtcharhash(unsigned int h, char c)"
+.Ss " unsigned int dtstrhash(unsigned int h, char* str, int n)"
+These functions compute hash values from bytes or strings.
+\f5dtcharhash()\fP computes a new hash value from byte \f5c\fP and seed value \f5h\fP.
+\f5dtstrhash()\fP computes a new hash value from string \f5str\fP and seed value \f5h\fP.
+If \f5n\fP is positive, \f5str\fP is a byte array of length \f5n\fP;
+otherwise, \f5str\fP is a null-terminated string.
+.PP
+.SH IMPLEMENTATION NOTES
+\f5Dtset\fP and \f5Dtbag\fP are based on hash tables with
+move-to-front collision chains.
+\f5Dtoset\fP and \f5Dtobag\fP are based on top-down splay trees.
+\f5Dtlist\fP, \f5Dtstack\fP and \f5Dtqueue\fP are based on doubly linked list.
+.PP
+.SH AUTHOR
+Kiem-Phong Vo, kpv@research.att.com
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cgraph.3 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cgraph.3
new file mode 100644
index 0000000..7c72459
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cgraph.3
@@ -0,0 +1,486 @@
+.de P0
+.nf
+\f5
+..
+.de P1
+\fP
+.fi
+..
+.de Ss
+.fl
+.ne 2
+.SS "\\$1"
+..
+.TH LIBCGRAPH 3 "30 JULY 2007"
+.SH "NAME"
+\fBlibcgraph\fR \- abstract graph library
+.SH "SYNOPSIS"
+."ta .75i 1.5i 2.25i 3i 3.75i 4.5i 5.25i 6i
+.PP
+.nf
+.P0
+#include <graphviz/cgraph.h>
+.P1
+.SS "TYPES"
+.P0
+Agraph_t;
+Agnode_t;
+Agedge_t;
+Agdesc_t;
+Agdisc_t;
+Agsym_t;
+.P1
+.SS "GRAPHS"
+.P0
+Agraph_t *agopen(char *name, Agdesc_t kind, Agdisc_t *disc);
+int agclose(Agraph_t *g);
+Agraph_t *agread(void *channel, Agdisc_t *);
+Agraph_t *agconcat(Agraph_t *g, void *channel, Agdisc_t *disc)
+int agwrite(Agraph_t *g, void *channel);
+int agnnodes(Agraph_t *g),agnedges(Agraph_t *g);
+void agreadline(int line_no);
+void agsetfile(char *file_name);
+int agisdirected(Agraph_t * g),agisundirected(Agraph_t * g),agisstrict(Agraph_t * g);
+.SS "SUBGRAPHS"
+.P0
+Agraph_t *agsubg(Agraph_t *g, char *name, int createflag);
+Agraph_t *agidsubg(Agraph_t * g, unsigned long id, int cflag);
+Agraph_t *agfstsubg(Agraph_t *g), agnxtsubg(Agraph_t *);
+Agraph_t *agparent(Agraph_t *g),*agroot(Agraph_t *g);
+int agdelsubg(Agraph_t * g, Agraph_t * sub); /* same as agclose() */
+.P1
+.SS "NODES"
+.P0
+Agnode_t *agnode(Agraph_t *g, char *name, int createflag);
+Agnode_t *agidnode(Agraph_t *g, ulong id, int createflag);
+Agnode_t *agsubnode(Agraph_t *g, Agnode_t *n, int createflag);
+Agnode_t *agfstnode(Agraph_t *g);
+Agnode_t *agnxtnode(Agnode_t *n);
+Agnode_t *agprvnode(Agnode_t *n);
+Agnode_t *aglstnode(Agnode_t *n);
+int agdelnode(Agraph_t *g, Agnode_t *n);
+int agdegree(Agnode_t *n, int use_inedges, int use_outedges);
+.P1
+.SS "EDGES"
+.P0
+Agedge_t *agedge(Agnode_t *t, Agnode_t *h, char *name, int createflag);
+Agedge_t *agidedge(Agraph_t * g, Agnode_t * t, Agnode_t * h, unsigned long id, int createflag);
+Agedge_t *agsubedge(Agraph_t *g, Agedge_t *e, int createflag);
+Agnode_t *aghead(Agedge_t *e), *agtail(Agedge_t *e);
+Agedge_t *agfstedge(Agnode_t *n);
+Agedge_t *agnxtedge(Agedge_t *e, Agnode_t *n);
+Agedge_t *agfstin(Agnode_t *n);
+Agedge_t *agnxtin(Agedge_t *e);
+Agedge_t *agfstout(Agnode_t *n);
+Agedge_t *agnxtout(Agedge_t *e);
+int agdeledge(Agraph_t *g, Agedge_t *e);
+.SS "STRING ATTRIBUTES"
+.P0
+Agsym_t *agattr(Agraph_t *g, int kind, char *name, char *value);
+Agsym_t *agattrsym(void *obj, char *name);
+Agsym_t *agnxtattr(Agraph_t *g, int kind, Agsym_t *attr);
+char *agget(void *obj, char *name);
+char *agxget(void *obj, Agsym_t *sym);
+int agset(void *obj, char *name, char *value);
+int agxset(void *obj, Agsym_t *sym, char *value);
+int agsafeset(void *obj, char *name, char *value, char *def);
+.P1
+.SS "RECORDS"
+.P0
+void *agbindrec(void *obj, char *name, unsigned int size, move_to_front);
+Agrec_t *aggetrec(void *obj, char *name, int move_to_front);
+int agdelrec(Agraph_t *g, void *obj, char *name);
+int agcopyattr(void *, void *);
+void aginit(Agraph_t * g, int kind, char *rec_name, int rec_size, int move_to_front);
+void agclean(Agraph_t * g, int kind, char *rec_name);
+.P1
+.SS "CALLBACKS"
+.P0
+Agcbdisc_t *agpopdisc(Agraph_t *g);
+void agpushdisc(Agraph_t *g, Agcbdisc_t *disc);
+void agmethod(Agraph_t *g, void *obj, Agcbdisc_t *disc, int initflag);
+.P1
+.SS "MEMORY"
+.P0
+void *agalloc(Agraph_t *g, size_t request);
+void *agrealloc(Agraph_t *g, void *ptr, size_t oldsize, size_t newsize);
+void agfree(Agraph_t *g, void *ptr);
+.P1
+.SS "GENERIC OBJECTS"
+.P0
+Agraph_t *agraphof(void*);
+char *agnameof(void*);
+void agdelete(Agraph_t *g, void *obj);
+Agrec_t *AGDATA(void *obj);
+ulong AGID(void *obj);
+int AGTYPE(void *obj);
+.P1
+.SH "DESCRIPTION"
+Libcgraph supports graph programming by maintaining graphs in memory
+and reading and writing graph files.
+Graphs are composed of nodes, edges, and nested subgraphs.
+These graph objects may be attributed with string name-value pairs
+and programmer-defined records (see Attributes).
+.PP
+All of Libcgraph's global symbols have the prefix \fBag\fR (case varying).
+.SH "GRAPH AND SUBGRAPHS"
+.PP
+A ``main'' or ``root'' graph defines a namespace for a collection of
+graph objects (subgraphs, nodes, edges) and their attributes.
+Objects may be named by unique strings or by 32-bit IDs.
+.PP
+\fBagopen\fP creates a new graph with the given name and kind.
+(Graph kinds are \fBAgdirected\fP, \fBAgundirected\fP,
+\fBAgstrictdirected\fP, and \fBAgstrictundirected\fP.
+A strict graph cannot have multi-edges or self-arcs.)
+\fBagclose\fP deletes a graph, freeing its associated storage.
+\fBagread\fP, \fBagwrite\fP, and \fBagconcat\fP perform file I/O
+using the graph file language described below. \fBagread\fP
+constructs a new graph while \fBagconcat\fP merges the file
+contents with a pre-existing graph. Though I/O methods may
+be overridden, the default is that the channel argument is
+a stdio FILE pointer. \fBagsetfile\fP and \fBagreadline\fP
+are helper functions that simply set the current file name
+and input line number for subsequent error reporting.
+.PP
+\fBagsubg\fP finds or creates
+a subgraph by name. A new subgraph is is initially empty and
+is of the same kind as its parent. Nested subgraph trees may be created.
+A subgraph's name is only interpreted relative to its parent.
+A program can scan subgraphs under a given graph
+using \fBagfstsubg\fP and \fRagnxtsubg\fP. A subgraph is
+deleted with \fBagdelsubg\fP (or \fBagclose\fP).
+.PP
+By default, nodes are stored in ordered sets for efficient random
+access to insert, find, and delete nodes.
+The edges of a node are also stored in ordered sets.
+The sets are maintained internally as splay tree dictionaries
+using Phong Vo's cdt library.
+.PP
+\fBagnnodes\fP, \fBagnedges\fP, and \fBagdegree\fP return the
+sizes of node and edge sets of a graph. The \fBagdegree\fP returns
+the size of the edge set of a nodes, and takes flags
+to select in-edges, out-edges, or both.
+.PP
+An \fBAgdisc_t\fP defines callbacks to be invoked by libcgraph when
+initializing, modifying, or finalizing graph objects. (Casual users can ignore
+the following.) Disciplines are kept on a stack. Libcgraph automatically
+calls the methods on the stack, top-down. Callbacks are installed
+with \fBagpushdisc\fP, uninstalled with \fBagpopdisc\fP, and
+can be held pending or released via \fBagcallbacks\fP.
+.PP
+(Casual users may ignore the following.
+When Libcgraph is compiled with Vmalloc (which is not the default),
+each graph has its own heap.
+Programmers may allocate application-dependent data within the
+same heap as the rest of the graph. The advantage is that
+a graph can be deleted by atomically freeing its entire heap
+without scanning each individual node and edge.
+.SH "NODES"
+A node is created by giving a unique string name or
+programmer defined 32-bit ID, and is represented by a
+unique internal object. (Node equality can checked
+by pointer comparison.)
+.PP
+\fBagnode\fP searches in a graph or subgraph for a node
+with the given name, and returns it if found.
+If not found, if \fBcreateflag\fP is boolean true
+a new node is created and returned, otherwise a nil
+pointer is returned.
+\fBagidnode\fP allows a programmer to specify the node
+by a unique 32-bit ID.
+\fBagsubnode\fP performs a similar operation on
+an existing node and a subgraph.
+.Pp
+\fBagfstnode\fP and \fBagnxtnode\fP scan node lists.
+\fBagprvnode\fP and \fPaglstnode\fP are symmetric but scan backward.
+The default sequence is order of creation (object timestamp.)
+\fBagdelnode\fP removes a node from a graph or subgraph.
+.SH "EDGES"
+.PP
+An abstract edge has two endpoint nodes called tail and head
+where the all outedges of the same node have it as the tail
+value and similarly all inedges have it as the head.
+In an undirected graph, head and tail are interchangable.
+If a graph has multi-edges between the same pair of nodes,
+the edge's string name behaves as a secondary key.
+.Pp
+\fBagedge\fP searches in a graph of subgraph for an
+edge between the given endpoints (with an optional
+multi-edge selector name) and returns it if found.
+Otherwise, if \fBcreateflag\fP is boolean true,
+a new edge is created and returned: otherwise
+a nil pointer is returned. If the \fBname\fP
+is \f5(char*)0\fP then an anonymous internal
+value is generated. \fBagidedge\fP allows a programmer
+to create an edge by giving its unique 32-bit ID.
+\fBagfstin\fP, \fBagnxtint\fP, \fBagfstout\fP, and
+\fBagnxtout\fP visit directed in- and out- edge lists,
+and ordinarily apply only in directed graphs.
+\fBagfstedge\fP and \fBagnxtedge\fP visit all edges
+incident to a node. \fBagtail\fP and \fBaghead\fP
+get the endpoint of an edge.
+.SH "INTERNAL ATTRIBUTES"
+Programmer-defined values may be dynamically
+attached to graphs, subgraphs, nodes, and edges.
+Such values are either uninterpreted binary records
+(for implementing efficient algorithms)
+or character string data (for I/O).
+.SH "STRING ATTRIBUTES"
+String attributes are handled automatically in reading
+and writing graph files.
+A string attribute is identified by name and by
+an internal symbol table entry (\fBAgsym_t\fP) created by Libcgraph.
+Attributes of nodes, edges, and graphs (with their subgraphs)
+have separate namespaces. The contents of an \fBAgsym_t\fP
+is listed below, followed by primitives to operate on string
+attributes.
+.P0
+typedef struct Agsym_s { /* symbol in one of the above dictionaries */
+ Dtlink_t link;
+ char *name; /* attribute's name */
+ char *defval; /* its default value for initialization */
+ int id; /* its index in attr[] */
+ unsigned char kind; /* referent object type */
+ unsigned char fixed; /* immutable value */
+} Agsym_t;
+.P1
+.PP
+\fBagattr\fP creates or looks up attributes.
+\fBkind\fP may be \fBAGRAPH\fP, \fBAGNODE\fP, or \fBAGEDGE\fP.
+If \fBvalue\fP is \fB(char*)0)\fP, the request is to search
+for an existing attribute of the given kind and name.
+Otherwise, if the attribute already exists, its default
+for creating new objects is set to the given value;
+if it does not exist, a new attribute is created with the
+given default, and the default is applied to all pre-existing
+objects of the given kind. \fBagattrsym\fP is a helper function
+that looks up an attribute for a graph object given as an argument.
+\fBagnxtattr\P permits traversing the list of attributes of
+a given type. If \fBNIL\fP is passed as an argument it gets
+the first attribute, otherwise it returns the next one in
+succession or returns \fBNIL\fP at the end of the list.
+\fBagget\fP and \fPagset\fP allow fetching and updating a
+string attribute for an object taking the attribute name as
+an argument. \fBagxget\fP and \fBagxset\fP do this but with
+an attribute symbol table entry as an argument (to avoid
+the cost of the string lookup). \fBagsafeset\fP is a
+convenience function that ensures the given attribute is
+declared before setting it locally on an object.
+
+Note that Libcgraph performs its own storage management of strings.
+The caller does not need to dynamically allocate storage.
+
+.SH "RECORDS"
+Uninterpreted records may be attached to graphs, subgraphs, nodes,
+and edges for efficient operations on values such as marks, weights,
+counts, and pointers needed by algorithms. Application programmers
+define the fields of these records, but they must be declared with
+a common header as shown below.
+.P0
+typedef struct Agrec_s {
+ Agrec_t header;
+ /* programmer-defined fields follow */
+} Agrec_t;
+.P1
+Records are created and managed by Libcgraph. A programmer must
+explicitly attach them to the objects in a graph, either to
+individual objects one at a time via \fBagbindrec\fP, or to
+all the objects of the same class in a graph via \fBaginit\fP.
+The \fBname\fP argument a record distinguishes various types of records,
+and is programmer defined (Libcgraph reserves the prefix \fB_ag\fR).
+If size is 0, the call to \fBagbindrec\fP is simply a lookup.
+\fBagdelrec\fP is the deletes records one at a time.
+\fBagclean\fP does the same for all objects of the same
+class in an entire graph.
+
+Internally, records are maintained in circular linked lists
+attached to graph objects.
+To allow referencing application-dependent data without function
+calls or search, Libcgraph allows setting and locking the list
+pointer of a graph, node, or edge on a particular record.
+This pointer can be obtained with the macro \fBAGDATA(obj)\fP.
+A cast, generally within a macro or inline function,
+is usually applied to convert the list pointer to
+an appropriate programmer-defined type.
+
+To control the setting of this pointer,
+the \fBmove_to_front\fP flag may be \fBAG_MTF_FALSE\fP,
+\fBAG_MTF_SOFT\fP, or \fBAG_MTF_HARD\fP accordingly.
+The \fBAG_MTF_SOFT\fP field is only a hint that decreases
+overhead in subsequent calls of \fBaggetrec\fP;
+\fBAG_MTF_HARD\fP guarantees that a lock was obtained.
+To release locks, use \fBAG_MTF_SOFT\fP or \fBAG_MTF_FALSE\fP.
+Use of this feature implies cooperation or at least isolation
+from other functions also using the move-to-front convention.
+
+.SH "DISCIPLINES"
+(The following is not intended for casual users.)
+Programmer-defined disciplines customize certain resources-
+ID namespace, memory, and I/O - needed by Libcgraph.
+A discipline struct (or NIL) is passed at graph creation time.
+.P0
+struct Agdisc_s { /* user's discipline */
+ Agmemdisc_t *mem;
+ Agiddisc_t *id;
+ Agiodisc_t *io;
+} ;
+.P1
+A default discipline is supplied when NIL is given for
+any of these fields.
+
+An ID allocator discipline allows a client to control assignment
+of IDs (uninterpreted 32-bit values) to objects, and possibly how
+they are mapped to and from strings.
+
+.P0
+struct Agiddisc_s { /* object ID allocator */
+ void *(*open)(Agraph_t *g); /* associated with a graph */
+ int (*map)(void *state, int objtype, char *str, ulong *id, int createflag);
+ int (*alloc)(void *state, int objtype, ulong id);
+ void (*free)(void *state, int objtype, ulong id);
+ char *(*print)(void *state, int objtype, ulong id);
+ void (*close)(void *state);
+} ;
+.P1
+
+\f5open\fP permits the ID discipline to initialize any data
+structures that maintains per individual graph.
+Its return value is then passed as the first argument to
+all subsequent ID manager calls.
+
+\f5alloc\fP informs the ID manager that Libcgraph is attempting
+to create an object with a specific ID that was given by a client.
+The ID manager should return TRUE (nonzero) if the ID can be
+allocated, or FALSE (which aborts the operation).
+
+\f5free\fP is called to inform the ID manager that the
+object labeled with the given ID is about to go out of existence.
+
+\f5map\fP is called to create or look-up IDs by string name
+(if supported by the ID manager). Returning TRUE (nonzero)
+in all cases means that the request succeeded (with a valid
+ID stored through \f5result\fP. There are four cases:
+.PP
+\f5name != NULL\fP and \f5createflag == 1\fP:
+This requests mapping a string (e.g. a name in a graph file) into a new ID.
+If the ID manager can comply, then it stores the result and returns TRUE.
+It is then also responsible for being able to \f5print\fP the ID again
+as a string. Otherwise the ID manager may return FALSE but it must
+implement the following (at least for graph file reading and writing to work):
+.PP
+\f5name == NULL\fP and \f5createflag == 1\fP:
+The ID manager creates a unique new ID of its own choosing.
+Although it may return FALSE if it does not support anonymous objects,
+but this is strongly discouraged (to support "local names" in graph files.)
+.PP
+\f5name != NULL\fP and \f5createflag == 0\fP:
+This is a namespace probe. If the name was previously mapped into
+an allocated ID by the ID manager, then the manager must return this ID.
+Otherwise, the ID manager may either return FALSE, or may store
+any unallocated ID into result. (This is convenient, for example,
+if names are known to be digit strings that are directly converted into 32 bit values.)
+.PP
+\f5name == NULL\fP and \f5createflag == 0\fP: forbidden.
+.PP
+\f5print\fP should return
+\f5print\fP is allowed to return a pointer to a static buffer;
+a caller must copy its value if needed past subsequent calls.
+\f5NULL\fP should be returned by ID managers that do not map names.
+.PP
+The \f5map\fP and \f5alloc\fP calls do not pass a pointer to the
+newly allocated object. If a client needs to install object
+pointers in a handle table, it can obtain them via
+new object callbacks.
+.P0
+struct Agiodisc_s {
+ int (*fread)(void *chan, char *buf, int bufsize);
+ int (*putstr)(void *chan, char *str);
+ int (*flush)(void *chan); /* sync */
+ /* error messages? */
+} ;
+
+struct Agmemdisc_s { /* memory allocator */
+ void *(*open)(void); /* independent of other resources */
+ void *(*alloc)(void *state, size_t req);
+ void *(*resize)(void *state, void *ptr, size_t old, size_t req);
+ void (*free)(void *state, void *ptr);
+ void (*close)(void *state);
+} ;
+.P1
+
+.SH "EXAMPLE PROGRAM"
+.P0
+#include <graphviz/cgraph.h>
+typedef struct mydata_s {Agrec_t hdr; int x,y,z;} mydata;
+
+main(int argc, char **argv)
+{
+ Agraph_t *g;
+ Agnode_t *v;
+ Agedge_t *e;
+ Agsym_t *attr;
+ Dict_t *d
+ int cnt;
+ mydata *p;
+
+ if (g = agread(stdin,NIL(Agdisc_t*))) {
+ cnt = 0; attr = 0;
+ while (attr = agnxtattr(g, AGNODE, attr)) cnt++;
+ printf("The graph %s has %d attributes\n",agnameof(g),cnt);
+
+ /* make the graph have a node color attribute, default is blue */
+ attr = agattr(g,AGNODE,"color","blue");
+
+ /* create a new graph of the same kind as g */
+ h = agopen("tmp",g->desc);
+
+ /* this is a way of counting all the edges of the graph */
+ cnt = 0;
+ for (v = agfstnode(g); v; v = agnxtnode(g,v))
+ for (e = agfstout(g,v); e; e = agnxtout(g,e))
+ cnt++;
+
+ /* attach records to edges */
+ for (v = agfstnode(g); v; v = agnxtnode(g,v))
+ for (e = agfstout(g,v); e; e; = agnxtout(g,e)) {
+ p = (mydata*) agbindrec(g,e,"mydata",sizeof(mydata),TRUE);
+ p->x = 27; /* meaningless data access example */
+ ((mydata*)(AGDATA(e)))->y = 999; /* another example */
+ }
+ }
+}
+.P1
+.SH "EXAMPLE GRAPH FILES"
+.P0
+digraph G {
+ a -> b;
+ c [shape=box];
+ a -> c [weight=29,label="some text];
+ subgraph anything {
+ /* the following affects only x,y,z */
+ node [shape=circle];
+ a; x; y -> z; y -> z; /* multiple edges */
+ }
+}
+
+strict graph H {
+ n0 -- n1 -- n2 -- n0; /* a cycle */
+ n0 -- {a b c d}; /* a star */
+ n0 -- n3;
+ n0 -- n3 [weight=1]; /* same edge because graph is strict */
+}
+.P1
+.SH "SEE ALSO"
+Libcdt(3)
+
+.SH "BUGS"
+It is difficult to change endpoints of edges, delete string attributes or
+modify edge keys. The work-around is to create a new object and copy the
+contents of an old one (but new object obviously has a different ID,
+internal address, and object creation timestamp).
+
+The API lacks convenient functions to substitute programmer-defined ordering of
+nodes and edges but in principle this can be supported.
+.SH "AUTHOR"
+Stephen North, north@research.att.com, AT&T Research.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/graph.3 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/graph.3
new file mode 100644
index 0000000..0d7ba91
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/graph.3
@@ -0,0 +1,270 @@
+.TH LIBGRAPH 3 "01 MARCH 1993"
+.SH NAME
+\fBlibgraph\fR \- abstract graph library
+.SH SYNOPSIS
+.ta .75i 1.5i 2.25i 3i 3.75i 4.5i 5.25i 6i
+.PP
+.nf
+\f5
+#include <graphviz/graph.h>
+void aginit();
+Agraph_t *agread(FILE*);
+int agwrite(Agraph_t*, FILE*);
+int agerrors();
+Agraph_t *agopen(char *name, int kind);
+void agclose(Agraph_t *g);
+Agraph_t *agsubg(Agraph_t *g, char *name);
+Agraph_t *agfindsubg(Agraph_t *g, char *name);
+Agnode_t *agmetanode(Agraph_t *g);
+Agraph_t *agusergraph(Agnode_t *metanode);
+int agnnodes(Agraph_t *g), agnedges(Agraph_t *g);
+.sp .i1
+int agcontains(Agraph_t *g, void *obj);
+int aginsert(Agraph_t *g, void *obj);
+int agdelete(Agraph_t *g, void *obj);
+.sp .1i
+Agnode_t *agnode(Agraph_t *g, char *name);
+Agnode_t *agfindnode(Agraph_t *g, char *name);
+Agnode_t *agfstnode(Agraph_t *g);
+Agnode_t *agnxtnode(Agraph_t *g, Agnode_t *n);
+Agnode_t *aglstnode(Agraph_t *g);
+Agnode_t *agprvnode(Agraph_t *g, Agnode_t *n);
+.sp .1i
+Agedge_t *agedge(Agraph_t *g, Agnode_t *tail, Agnode_t *head);
+Agedge_t *agfindedge(Agraph_t *g, Agnode_t *tail, Agnode_t *head);
+Agedge_t *agfstedge(Agraph_t *g, Agnode_t *n);
+Agedge_t *agnxtedge(Agraph_t *g, Agedge_t *e, Agnode_t *n);
+Agedge_t *agfstin(Agraph_t *g, Agnode_t *n);
+Agedge_t *agnxtin(Agraph_t *g, Agedge_t *e);
+Agedge_t *agfstout(Agraph_t *g, Agnode_t *n);
+Agedge_t *agnxtout(Agraph_t *g, Agedge_t *e);
+.sp .1i
+char *agget(void *obj, char *name);
+char *agxget(void *obj, int index);
+void agset(void *obj, char *name, char *value);
+void agxset(void *obj, int index, char *value);
+int agindex(void *obj, char *name);
+.sp .1i
+Agsym_t* agraphattr(Agraph_t *g,char *name,char *value);
+Agsym_t* agnodeattr(Agraph_t *g,char *name,char *value);
+Agsym_t* agedgeattr(Agraph_t *g,char *name,char *value);
+Agsym_t* agfindattr(void *obj,char *name);
+\fP
+.fi
+.SH DESCRIPTION
+\fIlibgraph\fP maintains directed and undirected attributed graphs
+in memory and reads and writes graph files. Graphs are composed of
+nodes, edges, and nested subgraphs. A subgraph may contain any
+nodes and edges of its parents, and may be passed to any
+\fIlibgraph\fP function taking a graph pointer, except the three
+that create new attributes (where a main graph is required).
+
+Attributes are internal or external.
+Internal attributes are fields in the graph, node and edge structs
+defined at compile time.
+These allow efficient representation and direct access to values
+such as marks, weights, and pointers for writing graph algorithms.
+External attributes, on the other hand, are character strings
+(name\(hyvalue pairs) dynamically allocated at runtime and accessed
+through \fIlibgraph\fP calls. External attributes are used in
+graph file I/O; internal attributes are not. Conversion between
+internal and external attributes must be explicitly programmed.
+
+The subgraphs in a main graph are represented by an auxiliary directed
+graph (a meta\(hygraph). Meta\(hynodes correspond to subgraphs, and meta\(hyedges
+signify containment of one subgraph in another.
+\f5agmetanode\fP and \f5agusergraph\fP map between
+subgraphs and meta\(hynodes. The nodes and edges of the meta\(hygraph may
+be traversed by the usual \fIlibgraph\fP functions for this purpose.
+
+.SH USE
+1. Define types \f5Agraphinfo_t\fP, \f5Agnodeinfo_t\fP,
+and \f5Agedgeinfo_t\fP (usually in a header file) before
+including \f5<graphviz/graph.h>\fP.
+
+2. Call \f5aginit()\fP before any other \fIlibgraph\fP functions.
+(This is a macro that calls \f5aginitlib()\fP to define the sizes
+of Agraphinfo_t, Agnodeinfo_t, and Agedgeinfo_t.)
+
+3. Compile with \-lgraph \-lcdt.
+
+Except for the \fBu\fP fields, \fIlibgraph\fP
+data structures must be considered read\(hyonly.
+Corrupting their contents by direct updates can cause
+catastrophic errors.
+
+.SH "GRAPHS"
+.nf
+\f5
+typedef struct Agraph_t {
+ char kind;
+ char *name;
+ Agraph_t *root;
+ char **attr;
+ graphdata_t *univ;
+ Dict_t *nodes,*inedges,*outedges;
+ proto_t *proto;
+ Agraphinfo_t u;
+} Agraph_t;
+
+typedef struct graphdata_t {
+ Dict_t *node_dict;
+ attrdict_t *nodeattr, *edgeattr, *globattr;
+} graphdata_t;
+
+typedef struct proto_t {
+ Agnode_t *n;
+ Agedge_t *e;
+ proto_t *prev;
+} proto_t;
+\fP
+.fi
+A graph \fIkind\fP is one of:
+AGRAPH, AGRAPHSTRICT, AGDIGRAPH, or AGDIGRAPHSTRICT.
+There are related macros for testing the properties of a graph:
+AG_IS_DIRECTED(g) and AG_IS_STRICT(g).
+Strict graphs cannot have self\(hyarcs or multi\(hyedges.
+\fBattr\fP is the array of external attribute values.
+\fBuniv\fP points to values shared by all subgraphs of a main graph.
+\fBnodes\fP, \fBinedges\fP, and \fBoutedges\fP are sets maintained
+by \fBcdt(3)\fP. Normally you don't access these dictionaries
+directly, though the edge dictionaries may be re\(hyordered to support
+programmer\(hydefined ordered edges (see \f5dtreorder\fP in \fIcdt(3)\fP).
+\fBproto\fP is a stack of templates for node and edge initialization.
+The attributes of these nodes and edges are set in the usual way (\f5agget\fP,
+\f5agset\fP, etc.) to set defaults.
+.PP
+\f5agread\fP reads a file and returns a new graph if one
+was succesfully parsed, otherwise returns NULL if
+\f5EOF\fP or a syntax error was encountered.
+Errors are reported on stderr and a count is returned from
+\g5agerrors()\fP.
+\f5write_graph\fP prints a graph on a file.
+\f5agopen\fP and \f5agsubg\fP create new empty graph and subgraphs.
+\f5agfindsubg\fP searches for a subgraph by name, returning NULL
+when the search fails.
+
+.SH ALL OBJECTS
+\f5agcontains\fP, \f5aginsert\fP, \f5agdelete\fP are generic functions
+for nodes, edges, and graphs. \f5gcontains\fP is a predicate that tests
+if an object belongs to the given graph. \f5aginsert\fP inserts an
+object in a graph and \f5agdelete\fP undoes this operation.
+A node or edge is destroyed (and its storage freed) at the time it
+is deleted from the main graph. Likewise a subgraph is destroyed
+when it is deleted from its last parent or when its last parent is deleted.
+
+.SH NODES
+.nf
+\f5
+typedef struct Agnode_t {
+ char *name;
+ Agraph_t *graph;
+ char **attr;
+ Agnodeinfo_t u;
+} Agnode_t;
+\fP
+.fi
+
+\f5agnode\fP attempts to create a node.
+If one with the requested name already exists, the old node
+is returned unmodified.
+Otherwise a new node is created, with attributed copied from g\->proto\->n.
+\f5agfstnode\fP (\f5agnxtnode\fP) return the first (next) element
+in the node set of a graph, respectively, or NULL.
+\f5aglstnode\fP (\f5agprvnode\fP) return the last (previous) element
+in the node set of a graph, respectively, or NULL.
+
+.SH EDGES
+.nf
+\f5
+typedef struct Agedge_t {
+ Agnode_t *head,*tail;
+ char **attr;
+ Agedgeinfo_t u;
+} Agedge_t;
+\fP
+.fi
+\f5agedge\fP creates a new edge with the attributes of g\->proto\->e
+including its key if not empty.
+\f5agfindedge\fP finds the first (u,v) edge in \f5g\fP.
+\f5agfstedge\fP (\f5agnxtedge\fP) return the first (next) element
+in the edge set of a graph, respectively, or NULL.
+\f5agfstin\fP, \f5agnxtin\fP, \f5agfstout\fP, \f5agnxtout\fP
+refer to in\(hy or out\(hyedge sets.
+The idiomatic usage in a directed graph is:
+.sp
+\f5 for (e = agfstout(g,n); e; e = agnextout(g,e)) your_fun(e);\fP
+.P
+An edge is uniquely identified by its endpoints and its \f5key\fP
+attribute (if there are multiple edges).
+If the \f5key\fP of \f5g\->proto\->e\fP is empty,
+new edges are assigned an internal value.
+Edges also have \f5tailport\fP and \f5headport\fP values.
+These have special syntax in the graph file language but are
+not otherwise interpreted.
+.PP
+.SH ATTRIBUTES
+.nf
+\f5
+typedef struct attrsym_t {
+ char *name,*value;
+ int index;
+ unsigned char printed;
+} attrsym_t;
+.bp
+typedef struct attrdict_t {
+ char *name;
+ Dict_t *dict;
+ attrsym_t **list;
+} attrdict_t;
+\fP
+.fi
+\f5agraphattr\fP, \f5agnodeattr\fP, and \f5agedgeattr\fP make new attributes.
+\f5g\fP should be a main graph, or \f5NULL\fP for declarations
+applying to all graphs subsequently read or created.
+\f5agfindattr\fP searches for an existing attribute.
+.PP
+External attributes are accessed by \f5agget\fP and \f5agset\fP
+These take a pointer to any graph, node, or edge, and an attribute name.
+Also, each attribute has an integer index. For efficiency this index
+may be passed instead of the name, by calling \f5agxget\fP and \f5agxset\fP.
+The \f5printed\fP flag of an attribute may be set to 0 to skip it
+when writing a graph file.
+.PP
+The \f5list\fP in an attribute dictionary is maintained in order of creation
+and is NULL terminated.
+Here is a program fragment to print node attribute names:
+.nf
+ \f5attrsym_t *aptr;
+ for (i = 0; aptr = g\->univ\->nodedict\->list[i]; i++) puts(aptr\->name);\fP
+.fi
+.SH EXAMPLE GRAPH FILES
+.nf
+graph any_name { /* an undirected graph */
+ a \-\- b; /* a simple edge */
+ a \-\- x1 \-\- x2 \-\- x3; /* a chain of edges */
+ "x3.a!" \-\- a; /* quotes protect special characters */
+ b \-\- {q r s t}; /* edges that fan out */
+ b [color="red",size=".5,.5"]; /* set various node attributes */
+ node [color=blue]; /* set default attributes */
+ b \-\- c [weight=25]; /* set edge attributes */
+ subgraph sink_nodes {a b c}; /* make a subgraph */
+}
+
+digraph G {
+ size="8.5,11"; /* sets a graph attribute */
+ a \-> b; /* makes a directed edge */
+ chip12.pin1 \-> chip28.pin3; /* uses named node "ports" */
+}
+.fi
+
+.SH SEE ALSO
+.BR dot (1),
+.BR neato (1),
+.BR libdict (3)
+.br
+S. C. North and K. P. Vo, "Dictionary and Graph Libraries''
+1993 Winter USENIX Conference Proceedings, pp. 1\(hy11.
+
+.SH AUTHOR
+Stephen North (north@ulysses.att.com), AT&T Bell Laboratories.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/gvc.3 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/gvc.3
new file mode 100644
index 0000000..f35385f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/gvc.3
@@ -0,0 +1,66 @@
+.TH LIBGVC 3
+.SH NAME
+\fBlibgvc\fR \- Graphviz context library
+.SH SYNOPSIS
+.ta .75i 1.5i 2.25i 3i 3.75i 4.5i 5.25i 6i
+.PP
+.nf
+\f5
+#include <graphviz/gvc.h>
+
+/* set up a graphviz context */
+extern GVC_t *gvNEWcontext(char **info, char *user);
+extern char *gvUsername(void);
+
+/* set up a graphviz context \(hy alternative */
+/* (wraps the above two functions using info built into libgvc) */
+extern GVC_t *gvContext(void);
+
+/* parse command line args \(hy minimally argv[0] sets layout engine */
+extern int gvParseArgs(GVC_t *gvc, int argc, char **argv);
+extern graph_t *gvNextInputGraph(GVC_t *gvc);
+
+/* Compute a layout using a specified engine */
+extern int gvLayout(GVC_t *gvc, graph_t *g, char *engine);
+
+/* Compute a layout using layout engine from command line args */
+extern int gvLayoutJobs(GVC_t *gvc, graph_t *g);
+
+/* Render layout into string attributes of the graph */
+extern void attach_attrs(graph_t *g);
+
+/* Parse an html string */
+extern char *agstrdup_html(char *s);
+extern int aghtmlstr(char *s);
+
+/* Render layout in a specified format to an open FILE */
+extern int gvRender(GVC_t *gvc, graph_t *g, char *format, FILE *out);
+
+/* Render layout in a specified format to an open FILE */
+extern int gvRenderFilename(GVC_t *gvc, graph_t *g, char *format, char *filename);
+
+/* Render layout according to \-T and \-o options found by gvParseArgs */
+extern int gvRenderJobs(GVC_t *gvc, graph_t *g);
+
+/* Clean up layout data structures \(hy layouts are not nestable (yet) */
+extern int gvFreeLayout(GVC_t *gvc, graph_t *g);
+
+/* Clean up graphviz context */
+extern int gvFreeContext(GVC_t *gvc);
+
+\fP
+.fi
+.SH DESCRIPTION
+\fIlibgvc\fP provides a context for applications wishing to manipulate
+and render graphs. It provides a command line parsing, common rendering code,
+and a plugin mechanism for renderers.
+
+.SH SEE ALSO
+.BR dot (1),
+.BR neato (1),
+.BR libcdt (3)
+.BR libgraph (3)
+.br
+
+.SH AUTHOR
+John Ellson (ellson@research.att.com), AT&T
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/pathplan.3 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/pathplan.3
new file mode 100644
index 0000000..90591b8
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/pathplan.3
@@ -0,0 +1,97 @@
+.TH LIBPATH 3 "01 APRIL 1997"
+.SH NAME
+\fBlibpathplan\fR \- finds and smooths shortest paths
+.SH SYNOPSIS
+.ta .75i 1.5i 2.25i 3i 3.75i 4.5i 5.25i 6i
+.PP
+.nf
+\f5
+#include <graphviz/pathplan.h>
+
+typedef struct Pxy_t {
+ double x, y;
+} Pxy_t;
+
+typedef struct Pxy_t Ppoint_t;
+typedef struct Pxy_t Pvector_t;
+
+typedef struct Ppoly_t {
+ Ppoint_t *ps;
+ int pn;
+} Ppoly_t;
+
+typedef Ppoly_t Ppolyline_t;
+
+typedef struct Pedge_t {
+ Ppoint_t a, b;
+} Pedge_t;
+
+typedef struct vconfig_s vconfig_t;
+
+#define POLYID_NONE
+#define POLYID_UNKNOWN
+
+\fP
+.fi
+.SH FUNCTIONS
+
+.nf
+\f5
+int Pshortestpath(Ppoly_t *boundary, Ppoint_t endpoints[2], Ppolyline_t *output_route);
+\fP
+.fi
+Finds a shortest path between two points in a simple polygon.
+You pass endpoints interior to the polygon boundary.
+A shortest path connecting the points that remains in the polygon
+is returned in output_route. If either endpoint does not lie in
+the polygon, an error code is returned. (what code!!)
+
+.nf
+\f5
+vconfig_t *Pobsopen(Ppoly_t **obstacles, int n_obstacles);
+.br
+int Pobspath(vconfig_t *config, Ppoint_t p0, int poly0, Ppoint_t p1, int poly1, Ppolyline_t *output_route);
+.br
+void Pobsclose(vconfig_t *config);
+\fP
+.fi
+These functions find a shortest path between two points in a
+simple polygon that possibly contains polygonal obstacles (holes).
+\f5Pobsopen\fP creates a configuration (an opaque struct of type
+\f5vconfig_t\fP) on a set of obstacles. \f5Pobspath\fP finds
+a shortest path between the endpoints that remains outside the
+obstacles. If the endpoints are known to lie inside obstacles,
+\f5poly0\fP or \f5poly1\fP should be set to the index in the
+\f5obstacles\fP array. If an endpoint is definitely not inside
+an obstacle, then \f5POLYID_NONE\fP should be passed. If the
+caller has not checked, then \f5POLYID_UNKNOWN\fP should be passed,
+and the path library will perform the test.
+
+(!! there is no boundary polygon in this model?!!!)
+
+.nf
+\f5
+int Proutespline (Pedge_t *barriers, int n_barriers, Ppolyline_t input_route, Pvector_t endpoint_slopes[2],
+ Ppolyline_t *output_route);
+\fP
+.fi
+
+This function fits a Bezier curve to a polyline path.
+The curve must avoid a set of barrier segments. The polyline
+is usually the \f5output_route\fP of one of the shortest path
+finders, but it can be any simple path that doesn't cross
+any obstacles. The input also includes endpoint slopes and
+0,0 means unconstrained slope.
+
+Finally, this utility function converts an input list of polygons
+into an output list of barrier segments:
+.nf
+\f5
+int Ppolybarriers(Ppoly_t **polys, int n_polys, Pedge_t **barriers, int *n_barriers);
+\fP
+.fi
+
+.SH AUTHORS
+David Dobkin (dpd@cs.princeton.edu),
+Eleftherios Koutsofios (ek@research.att.com),
+Emden Gansner (erg@research.att.com).
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man7/graphviz.7 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man7/graphviz.7
new file mode 100644
index 0000000..eda8315
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man7/graphviz.7
@@ -0,0 +1,106 @@
+.\" -*- nroff -*-
+.\" This manual is for graphviz, a rich set of graph drawing tools, and it
+.\" can be distributed under the same terms as the graphviz package.
+.\"
+.\" Copyright (C) 2006 Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>
+.\"
+.TH GRAPHVIZ 7 "November 19, 2006"
+.SH "NAME"
+graphviz \- rich set of graph drawing tools
+
+.SH "SYNOPSIS"
+This manpage has been written to fulfil the need of a centralized documentation
+presenting all available tools in the graphviz package.
+
+.SH "AVAILABLE TOOLS"
+
+.SS "Graph layout programs"
+.TP
+.B dot
+filter for hierarchical layouts of graphs
+.TP
+.B neato
+filter for symmetric layouts of graphs
+.TP
+.B twopi
+filter for radial layouts of graphs
+.TP
+.B circo
+filter for circular layout of graphs
+.TP
+.B fdp
+filter for symmetric layouts of graphs
+.PP
+All of the filters work with either directed or undirected graphs, though
+.B dot
+is typically used for directed graphs and
+.B neato
+for undirected graphs.
+Note also that \fBneato \-n[2]\fP can be used to render layouts produced
+by the other filters.
+.SS "Graph drawing programs"
+.TP
+.B lefty
+A Programmable Graphics Editor
+.TP
+.B lneato
+lefty + neato
+.TP
+.B dotty
+lefty + dot
+
+
+.SS "Graph layout enhancement"
+.TP
+.B gvcolor
+flow colors through a ranked digraph
+.TP
+.B unflatten
+adjust directed graphs to improve layout aspect ratio
+.TP
+.B gvpack
+merge and pack disjoint graphs
+
+.SS "Graph information and transformation"
+.TP
+.B gc
+count graph components
+.TP
+.B acyclic
+make directed graph acyclic
+.TP
+.B nop
+pretty-print graph file
+.TP
+.B ccomps
+connected components filter for graphs
+.TP
+.B sccmap
+extract strongly connected components of directed graphs
+.TP
+.B tred
+transitive reduction filter for directed graphs
+.TP
+.B dijkstra
+single-source distance filter
+.TP
+.B bcomps
+biconnected components filter for graphs
+.TP
+.B gvpr
+graph pattern scanning and processing language
+.TP
+.B prune
+prune directed graphs
+
+.SS "Other"
+.TP
+.B "gxl2dot, dot2gxl"
+GXL-DOT converters
+
+.SH "AUTHOR"
+This manual page was written by Cyril Brulebois
+<cyril.brulebois@enst\-bretagne.fr> in november 2006, based on an initial
+documentation effort by Joachim Berdal Haga <jbh@lupus.ig3.net>. It can be
+distributed under the same terms as the graphviz package.
+