diff options
author | Karl Berry <karl@freefriends.org> | 2012-04-14 23:23:02 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-04-14 23:23:02 +0000 |
commit | ca3e67455fc5d21acc9ed30271e87c7c1638e762 (patch) | |
tree | 18b02248eedf9a13493866a1084e09a6d633635f /Master/texmf-dist/doc/support | |
parent | d548766ecfd76daa886ae9698415f0145e2ff63d (diff) |
pedigree-perl 1.0 (14apr12)
git-svn-id: svn://tug.org/texlive/trunk@25970 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/support')
14 files changed, 27919 insertions, 458 deletions
diff --git a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree.3 b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree.3 index bde96a049a1..e1f63a36a8e 100644 --- a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree.3 +++ b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree.3 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,25 +124,32 @@ .\" ======================================================================== .\" .IX Title "Pedigree 3" -.TH Pedigree 3 "2007-07-09" "perl v5.8.8" "User Contributed Perl Documentation" +.TH Pedigree 3 "2007-07-09" "perl v5.10.0" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" Pedigree \- the main library for Pedigree. .SH "SYNOPSIS" .IX Header "SYNOPSIS" use Pedigree; .PP -$node = Pedigree\->MakeNode($params); +\&\f(CW$node\fR = Pedigree\->MakeNode($params); .SH "DESCRIPTION" .IX Header "DESCRIPTION" This is the main package for pedigree construction. It calls other libraries in the Pedigree:: family -.IP "\fBMakeNode\fR(\fI$params\fR);" 4 -.IX Item "MakeNode($params);" +.Sp +.RS 4 +\&\fBMakeNode\fR(\fI\f(CI$params\fI\fR); +.Sp Construct a new node from the given parameters. Check what kind of node should we construct. +.RE .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" -The calling program should define \fB$main::DEBUG\fR and set it to 0 +The calling program should define \fB\f(CB$main::DEBUG\fB\fR and set it to 0 or 1. .SH "SEE ALSO" .IX Header "SEE ALSO" @@ -164,3 +166,9 @@ or 1. .SH "AUTHOR" .IX Header "AUTHOR" Boris Veytsman, Leila Akhmadeeva, 2007 +.SH "POD ERRORS" +.IX Header "POD ERRORS" +Hey! \fBThe above document had some coding errors, which are explained below:\fR +.IP "Around line 18:" 4 +.IX Item "Around line 18:" +You can't have =items (as at line 46) unless the first thing after the =over is an =item diff --git a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/AbortionNode.3 b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/AbortionNode.3 index 3ae47c203b9..1d1569d08df 100644 --- a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/AbortionNode.3 +++ b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/AbortionNode.3 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,35 +124,44 @@ .\" ======================================================================== .\" .IX Title "Pedigree::AbortionNode 3" -.TH Pedigree::AbortionNode 3 "2007-07-22" "perl v5.8.8" "User Contributed Perl Documentation" +.TH Pedigree::AbortionNode 3 "2007-07-22" "perl v5.10.0" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" Pedigree::AbortionNode \- an abortion in a pedigree .SH "SYNOPSIS" .IX Header "SYNOPSIS" use Pedigree::AbortionNode; .PP -$node = new Pedigree::AbortionNode(\fI%params\fR); +\&\f(CW$node\fR = new Pedigree::AbortionNode(\fI\f(CI%params\fI\fR); .PP -$node\->DrawNode(\fI$xidst\fR, \fI$ydist\fR, \fI$belowtextfont\fR, \fI$abovetextfont\fR, -\&\fI@fieldsfornode\fR); +\&\f(CW$node\fR\->DrawNode(\fI\f(CI$xidst\fI\fR, \fI\f(CI$ydist\fI\fR, \fI\f(CI$belowtextfont\fI\fR, \fI\f(CI$abovetextfont\fI\fR, +\&\fI\f(CI@fieldsfornode\fI\fR); .PP -$node\->PrintLegend(\fI$land\fR, \fI@fields\fR); +\&\f(CW$node\fR\->PrintLegend(\fI\f(CI$land\fI\fR, \fI\f(CI@fields\fI\fR); .SH "DESCRIPTION" .IX Header "DESCRIPTION" This package contains data about an abortion. Abortion is like a person, but it cannot have kids, and it is drawn differently -.IP "\fBDrawNode\fR(\fI$xdist\fR, \fI$ydist\fR, \fI$belowtextfont\fR, \fI$abovetextfont\fR, \fI@fieldsfornode\fR);" 4 -.IX Item "DrawNode($xdist, $ydist, $belowtextfont, $abovetextfont, @fieldsfornode);" +.Sp +.RS 4 +\&\fBDrawNode\fR(\fI\f(CI$xdist\fI\fR, \fI\f(CI$ydist\fI\fR, \fI\f(CI$belowtextfont\fI\fR, \fI\f(CI$abovetextfont\fI\fR, +\&\fI\f(CI@fieldsfornode\fI\fR); +.Sp Output the command to draw this node. The parameters are distances between the nodes (in cm) and fields for abovetext. -.IP "\fBPrintLegend\fR(\fI$lang\fR, \fI@fields\fR);" 4 -.IX Item "PrintLegend($lang, @fields);" -Print the legend for the given node, including \fI@fields\fR in the given -language \fI$lang\fR, and excluding the fields, that have no meaning for +.Sp +\&\fBPrintLegend\fR(\fI\f(CI$lang\fI\fR, \fI\f(CI@fields\fI\fR); +.Sp +Print the legend for the given node, including \fI\f(CI@fields\fI\fR in the given +language \fI\f(CI$lang\fI\fR, and excluding the fields, that have no meaning for this node. +.RE .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" -The calling program should define \fB$main::DEBUG\fR and set it to 0 +The calling program should define \fB\f(CB$main::DEBUG\fB\fR and set it to 0 or 1. .SH "SEE ALSO" .IX Header "SEE ALSO" @@ -165,3 +169,9 @@ or 1. .SH "AUTHOR" .IX Header "AUTHOR" Boris Veytsman, Leila Akhmadeeva, 2007 +.SH "POD ERRORS" +.IX Header "POD ERRORS" +Hey! \fBThe above document had some coding errors, which are explained below:\fR +.IP "Around line 23:" 4 +.IX Item "Around line 23:" +You can't have =items (as at line 46) unless the first thing after the =over is an =item diff --git a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Area.3 b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Area.3 index 9e58f6b46c9..c200cbbf0fe 100644 --- a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Area.3 +++ b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Area.3 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,38 +124,42 @@ .\" ======================================================================== .\" .IX Title "Pedigree::Area 3" -.TH Pedigree::Area 3 "2007-07-08" "perl v5.8.8" "User Contributed Perl Documentation" +.TH Pedigree::Area 3 "2007-07-08" "perl v5.10.0" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" Pedigree::Area \- Calculate the area taken by a tree or a clump .SH "SYNOPSIS" .IX Header "SYNOPSIS" use Pedigree::Area; .PP -$area = new Pedigree::Area($node); +\&\f(CW$area\fR = new Pedigree::Area($node); .PP -$Ymin=$area\->\fIGetYmin()\fR; +\&\f(CW$Ymin\fR=$area\->\fIGetYmin()\fR; .PP -$area\->SetYmin($Ymin); +\&\f(CW$area\fR\->SetYmin($Ymin); .PP -$Ymax=$area\->\fIGetYmax()\fR; +\&\f(CW$Ymax\fR=$area\->\fIGetYmax()\fR; .PP -$area\->SetYmax($Ymax); +\&\f(CW$area\fR\->SetYmax($Ymax); .PP -$Xmin=$area\->GetXmin($y); +\&\f(CW$Xmin\fR=$area\->GetXmin($y); .PP -$area\->SetXmin($y,$x); +\&\f(CW$area\fR\->SetXmin($y,$x); .PP -$Xmax=$area\->GetXmax($y); +\&\f(CW$Xmax\fR=$area\->GetXmax($y); .PP -$area\->SetXmax($y,$x); +\&\f(CW$area\fR\->SetXmax($y,$x); .PP -$area\->AddRight($otherarea); +\&\f(CW$area\fR\->AddRight($otherarea); .PP -$area\->AddLeft($otherarea); +\&\f(CW$area\fR\->AddLeft($otherarea); .PP -$rootnode=$area\->\fIGetRootNode()\fR; +\&\f(CW$rootnode\fR=$area\->\fIGetRootNode()\fR; .PP -$area\->MoveLowerLayers($x); +\&\f(CW$area\fR\->MoveLowerLayers($x); .SH "DESCRIPTION" .IX Header "DESCRIPTION" The algorithm of \fIpedigree\fR\|(1) uses the notion of area: a part of @@ -169,61 +168,74 @@ notion. .PP Each Area has \fBrootnode\fR \- the reference node for all calculations. All distances are calculated as relative to the coordinates of the -\&\fBrootnode\fR. +\&\fBrootnode\fR. .PP The units are distances between the nodes in X and Y direction. The Y axis is \fIdownward\fR: the earlier generations have smaller Y coordinates. -.IP "\fBnew\fR(\fI$rootnode\fR);" 4 -.IX Item "new($rootnode);" +.Sp +.RS 4 +\&\fBnew\fR(\fI\f(CI$rootnode\fI\fR); +.Sp Construct a new area around the given rootnode -.IP "\fBGetYmin\fR();" 4 -.IX Item "GetYmin();" +.Sp +\&\fBGetYmin\fR(); +.Sp Get the lower bound of the area. -.IP "\fBSetYmin\fR(\fI$y\fR);" 4 -.IX Item "SetYmin($y);" +.Sp +\&\fBSetYmin\fR(\fI\f(CI$y\fI\fR); +.Sp Set the lower bound of the area. -.IP "\fBGetYmax\fR();" 4 -.IX Item "GetYmax();" +.Sp +\&\fBGetYmax\fR(); +.Sp Get the upper bound of the area. -.IP "\fBSetYmax\fR(\fI$y\fR);" 4 -.IX Item "SetYmax($y);" +.Sp +\&\fBSetYmax\fR(\fI\f(CI$y\fI\fR); +.Sp Set the upper bound of the area. -.IP "\fBGetXmin\fR(\fI$y\fR);" 4 -.IX Item "GetXmin($y);" +.Sp +\&\fBGetXmin\fR(\fI\f(CI$y\fI\fR); +.Sp Get the minimal X coordinate of the area on the level Y. -.ie n .IP "\fBSetXmin\fR(\fI$y, \fI$x\fI\fR);" 4 -.el .IP "\fBSetXmin\fR(\fI$y, \f(CI$x\fI\fR);" 4 -.IX Item "SetXmin($y, $x);" +.Sp +\&\fBSetXmin\fR(\fI\f(CI$y\fI, \f(CI$x\fI\fR); +.Sp Set the minimal X coordinate of the area on the level Y. -.IP "\fBGetXmax\fR(\fI$y\fR);" 4 -.IX Item "GetXmax($y);" +.Sp +\&\fBGetXmax\fR(\fI\f(CI$y\fI\fR); +.Sp Get the maximal X coordinate of the area the the level Y. -.ie n .IP "\fBSetXmax\fR(\fI$y, \fI$x\fI\fR);" 4 -.el .IP "\fBSetXmax\fR(\fI$y, \f(CI$x\fI\fR);" 4 -.IX Item "SetXmax($y, $x);" +.Sp +\&\fBSetXmax\fR(\fI\f(CI$y\fI, \f(CI$x\fI\fR); +.Sp Set the maximal X coordinate of the area the the level Y. -.IP "\fBAddRight\fR(\fI$otherarea\fR);" 4 -.IX Item "AddRight($otherarea);" -Add the new area \fI$otherarea\fR to the given area at the right. The +.Sp +\&\fBAddRight\fR(\fI\f(CI$otherarea\fI\fR); +.Sp +Add the new area \fI\f(CI$otherarea\fI\fR to the given area at the right. The \&\*(L"other area\*(R" should have a root node that is relative to our root node. The relative Y of the other root node is used, the relative X is set. -.IP "\fBAddLeft\fR(\fI$otherarea\fR);" 4 -.IX Item "AddLeft($otherarea);" -Add the new area \fI$otherarea\fR to the given area at the left. The +.Sp +\&\fBAddLeft\fR(\fI\f(CI$otherarea\fI\fR); +.Sp +Add the new area \fI\f(CI$otherarea\fI\fR to the given area at the left. The \&\*(L"other area\*(R" should have a root node that is relative to our root node. The relative Y of the other root node is used, the relative X is set. -.IP "\fBGetRootNode\fR();" 4 -.IX Item "GetRootNode();" +.Sp +\&\fBGetRootNode\fR(); +.Sp Return the root node of the area. -.IP "\fBMoveLowerLayers\fR(\fI$x\fR);" 4 -.IX Item "MoveLowerLayers($x);" -Shift the lower layers (>0) of the area in the X direction by \fI$x\fR +.Sp +\&\fBMoveLowerLayers\fR(\fI\f(CI$x\fI\fR); +.Sp +Shift the lower layers (>0) of the area in the X direction by \fI\f(CI$x\fI\fR +.RE .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" -The calling program should define \fB$main::DEBUG\fR and set it to 0 +The calling program should define \fB\f(CB$main::DEBUG\fB\fR and set it to 0 or 1. .SH "SEE ALSO" .IX Header "SEE ALSO" @@ -231,3 +243,9 @@ or 1. .SH "AUTHOR" .IX Header "AUTHOR" Boris Veytsman, Leila Akhmadeeva, 2006, 2007 +.SH "POD ERRORS" +.IX Header "POD ERRORS" +Hey! \fBThe above document had some coding errors, which are explained below:\fR +.IP "Around line 51:" 4 +.IX Item "Around line 51:" +You can't have =items (as at line 69) unless the first thing after the =over is an =item diff --git a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/ChildlessNode.3 b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/ChildlessNode.3 index 08930658c49..0051778ed55 100644 --- a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/ChildlessNode.3 +++ b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/ChildlessNode.3 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,38 +124,48 @@ .\" ======================================================================== .\" .IX Title "Pedigree::ChildlessNode 3" -.TH Pedigree::ChildlessNode 3 "2007-07-22" "perl v5.8.8" "User Contributed Perl Documentation" +.TH Pedigree::ChildlessNode 3 "2007-07-22" "perl v5.10.0" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" Pedigree::ChildlessNode \- an abortion in a pedigree .SH "SYNOPSIS" .IX Header "SYNOPSIS" use Pedigree::ChildlessNode; .PP -$node = new Pedigree::ChildlessNode(\fI%params\fR); +\&\f(CW$node\fR = new Pedigree::ChildlessNode(\fI\f(CI%params\fI\fR); .PP -$node\->DrawNode(\fI$xidst\fR, \fI$ydist\fR, \fI$belowtextfont\fR, \fI$abovetextfont\fR, -\&\fI@fieldsfornode\fR); +\&\f(CW$node\fR\->DrawNode(\fI\f(CI$xidst\fI\fR, \fI\f(CI$ydist\fI\fR, \fI\f(CI$belowtextfont\fI\fR, \fI\f(CI$abovetextfont\fI\fR, +\&\fI\f(CI@fieldsfornode\fI\fR); .PP -$node\->PrintLegend(\fI$land\fR, \fI@fields\fR); +\&\f(CW$node\fR\->PrintLegend(\fI\f(CI$land\fI\fR, \fI\f(CI@fields\fI\fR); .SH "DESCRIPTION" .IX Header "DESCRIPTION" This package contains data about a \*(L"childlessness\*(R" node. This node is not numbered in pedigree. -.IP "\fBnew\fR(\fI%params\fR);" 4 -.IX Item "new(%params);" -Construct a new node from the given parameters. -.IP "\fBDrawNode\fR(\fI$xdist\fR, \fI$ydist\fR, \fI$belowtextfont\fR, \fI$abovetextfont\fR, \fI@fieldsfornode\fR);" 4 -.IX Item "DrawNode($xdist, $ydist, $belowtextfont, $abovetextfont, @fieldsfornode);" +.Sp +.RS 4 +\&\fBnew\fR(\fI\f(CI%params\fI\fR); +.Sp +Construct a new node from the given parameters. +.Sp +\&\fBDrawNode\fR(\fI\f(CI$xdist\fI\fR, \fI\f(CI$ydist\fI\fR, \fI\f(CI$belowtextfont\fI\fR, \fI\f(CI$abovetextfont\fI\fR, +\&\fI\f(CI@fieldsfornode\fI\fR); +.Sp Output the command to draw this node. The parameters are distances between the nodes (in cm) and fields for abovetext (not used here). We only print the Comment field below the node, and draw this node higher than other nodes. -.IP "\fBPrintLegend\fR(\fI$lang\fR, \fI@fields\fR);" 4 -.IX Item "PrintLegend($lang, @fields);" +.Sp +\&\fBPrintLegend\fR(\fI\f(CI$lang\fI\fR, \fI\f(CI@fields\fI\fR); +.Sp This subroutine does nothing since childlessness has no legend. +.RE .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" -The calling program should define \fB$main::DEBUG\fR and set it to 0 +The calling program should define \fB\f(CB$main::DEBUG\fB\fR and set it to 0 or 1. .SH "SEE ALSO" .IX Header "SEE ALSO" @@ -168,3 +173,9 @@ or 1. .SH "AUTHOR" .IX Header "AUTHOR" Boris Veytsman, Leila Akhmadeeva, 2007 +.SH "POD ERRORS" +.IX Header "POD ERRORS" +Hey! \fBThe above document had some coding errors, which are explained below:\fR +.IP "Around line 24:" 4 +.IX Item "Around line 24:" +You can't have =items (as at line 45) unless the first thing after the =over is an =item diff --git a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Language.3 b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Language.3 index 1838308c460..2b3059bd7b3 100644 --- a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Language.3 +++ b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Language.3 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,65 +124,79 @@ .\" ======================================================================== .\" .IX Title "Pedigree::Language 3" -.TH Pedigree::Language 3 "2007-10-21" "perl v5.8.8" "User Contributed Perl Documentation" +.TH Pedigree::Language 3 "2007-10-21" "perl v5.10.0" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" Pedigree::Language \- encapsulating language issues for pedigree library .SH "SYNOPSIS" .IX Header "SYNOPSIS" use Pedigree::Language; .PP -$lang = new Pedigree::Language(\fI$language\fR[, \fI$encoding\fR]); +\&\f(CW$lang\fR = new Pedigree::Language(\fI\f(CI$language\fI\fR[, \fI\f(CI$encoding\fI\fR]); .PP -$lang\->\fIHeader()\fR; +\&\f(CW$lang\fR\->\fIHeader()\fR; .PP -$lang\->\fILanguage()\fR; +\&\f(CW$lang\fR\->\fILanguage()\fR; .PP -$lang\->\fIEncoding()\fR; +\&\f(CW$lang\fR\->\fIEncoding()\fR; .PP -$lang\->\fIGetFieldNames()\fR; +\&\f(CW$lang\fR\->\fIGetFieldNames()\fR; .PP -$lang\->\fIGetValues()\fR; +\&\f(CW$lang\fR\->\fIGetValues()\fR; .PP -$lang\->\fIGetSpecialNames()\fR; +\&\f(CW$lang\fR\->\fIGetSpecialNames()\fR; .PP -$lang\->PrintField(\fI$field\fR, $<$value>); +\&\f(CW$lang\fR\->PrintField(\fI\f(CI$field\fI\fR, $<$value>); .SH "DESCRIPTION" .IX Header "DESCRIPTION" This package defines the language-dependent parts of the pedigree library. The idea is to gather everything about language here, so adding a new language should be (presumably) be easy. -.IP "\fBnew\fR(\fI$language\fR[, \fI$encoding\fR]);" 4 -.IX Item "new($language[, $encoding]);" +.Sp +.RS 4 +\&\fBnew\fR(\fI\f(CI$language\fI\fR[, \fI\f(CI$encoding\fI\fR]); +.Sp Construct the new interpreter from the given language and encoding names. -.IP "\fBHeader\fR ()" 4 -.IX Item "Header ()" +.Sp +\&\fBHeader\fR () +.Sp Print the language-related lines of the document preamble -.IP "\fBLanguage\fR ()" 4 -.IX Item "Language ()" +.Sp +\&\fBLanguage\fR () +.Sp Print the current language -.IP "\fBEncoding\fR ()" 4 -.IX Item "Encoding ()" +.Sp +\&\fBEncoding\fR () +.Sp Print the current encoding -.IP "\fBGetFieldNames\fR();" 4 -.IX Item "GetFieldNames();" +.Sp +\&\fBGetFieldNames\fR(); +.Sp Outputs a reference to a hash \&\*(L"field_name_in_this_language\*(R"=>\*(L"field_name_in_English\*(R" -.IP "\fBGetValues\fR();" 4 -.IX Item "GetValues();" +.Sp +\&\fBGetValues\fR(); +.Sp Outputs a reference to a hash \&\*(L"field_value_in_this_language\*(R"=>\*(L"field_value_in_English\*(R" -.IP "\fBGetSpecialNames\fR();" 4 -.IX Item "GetSpecialNames();" +.Sp +\&\fBGetSpecialNames\fR(); +.Sp Some values for the 'Name' field start with \f(CW\*(C`#\*(C'\fR. They are special. This subroutine outputs a reference to a hash \&\*(L"special_name_in_this_language\*(R"=>\*(L"special_name\*(R" -.IP "\fBPrintField\fR(\fI$field\fR, \fI$value\fR);" 4 -.IX Item "PrintField($field, $value);" -Formats the value \fI$value\fR of the given field \fI$field\fR according +.Sp +\&\fBPrintField\fR(\fI\f(CI$field\fI\fR, \fI\f(CI$value\fI\fR); +.Sp +Formats the value \fI\f(CI$value\fI\fR of the given field \fI\f(CI$field\fI\fR according to the rules of the given language. +.RE .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" -The calling program should define \fB$main::DEBUG\fR and set it to 0 +The calling program should define \fB\f(CB$main::DEBUG\fB\fR and set it to 0 or 1. .SH "SEE ALSO" .IX Header "SEE ALSO" @@ -195,3 +204,9 @@ or 1. .SH "AUTHOR" .IX Header "AUTHOR" Boris Veytsman, Leila Akhmadeeva, 2006, 2007 +.SH "POD ERRORS" +.IX Header "POD ERRORS" +Hey! \fBThe above document had some coding errors, which are explained below:\fR +.IP "Around line 34:" 4 +.IX Item "Around line 34:" +You can't have =items (as at line 57) unless the first thing after the =over is an =item diff --git a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/MarriageNode.3 b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/MarriageNode.3 index d36edd4a56c..780588f4c15 100644 --- a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/MarriageNode.3 +++ b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/MarriageNode.3 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,67 +124,82 @@ .\" ======================================================================== .\" .IX Title "Pedigree::MarriageNode 3" -.TH Pedigree::MarriageNode 3 "2007-07-15" "perl v5.8.8" "User Contributed Perl Documentation" +.TH Pedigree::MarriageNode 3 "2007-07-15" "perl v5.10.0" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" Pedigree::MarriageNode \- a marriage in a pedigree .SH "SYNOPSIS" .IX Header "SYNOPSIS" use Pedigree::MarriageNode; .PP -$node = new Pedigree::MarriageNode(\fI%params\fR); +\&\f(CW$node\fR = new Pedigree::MarriageNode(\fI\f(CI%params\fI\fR); .PP -$FSpouse = \f(CW$node\fR\->\fIFSpouse()\fR; +\&\f(CW$FSpouse\fR = \f(CW$node\fR\->\fIFSpouse()\fR; .PP -$MSpouse = \f(CW$node\fR\->\fIMSpouse()\fR; +\&\f(CW$MSpouse\fR = \f(CW$node\fR\->\fIMSpouse()\fR; .PP -$consang = \f(CW$self\fR\->\fIisConsanguinic()\fR; +\&\f(CW$consang\fR = \f(CW$self\fR\->\fIisConsanguinic()\fR; .PP -$area = \f(CW$node\fR\->\fISetArea()\fR; +\&\f(CW$area\fR = \f(CW$node\fR\->\fISetArea()\fR; .PP -$node\->CalcAbsCoord(\fI$x\fR, \fI$y\fR); +\&\f(CW$node\fR\->CalcAbsCoord(\fI\f(CI$x\fI\fR, \fI\f(CI$y\fI\fR); .PP -$node\->DrawNode(\fI$xidst\fR, \fI$ydist\fR, \fI$belowtextfont\fR, \fI$abovetextfont\fR, -\&\fI@fieldsfornode\fR); +\&\f(CW$node\fR\->DrawNode(\fI\f(CI$xidst\fI\fR, \fI\f(CI$ydist\fI\fR, \fI\f(CI$belowtextfont\fI\fR, \fI\f(CI$abovetextfont\fI\fR, +\&\fI\f(CI@fieldsfornode\fI\fR); .PP -$node\->\fIDrawConnections()\fR; +\&\f(CW$node\fR\->\fIDrawConnections()\fR; .SH "DESCRIPTION" .IX Header "DESCRIPTION" This package contains data about a marriage. -.IP "\fBnew\fR(\fI%params\fR);" 4 -.IX Item "new(%params);" +.Sp +.RS 4 +\&\fBnew\fR(\fI\f(CI%params\fI\fR); +.Sp Construct a new node from the given parameters. -.IP "\fBFSpouse\fR();" 4 -.IX Item "FSpouse();" +.Sp +\&\fBFSpouse\fR(); +.Sp Get female spouse of a node. -.IP "\fBMSpouse\fR();" 4 -.IX Item "MSpouse();" +.Sp +\&\fBMSpouse\fR(); +.Sp Get female spouse of a node. -.IP "\fBisConsanguinic\fR();" 4 -.IX Item "isConsanguinic();" +.Sp +\&\fBisConsanguinic\fR(); +.Sp Check whether the node is consanguinic -.IP "\fBSetArea\fR();" 4 -.IX Item "SetArea();" +.Sp +\&\fBSetArea\fR(); +.Sp Calculate relative coordinates for all nodes, that are descendants of the given node \fIand\fR the spouses that form the marriage. We create a \&\fIPedigree::Area\fR\|(3) around the given node and recursively apply the function to all descendants. The subroutine returns the reference to the created area. -.IP "\fBCalcAbsCoor\fR(\fI$x\fR, $<y>);" 4 -.IX Item "CalcAbsCoor($x, $<y>);" +.Sp +\&\fBCalcAbsCoor\fR(\fI\f(CI$x\fI\fR, $<y>); +.Sp Set the absolute coordinates of the given node, if the absolute -coordinates of the parent node are (\fI$x\fR, \fI$y\fR), and recursively +coordinates of the parent node are (\fI\f(CI$x\fI\fR, \fI\f(CI$y\fI\fR), and recursively do this for all descendants of this node, and right and left clumps. -.IP "\fBDrawNode\fR(\fI$xdist\fR, \fI$ydist\fR, \fI$belowtextfont\fR, \fI$abovetextfont\fR, \fI@fieldsfornode\fR);" 4 -.IX Item "DrawNode($xdist, $ydist, $belowtextfont, $abovetextfont, @fieldsfornode);" +.Sp +\&\fBDrawNode\fR(\fI\f(CI$xdist\fI\fR, \fI\f(CI$ydist\fI\fR, \fI\f(CI$belowtextfont\fI\fR, \fI\f(CI$abovetextfont\fI\fR, +\&\fI\f(CI@fieldsfornode\fI\fR); +.Sp Output the command to draw this node. The parameters are distances between the nodes (in cm). -.IP "\fBDrawConnections\fR();" 4 -.IX Item "DrawConnections();" +.Sp +\&\fBDrawConnections\fR(); +.Sp Draw the connections from the given node to its descendants and the spouses +.RE .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" -The calling program should define \fB$main::DEBUG\fR and set it to 0 +The calling program should define \fB\f(CB$main::DEBUG\fB\fR and set it to 0 or 1. .SH "SEE ALSO" .IX Header "SEE ALSO" @@ -197,3 +207,9 @@ or 1. .SH "AUTHOR" .IX Header "AUTHOR" Boris Veytsman, Leila Akhmadeeva, 2006, 2007 +.SH "POD ERRORS" +.IX Header "POD ERRORS" +Hey! \fBThe above document had some coding errors, which are explained below:\fR +.IP "Around line 33:" 4 +.IX Item "Around line 33:" +You can't have =items (as at line 55) unless the first thing after the =over is an =item diff --git a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Node.3 b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Node.3 index 481b37ed9e8..0c6dba5c79f 100644 --- a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Node.3 +++ b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Node.3 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,209 +124,246 @@ .\" ======================================================================== .\" .IX Title "Pedigree::Node 3" -.TH Pedigree::Node 3 "2009-01-05" "perl v5.8.8" "User Contributed Perl Documentation" +.TH Pedigree::Node 3 "2009-01-05" "perl v5.10.0" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" Pedigree::Node \- the base package for nodes in pedigree charts .SH "SYNOPSIS" .IX Header "SYNOPSIS" use Pedigree::Node; .PP -$node = new Pedigree::Node(\fI%params\fR); +\&\f(CW$node\fR = new Pedigree::Node(\fI\f(CI%params\fI\fR); .PP -$node\->\fICheckAllParents()\fR; +\&\f(CW$node\fR\->\fICheckAllParents()\fR; .PP -$Id = \f(CW$node\fR\->\fIId()\fR; +\&\f(CW$Id\fR = \f(CW$node\fR\->\fIId()\fR; .PP -$node\->SetSortOrder(\-1|0|1); +\&\f(CW$node\fR\->SetSortOrder(\-1|0|1); .PP -$result = \f(CW$node\fR\->\fISortOrder()\fR; +\&\f(CW$result\fR = \f(CW$node\fR\->\fISortOrder()\fR; .PP -$is_numbered=$node\->\fIisNumbered()\fR; +\&\f(CW$is_numbered\fR=$node\->\fIisNumbered()\fR; .PP -$type = \f(CW$node\fR\->\fIType()\fR; +\&\f(CW$type\fR = \f(CW$node\fR\->\fIType()\fR; .PP -$Kids = \f(CW$node\fR\->\fIKids()\fR; +\&\f(CW$Kids\fR = \f(CW$node\fR\->\fIKids()\fR; .PP -$node\->\fIGetAndSortKids()\fR; +\&\f(CW$node\fR\->\fIGetAndSortKids()\fR; .PP -($root, \f(CW$newgen\fR) = \f(CW$node\fR\->FindRoot(\fI$generation\fR, [\fI$sort_order\fR]); +($root, \f(CW$newgen\fR) = \f(CW$node\fR\->FindRoot(\fI\f(CI$generation\fI\fR, [\fI\f(CI$sort_order\fI\fR]); .PP -$x = \f(CW$node\fR\->\fIGetRelX()\fR; +\&\f(CW$x\fR = \f(CW$node\fR\->\fIGetRelX()\fR; .PP -$y = \f(CW$node\fR\->\fIGetRelY()\fR; +\&\f(CW$y\fR = \f(CW$node\fR\->\fIGetRelY()\fR; .PP -$node\->SetRelX(\fI$x\fR); +\&\f(CW$node\fR\->SetRelX(\fI\f(CI$x\fI\fR); .PP -$node\->SetRelX(\fI$y\fR); +\&\f(CW$node\fR\->SetRelX(\fI\f(CI$y\fI\fR); .PP -$x = \f(CW$node\fR\->\fIGetAbsX()\fR; +\&\f(CW$x\fR = \f(CW$node\fR\->\fIGetAbsX()\fR; .PP -$y = \f(CW$node\fR\->\fIGetAbsY()\fR; +\&\f(CW$y\fR = \f(CW$node\fR\->\fIGetAbsY()\fR; .PP -$node\->SetIndexX(\fI$n\fR); +\&\f(CW$node\fR\->SetIndexX(\fI\f(CI$n\fI\fR); .PP -$node\->SetAbsX(\fI$x\fR); +\&\f(CW$node\fR\->SetAbsX(\fI\f(CI$x\fI\fR); .PP -$node\->SetAbsY(\fI$y\fR); +\&\f(CW$node\fR\->SetAbsY(\fI\f(CI$y\fI\fR); .PP -$n = \f(CW$node\fR\->\fIGetIndexX()\fR; +\&\f(CW$n\fR = \f(CW$node\fR\->\fIGetIndexX()\fR; .PP -$area = \f(CW$node\fR\->\fISetArea()\fR; +\&\f(CW$area\fR = \f(CW$node\fR\->\fISetArea()\fR; .PP -$delta = \f(CW$node\fR\->\fICenterKids()\fR; +\&\f(CW$delta\fR = \f(CW$node\fR\->\fICenterKids()\fR; .PP -$node\->CalcAbsCoord(\fI$x\fR, \fI$y\fR); +\&\f(CW$node\fR\->CalcAbsCoord(\fI\f(CI$x\fI\fR, \fI\f(CI$y\fI\fR); .PP -$node\->\fIAddConsanguinicMarriages()\fR; +\&\f(CW$node\fR\->\fIAddConsanguinicMarriages()\fR; .PP -$node\->AddTwins($ydist); +\&\f(CW$node\fR\->AddTwins($ydist); .PP -$frame = \f(CW$node\fR\->SetFrame(\fI$xdist\fR, \fI$ydist\fR); +\&\f(CW$frame\fR = \f(CW$node\fR\->SetFrame(\fI\f(CI$xdist\fI\fR, \fI\f(CI$ydist\fI\fR); .PP -$node\->DrawAll(\fI$xdist\fR, \fI$ydist\fR, \fI$belowtextfont\fR, \fI$abovetextfont\fR, - \fI@fieldsfornode\fR); +\&\f(CW$node\fR\->DrawAll(\fI\f(CI$xdist\fI\fR, \fI\f(CI$ydist\fI\fR, \fI\f(CI$belowtextfont\fI\fR, \fI\f(CI$abovetextfont\fI\fR, + \fI\f(CI@fieldsfornode\fI\fR); .PP -$node\->\fIDrawConnections()\fR; +\&\f(CW$node\fR\->\fIDrawConnections()\fR; .PP -$node\->PrintAllLegends(\fI$land\fR, \fI@fields\fR); +\&\f(CW$node\fR\->PrintAllLegends(\fI\f(CI$land\fI\fR, \fI\f(CI@fields\fI\fR); .PP -$node\->PrintLegend(\fI$land\fR, \fI@fields\fR); +\&\f(CW$node\fR\->PrintLegend(\fI\f(CI$land\fI\fR, \fI\f(CI@fields\fI\fR); .SH "DESCRIPTION" .IX Header "DESCRIPTION" This is the basic package that defines nodes for pedigrees. \&\fIPedigree::PersonNode\fR\|(3) and \fIPedigree::MarriageNode\fR\|(3) inherit from this package. -.IP "\fBnew\fR(\fI%params\fR);" 4 -.IX Item "new(%params);" +.Sp +.RS 4 +\&\fBnew\fR(\fI\f(CI%params\fI\fR); +.Sp Construct a new node from the given parameters. If a node with the give Id exists, add new information to the node. -.IP "\fBCheckAllParents\fR();" 4 -.IX Item "CheckAllParents();" +.Sp +\&\fBCheckAllParents\fR(); +.Sp Check whether mothers and fathers of all nodes exist -.IP "\fBId\fR();" 4 -.IX Item "Id();" +.Sp +\&\fBId\fR(); +.Sp Get Id of a node. Note that there is no way to set an Id of a node that was already created. -.IP "\fBSetSortOrder\fR(\fI\-1|0|1\fR);" 4 -.IX Item "SetSortOrder(-1|0|1);" +.Sp +\&\fBSetSortOrder\fR(\fI\-1|0|1\fR); +.Sp Normally the sibs nodes are sorted by age. However, if the nodes or their descendants are connected by a marriage line, we must sort them in the special way: all way to the left or all way to the right. The procedure \fBSetSortOrder\fR sets this flag for the node or deletes it -depending on the argument. -.IP "\fBSortOrder\fR();" 4 -.IX Item "SortOrder();" +depending on the argument. +.Sp +\&\fBSortOrder\fR(); +.Sp Normally the sibs nodes are sorted by age. However, if the nodes or their descendants are connected by a marriage line, we must sort them in the special way: all way to the left or all way to the right. The procedure \fBSortOrder\fR checks this flag. -.IP "\fBisNumbered\fR();" 4 -.IX Item "isNumbered();" +.Sp +\&\fBisNumbered\fR(); +.Sp Check whether the node should be numbered in pedigree -.IP "\fBType\fR()" 4 -.IX Item "Type()" +.Sp +\&\fBType\fR() +.Sp Return node type. -.IP "\fBKids\fR();" 4 -.IX Item "Kids();" +.Sp +\&\fBKids\fR(); +.Sp Get the reference to the array of kids -.IP "\fBGetAndSortKids\fR();" 4 -.IX Item "GetAndSortKids();" +.Sp +\&\fBGetAndSortKids\fR(); +.Sp Apply sort the array of kids for the given node -.IP "\fBFindRoot\fR(\fI$generation\fR, [\fI$sort_order\fR]);" 4 -.IX Item "FindRoot($generation, [$sort_order]);" +.Sp +\&\fBFindRoot\fR(\fI\f(CI$generation\fI\fR, [\fI\f(CI$sort_order\fI\fR]); +.Sp Finds the root of the tree to which the current node belongs. Takes the current generation number and returns the root and its generation number. Here generation numbers go \*(L"backwards\*(R": the older generations have higher numbers. The found node is assigned sort order -\&\fI$sort_order\fR. -.IP "\fBGetRelX\fR();" 4 -.IX Item "GetRelX();" +\&\fI\f(CI$sort_order\fI\fR. +.Sp +\&\fBGetRelX\fR(); +.Sp Find the relative x coordinate of the node. The coordinate is relative to the precedessor or to the marriage node, which connects this node to the proband -.IP "\fBGetRelY\fR();" 4 -.IX Item "GetRelY();" +.Sp +\&\fBGetRelY\fR(); +.Sp Find the relative Y coordinate of the node. The coordinate is relative to the precedessor or to the marriage node, which connects this node to the proband. Note that the Y axis is down. -.IP "\fBSetRelX\fR(\fI$x\fR);" 4 -.IX Item "SetRelX($x);" +.Sp +\&\fBSetRelX\fR(\fI\f(CI$x\fI\fR); +.Sp Set the relative x coordinate of the node. The coordinate is relative to the precedessor or to the marriage node, which connects this node to the proband. -.IP "\fBSetRelY\fR(\fI$y\fR);" 4 -.IX Item "SetRelY($y);" +.Sp +\&\fBSetRelY\fR(\fI\f(CI$y\fI\fR); +.Sp Set the relative y coordinate of the node. The coordinate is relative to the precedessor or to the marriage node, which connects this node to the proband. Note that the Y axis is down. -.IP "\fBGetAbsX\fR();" 4 -.IX Item "GetAbsX();" -Find the absolute x coordinate of the node. -.IP "\fBGetAbsY\fR();" 4 -.IX Item "GetAbsY();" -Find the absolute Y coordinate of the node. -.IP "\fBGetIndexX\fR();" 4 -.IX Item "GetIndexX();" +.Sp +\&\fBGetAbsX\fR(); +.Sp +Find the absolute x coordinate of the node. +.Sp +\&\fBGetAbsY\fR(); +.Sp +Find the absolute Y coordinate of the node. +.Sp +\&\fBGetIndexX\fR(); +.Sp Find the number of the node in the given generation. -.IP "\fBSetAbsX\fR(\fI$x\fR);" 4 -.IX Item "SetAbsX($x);" -Set the absolute x coordinate of the node. -.IP "\fBSetAbsY\fR(\fI$y\fR);" 4 -.IX Item "SetAbsY($y);" -Set the absolute y coordinate of the node. -.IP "\fBSetIndexX\fR(\fI$n\fR);" 4 -.IX Item "SetIndexX($n);" +.Sp +\&\fBSetAbsX\fR(\fI\f(CI$x\fI\fR); +.Sp +Set the absolute x coordinate of the node. +.Sp +\&\fBSetAbsY\fR(\fI\f(CI$y\fI\fR); +.Sp +Set the absolute y coordinate of the node. +.Sp +\&\fBSetIndexX\fR(\fI\f(CI$n\fI\fR); +.Sp Set the number of the node in the given generation. -.IP "\fBSetArea\fR();" 4 -.IX Item "SetArea();" +.Sp +\&\fBSetArea\fR(); +.Sp Calculate relative coordinates for all nodes, that are descendants of the given node. We create a \fIPedigree::Area\fR\|(3) around the given node and recursively apply the function to all descendants. The subroutine returns the reference to the created area. -.IP "\fBCenterKids\fR();" 4 -.IX Item "CenterKids();" +.Sp +\&\fBCenterKids\fR(); +.Sp Move the relative coordinates of all the kids of the given node so the given node is centered in relation to the kids. Returns the shift to be applied to the \fIPedigree::Area\fR\|(3). -.IP "\fBCalcAbsCoor\fR(\fI$x\fR, $<y>);" 4 -.IX Item "CalcAbsCoor($x, $<y>);" +.Sp +\&\fBCalcAbsCoor\fR(\fI\f(CI$x\fI\fR, $<y>); +.Sp Set the absolute coordinates of the given node, if the absolute -coordinates of the parent node are (\fI$x\fR, \fI$y\fR), and recursively +coordinates of the parent node are (\fI\f(CI$x\fI\fR, \fI\f(CI$y\fI\fR), and recursively do this for all descendants of this node. Additionally set up -\&\fB%node_by_gen\fR. -.IP "\fBAddConsanguinicMarriages\fR();" 4 -.IX Item "AddConsanguinicMarriages();" +\&\fB\f(CB%node_by_gen\fB\fR. +.Sp +\&\fBAddConsanguinicMarriages\fR(); +.Sp Check the pedigree and add consanguinic marriages to it. Note that this procedure must be called \fBafter\fR SetAbsCoor, so the coordinates of all nodes are set. -.IP "\fBAddTwins\fR(\fI$ydist\fR);" 4 -.IX Item "AddTwins($ydist);" +.Sp +\&\fBAddTwins\fR(\fI\f(CI$ydist\fI\fR); +.Sp Check the pedigree and add twin nodes. Note that this procedure must be called \fBafter\fR SetAbsCoor and AddConsanguinicMarriages. -.IP "\fBSetFrame\fR(\fI$xidst\fR, \fI$ydist\fR);" 4 -.IX Item "SetFrame($xidst, $ydist);" +.Sp +\&\fBSetFrame\fR(\fI\f(CI$xidst\fI\fR, \fI\f(CI$ydist\fI\fR); +.Sp Calculate the frame: coordinates of the lower left and upper right corners of the picture (in ps units). As a side effect, add generation -numbers to each person node and calculate the X index of each node. -.IP "\fBDrawConnections\fR();" 4 -.IX Item "DrawConnections();" +numbers to each person node and calculate the X index of each node. +.Sp +\&\fBDrawConnections\fR(); +.Sp Draw the connections from the given node to its descendants -.IP "\fBDrawAll\fR(\fI$xdist\fR, \fI$ydist\fR, \fI$belowtextfont\fR, \fI$abovetextfont\fR, \fI@fieldsfornode\fR);" 4 -.IX Item "DrawAll($xdist, $ydist, $belowtextfont, $abovetextfont, @fieldsfornode);" +.Sp +\&\fBDrawAll\fR(\fI\f(CI$xdist\fI\fR, \fI\f(CI$ydist\fI\fR, \fI\f(CI$belowtextfont\fI\fR, + \fI\f(CI$abovetextfont\fI\fR, \fI\f(CI@fieldsfornode\fI\fR); +.Sp Draw all nodes and connections in the form suitable for pspicture -.IP "\fBPrintAllLegends\fR(\fI$lang\fR, \fI@fields\fR);" 4 -.IX Item "PrintAllLegends($lang, @fields);" +.Sp +\&\fBPrintAllLegends\fR(\fI\f(CI$lang\fI\fR, \fI\f(CI@fields\fI\fR); +.Sp Print legend for all the nodes. The first parameter is the language, the other is the fields to be included in the legend. -.IP "\fBPrintLegend\fR(\fI$lang\fR, \fI@fields\fR);" 4 -.IX Item "PrintLegend($lang, @fields);" +.Sp +\&\fBPrintLegend\fR(\fI\f(CI$lang\fI\fR, \fI\f(CI@fields\fI\fR); +.Sp This subroutine does nothing: a generic node has no legend. It is overriden by \fIPedigree::PersonNode\fR\|(3) and \fIPedigree::AbortionNode\fR\|(3). +.RE .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" -The calling program should define \fB$main::DEBUG\fR and set it to 0 +The calling program should define \fB\f(CB$main::DEBUG\fB\fR and set it to 0 or 1. .SH "SEE ALSO" .IX Header "SEE ALSO" @@ -339,3 +371,9 @@ or 1. .SH "AUTHOR" .IX Header "AUTHOR" Boris Veytsman, Leila Akhmadeeva, 2006, 2007 +.SH "POD ERRORS" +.IX Header "POD ERRORS" +Hey! \fBThe above document had some coding errors, which are explained below:\fR +.IP "Around line 80:" 4 +.IX Item "Around line 80:" +You can't have =items (as at line 136) unless the first thing after the =over is an =item diff --git a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Parser.3 b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Parser.3 index 44165db384e..65e9d7b7168 100644 --- a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Parser.3 +++ b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/Parser.3 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,30 +124,38 @@ .\" ======================================================================== .\" .IX Title "Pedigree::Parser 3" -.TH Pedigree::Parser 3 "2007-07-16" "perl v5.8.8" "User Contributed Perl Documentation" +.TH Pedigree::Parser 3 "2007-07-16" "perl v5.10.0" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" Pedigree::Parser \- parser for the input file .SH "SYNOPSIS" .IX Header "SYNOPSIS" use Pedigree::Parser; .PP -$parser = new Pedigree::Parser(I{$inputline>, \fI$lang\fR) +\&\f(CW$parser\fR = new Pedigree::Parser(I{$inputline>, \fI\f(CI$lang\fI\fR) .PP -$parser\->Parse($inputline); +\&\f(CW$parser\fR\->Parse($inputline); .SH "DESCRIPTION" .IX Header "DESCRIPTION" This package parses input for the pedigree library and is used to define nodes. -.IP "\fBnew\fR(\fI$inputline\fR, \fI$lang\fR);" 4 -.IX Item "new($inputline, $lang);" +.Sp +.RS 4 +\&\fBnew\fR(\fI\f(CI$inputline\fI\fR, \fI\f(CI$lang\fI\fR); +.Sp Construct a new parser from the pipe-separated line at input -.IP "\fBParse\fR(\fI$inputline\fR);" 4 -.IX Item "Parse($inputline);" +.Sp +\&\fBParse\fR(\fI\f(CI$inputline\fI\fR); +.Sp Take a line of comma-separated values; return a reference to a hash of parsed values +.RE .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" -The calling program should define \fB$main::DEBUG\fR and set it to 0 +The calling program should define \fB\f(CB$main::DEBUG\fB\fR and set it to 0 or 1. .SH "SEE ALSO" .IX Header "SEE ALSO" @@ -160,3 +163,9 @@ or 1. .SH "AUTHOR" .IX Header "AUTHOR" Boris Veytsman, Leila Akhmadeeva, 2006, 2007 +.SH "POD ERRORS" +.IX Header "POD ERRORS" +Hey! \fBThe above document had some coding errors, which are explained below:\fR +.IP "Around line 21:" 4 +.IX Item "Around line 21:" +You can't have =items (as at line 59) unless the first thing after the =over is an =item diff --git a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/PersonNode.3 b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/PersonNode.3 index af03e1c7c89..8876211f536 100644 --- a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/PersonNode.3 +++ b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/PersonNode.3 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,80 +124,99 @@ .\" ======================================================================== .\" .IX Title "Pedigree::PersonNode 3" -.TH Pedigree::PersonNode 3 "2007-07-22" "perl v5.8.8" "User Contributed Perl Documentation" +.TH Pedigree::PersonNode 3 "2007-07-22" "perl v5.10.0" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" Pedigree::PersonNode \- a person in a pedigree .SH "SYNOPSIS" .IX Header "SYNOPSIS" use Pedigree::PersonNode; .PP -$node = new Pedigree::PersonNode(\fI%params\fR); +\&\f(CW$node\fR = new Pedigree::PersonNode(\fI\f(CI%params\fI\fR); .PP -$Id = \f(CW$node\fR\->\fIMotherId()\fR; +\&\f(CW$Id\fR = \f(CW$node\fR\->\fIMotherId()\fR; \&\f(CW$Id\fR = \f(CW$node\fR\->\fIFatherId()\fR; .PP -$isProband = \f(CW$node\fR\->\fIisProband()\fR; +\&\f(CW$isProband\fR = \f(CW$node\fR\->\fIisProband()\fR; .PP -$sex = \f(CW$node\fR\->\fISex()\fR; +\&\f(CW$sex\fR = \f(CW$node\fR\->\fISex()\fR; .PP -$DoB = \f(CW$node\fR\->\fIDoB()\fR; +\&\f(CW$DoB\fR = \f(CW$node\fR\->\fIDoB()\fR; .PP -$DoD = \f(CW$node\fR\->\fIDoD()\fR; +\&\f(CW$DoD\fR = \f(CW$node\fR\->\fIDoD()\fR; .PP -$cond = \f(CW$node\fR\->\fICondition()\fR; +\&\f(CW$cond\fR = \f(CW$node\fR\->\fICondition()\fR; .PP -$GenName = \f(CW$node\fR\->\fIGetGenName()\fR; +\&\f(CW$GenName\fR = \f(CW$node\fR\->\fIGetGenName()\fR; .PP -$node\->SetGenName(\fI$name\fR); +\&\f(CW$node\fR\->SetGenName(\fI\f(CI$name\fI\fR); .PP -$node\->DrawNode(\fI$xidst\fR, \fI$ydist\fR, \fI$belowtextfont\fR, \fI$abovetextfont\fR, -\&\fI@fieldsfornode\fR); +\&\f(CW$node\fR\->DrawNode(\fI\f(CI$xidst\fI\fR, \fI\f(CI$ydist\fI\fR, \fI\f(CI$belowtextfont\fI\fR, \fI\f(CI$abovetextfont\fI\fR, +\&\fI\f(CI@fieldsfornode\fI\fR); .PP -$node\->PrintLegend(\fI$land\fR, \fI@fields\fR); +\&\f(CW$node\fR\->PrintLegend(\fI\f(CI$land\fI\fR, \fI\f(CI@fields\fI\fR); .SH "DESCRIPTION" .IX Header "DESCRIPTION" This package contains data about a person. -.IP "\fBnew\fR(\fI%params\fR);" 4 -.IX Item "new(%params);" -Construct a new node from the given parameters. -.IP "\fBMotherId\fR();" 4 -.IX Item "MotherId();" +.Sp +.RS 4 +\&\fBnew\fR(\fI\f(CI%params\fI\fR); +.Sp +Construct a new node from the given parameters. +.Sp +\&\fBMotherId\fR(); +.Sp Return Mother Id. -.IP "\fBFatherId\fR();" 4 -.IX Item "FatherId();" +.Sp +\&\fBFatherId\fR(); +.Sp Return Father Id. -.IP "\fBisProband\fR();" 4 -.IX Item "isProband();" +.Sp +\&\fBisProband\fR(); +.Sp Return 1 if the pesron is a Proband and zero otherwise -.IP "\fBSex\fR();" 4 -.IX Item "Sex();" +.Sp +\&\fBSex\fR(); +.Sp Get the sex of the node -.IP "\fBDoB\fR();" 4 -.IX Item "DoB();" +.Sp +\&\fBDoB\fR(); +.Sp Get the DoB of the node -.IP "\fBDoD\fR();" 4 -.IX Item "DoD();" +.Sp +\&\fBDoD\fR(); +.Sp Get the DoB of the node -.IP "\fBCondition\fR();" 4 -.IX Item "Condition();" +.Sp +\&\fBCondition\fR(); +.Sp Returns node conditon. -.IP "\fBGetGenName\fR();" 4 -.IX Item "GetGenName();" +.Sp +\&\fBGetGenName\fR(); +.Sp Find the generation name for the node -.IP "\fBSetGenName\fR(\fI$name\fR);" 4 -.IX Item "SetGenName($name);" +.Sp +\&\fBSetGenName\fR(\fI\f(CI$name\fI\fR); +.Sp Set the generation name of the node -.IP "\fBDrawNode\fR(\fI$xdist\fR, \fI$ydist\fR, \fI$belowtextfont\fR, \fI$abovetextfont\fR, \fI@fieldsfornode\fR);" 4 -.IX Item "DrawNode($xdist, $ydist, $belowtextfont, $abovetextfont, @fieldsfornode);" +.Sp +\&\fBDrawNode\fR(\fI\f(CI$xdist\fI\fR, \fI\f(CI$ydist\fI\fR, \fI\f(CI$belowtextfont\fI\fR, \fI\f(CI$abovetextfont\fI\fR, +\&\fI\f(CI@fieldsfornode\fI\fR); +.Sp Output the command to draw this node. The parameters are distances between the nodes (in cm) and fields for abovetext. -.IP "\fBPrintLegend\fR(\fI$lang\fR, \fI@fields\fR);" 4 -.IX Item "PrintLegend($lang, @fields);" -Print the legend for the given node, including \fI@fields\fR in the given -language \fI$lang\fR. +.Sp +\&\fBPrintLegend\fR(\fI\f(CI$lang\fI\fR, \fI\f(CI@fields\fI\fR); +.Sp +Print the legend for the given node, including \fI\f(CI@fields\fI\fR in the given +language \fI\f(CI$lang\fI\fR. +.RE .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" -The calling program should define \fB$main::DEBUG\fR and set it to 0 +The calling program should define \fB\f(CB$main::DEBUG\fB\fR and set it to 0 or 1. .SH "SEE ALSO" .IX Header "SEE ALSO" @@ -210,3 +224,9 @@ or 1. .SH "AUTHOR" .IX Header "AUTHOR" Boris Veytsman, Leila Akhmadeeva, 2006, 2007 +.SH "POD ERRORS" +.IX Header "POD ERRORS" +Hey! \fBThe above document had some coding errors, which are explained below:\fR +.IP "Around line 39:" 4 +.IX Item "Around line 39:" +You can't have =items (as at line 58) unless the first thing after the =over is an =item diff --git a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/TwinsNode.3 b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/TwinsNode.3 index 79f11db2c35..731818a28f3 100644 --- a/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/TwinsNode.3 +++ b/Master/texmf-dist/doc/support/pedigree-perl/Pedigree/TwinsNode.3 @@ -1,15 +1,7 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp @@ -48,22 +40,25 @@ . ds R" '' 'br\} .\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" .\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.if \nF \{\ +.ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.hy 0 -.if n .na +.el \{\ +. de IX +.. +.\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,37 +124,47 @@ .\" ======================================================================== .\" .IX Title "Pedigree::TwinsNode 3" -.TH Pedigree::TwinsNode 3 "2007-07-15" "perl v5.8.8" "User Contributed Perl Documentation" +.TH Pedigree::TwinsNode 3 "2007-07-15" "perl v5.10.0" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" Pedigree::TwinsNode \- an auxillary twins node in a pedigree .SH "SYNOPSIS" .IX Header "SYNOPSIS" use Pedigree::TwinsNode; .PP -$node = new Pedigree::TwinsNode(\fI%params\fR); +\&\f(CW$node\fR = new Pedigree::TwinsNode(\fI\f(CI%params\fI\fR); .PP -$node\->DrawNode(\fI$xidst\fR, \fI$ydist\fR, \fI$belowtextfont\fR, \fI$abovetextfont\fR, -\&\fI@fieldsfornode\fR); +\&\f(CW$node\fR\->DrawNode(\fI\f(CI$xidst\fI\fR, \fI\f(CI$ydist\fI\fR, \fI\f(CI$belowtextfont\fI\fR, \fI\f(CI$abovetextfont\fI\fR, +\&\fI\f(CI@fieldsfornode\fI\fR); .PP -$node\->\fIDrawConnections()\fR; +\&\f(CW$node\fR\->\fIDrawConnections()\fR; .SH "DESCRIPTION" .IX Header "DESCRIPTION" This package contains data about a twins node. Twins node is a special node between the parent and the twins. -.IP "\fBnew\fR(\fI%params\fR);" 4 -.IX Item "new(%params);" +.Sp +.RS 4 +\&\fBnew\fR(\fI\f(CI%params\fI\fR); +.Sp Construct a new node from the given parameters. -.IP "\fBDrawNode\fR(\fI$xdist\fR, \fI$ydist\fR, \fI$belowtextfont\fR, \fI$abovetextfont\fR, \fI@fieldsfornode\fR);" 4 -.IX Item "DrawNode($xdist, $ydist, $belowtextfont, $abovetextfont, @fieldsfornode);" +.Sp +\&\fBDrawNode\fR(\fI\f(CI$xdist\fI\fR, \fI\f(CI$ydist\fI\fR, \fI\f(CI$belowtextfont\fI\fR, \fI\f(CI$abovetextfont\fI\fR, +\&\fI\f(CI@fieldsfornode\fI\fR); +.Sp Output the command to draw this node. The parameters are distances between the nodes (in psunits). -.IP "\fBDrawConnections\fR();" 4 -.IX Item "DrawConnections();" +.Sp +\&\fBDrawConnections\fR(); +.Sp Draw the connections from the given node to its descendants and the parent +.RE .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" -The calling program should define \fB$main::DEBUG\fR and set it to 0 +The calling program should define \fB\f(CB$main::DEBUG\fB\fR and set it to 0 or 1. .SH "SEE ALSO" .IX Header "SEE ALSO" @@ -167,3 +172,9 @@ or 1. .SH "AUTHOR" .IX Header "AUTHOR" Boris Veytsman, Leila Akhmadeeva, 2007 +.SH "POD ERRORS" +.IX Header "POD ERRORS" +Hey! \fBThe above document had some coding errors, which are explained below:\fR +.IP "Around line 25:" 4 +.IX Item "Around line 25:" +You can't have =items (as at line 47) unless the first thing after the =over is an =item diff --git a/Master/texmf-dist/doc/support/pedigree-perl/README b/Master/texmf-dist/doc/support/pedigree-perl/README index edc6821f949..506b12063ef 100644 --- a/Master/texmf-dist/doc/support/pedigree-perl/README +++ b/Master/texmf-dist/doc/support/pedigree-perl/README @@ -1,6 +1,6 @@ A Program for Generation TeX Pedigrees From CSV Files Boris Veytsman & Leila Akhmadeeva - Version 0.4, March 2012 + Version 1.0, April 2012 This program generates TeX commands to typeset pedigrees - either TeX fragments of full LaTeX files. It has support for multilanguage diff --git a/Master/texmf-dist/doc/support/pedigree-perl/doc/pedigree.pdf b/Master/texmf-dist/doc/support/pedigree-perl/doc/pedigree.pdf Binary files differindex d31d1565a50..9683fa29c8b 100644 --- a/Master/texmf-dist/doc/support/pedigree-perl/doc/pedigree.pdf +++ b/Master/texmf-dist/doc/support/pedigree-perl/doc/pedigree.pdf diff --git a/Master/texmf-dist/doc/support/pedigree-perl/doc/pedigree.ps b/Master/texmf-dist/doc/support/pedigree-perl/doc/pedigree.ps new file mode 100644 index 00000000000..b23c498b682 --- /dev/null +++ b/Master/texmf-dist/doc/support/pedigree-perl/doc/pedigree.ps @@ -0,0 +1,27305 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software +%%Title: pedigree.dvi +%%CreationDate: Sat Apr 14 12:51:54 2012 +%%Pages: 32 +%%PageOrder: Ascend +%%BoundingBox: 0 0 612 792 +%%DocumentFonts: CMR17 CMTT12 CMR12 CMBX9 CMR9 CMTT9 CMR10 CMBX12 CMBX10 +%%+ CMTT10 CMR7 CMSS10 CMTI10 CMR6 CMR8 CMTT8 CMITT10 CMSS8 CMSLTT10 +%%+ SFTT0900 SFRM0700 SFRM0900 SFBX1000 SFRM1000 CMSY10 CMTI7 +%%DocumentPaperSizes: Letter +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -Ppdf -o pedigree.ps pedigree.dvi +%DVIPSParameters: dpi=8000 +%DVIPSSource: TeX output 2012.04.14:1251 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 +N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop +false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A +length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse} +forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{ +BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat +{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch +round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 +rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B +/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M} +B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p +-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{ +0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: alt-rule.pro 0 0 +%! +% Patch by TVZ +% Makes dvips files draw rules with stroke rather than fill. +% Makes narrow rules more predictable at low resolutions +% after distilling to PDF. +% May have unknown consequences for very thick rules. +% Tested only with dvips 5.85(k). +TeXDict begin +/QV { + gsave newpath /ruleY X /ruleX X + Rx Ry gt + { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } + { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } + ifelse + setlinewidth 0 setlinecap stroke grestore +} bind def +end + +%%EndProcSet +%%BeginProcSet: pstricks.pro 0 0 +% $Id: pstricks.pro 647 2012-02-12 15:03:40Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 1.12, 2012/02/12 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +% +% Define the follwing gs-functions if not known, eg when using distiller +% +systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if +systemdict /.setblendmode known not {/.setblendmode { pop } def } if +systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if +% +/tx@Dict 200 dict def % the main PSTricks dictionary +tx@Dict begin +/ADict 25 dict def % The arrow dictionaray +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments +/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known +/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) +/Div { dup 0 eq { pop } { div } ifelse } def % control the division +/tan { dup cos abs 1.e-10 lt + { pop 1.e10 } % return 1.e10 as infinit + { dup sin exch cos div } ifelse % default sin/cos +} def +/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees +/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root + pop pop 0 }{ sqrt exch atan} ifelse } def +/NET { neg exch neg exch T } def % change coordinate system to the negative one +/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter +/Pyth2 { % Pythagoras, xA yA xB yB + 3 -1 roll % xA xB yB yA + sub % xA xB yB-yA + 3 1 roll % yB-yA xA xB + sub % yB-yA xA-xB + Pyth } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian +/Rand { rand 4294967295 div } def % a real random number +%----------------- hv added 20050516 --------------- +/PiDiv2 1.57079632680 def +/Pi 3.14159265359 def +/TwoPi 6.28318530718 def +/Euler 2.71828182846 def +%/e Euler bind def +% +/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees +/DegtoRad { Pi mul 180 div } bind def % viceversa +%----------------- hv end--------------------------- +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def +% +/PathLength { + flattenpath /z 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } + { /y ED /x ED PathLength@ } + {} + { /y y2 def /x x2 def PathLength@ } + /pathforall load stopped { pop pop pop pop } if + z +} def +% +/STP { .996264 dup scale } def % BP/PT scaling +/STV { SDict begin normalscale end STP } def % +% +/DashLine { + dup 0 gt + { /a .5 def PathLength exch div } + { pop /a 1 def PathLength } ifelse + /b ED % pattern should fit evenly in b + dup /X ED % pattern array + 0 get /y ED % length of first black segment + /z 0 X {add} forall def % length of the full pattern + %% Computation of the scaling factor as described by van Zandt: + b a .5 sub 2 mul y mul sub z Div round + z mul a .5 sub 2 mul y mul add b exch Div + %%%% scaling factor on stack. + /z ED %% now, z is the scaling factor + false % for the length test below + X { z mul } forall X astore %% modification TN 04-08-07 + %%% Checking whether at least one dash in X has positive length: + {0 gt or} forall + { X 1 a sub y mul } + { [ 1 0 ] 0 } + ifelse + setdash stroke +} def +% +/DotLine { + /b PathLength def + /a ED /z ED /y CLW def + /z y z add def + a 0 gt { + /b b a div def + }{ + a 0 eq { + /b b y sub def + }{ a -3 eq { + /b b y add def } if + } ifelse + } ifelse + [ 0 b b z Div round Div dup 0 le { pop 1 } if ] + a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse + setdash 1 setlinecap stroke +} def +% +/SymbolLine { % on stack [ x y x y ... + counttomark % number of elements + 2 div cvi /n ED % n pairs + /YA ED /XA ED % the start point + n 1 sub { + /YB ED /XB ED + /XLength XB XA sub def + /YLength YB YA sub def + /PAngle YLength XLength Atan def + /XYLength XLength YLength Pyth def + + %% for negative SymStep we calculate the distance + SymStep 0 lt + { %XYLength SymStep div abs cvi + /nSym SymStep abs cvi def } + { /nSym XYLength SymStep div cvi def } + ifelse + 0.5 setflat + /Shift Symbol stringwidth pop 2 div def + /deltaX XLength nSym div def + /deltaY YLength nSym div def + curveticks + { XA YA moveto } + { XA Shift sub YA Shift sub moveto } + ifelse + nSym { + gsave + curveticks + { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED + currentpoint translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + deltaX deltaY rmoveto + } repeat + /YA YB def /XA XB def + } repeat + curveticks + { XA YA moveto } + { XA Shift sub YA Shift sub moveto } + ifelse + gsave + curveticks + { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED + XA YA translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + pop % delete the mark symbol +} def +% +/LineFill { % hv ------------ patch 7 ------------- + gsave + abs /hatchWidthInc ED + abs /hatchSepInc ED + abs CLW add /a ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + 2 setlinecap + systemdict + /setstrokeadjust known { true setstrokeadjust } if + x2 x1 sub 1 add { + x1 a mul y1 moveto 0 y2 rlineto stroke + /x1 x1 1 add + hatchWidthInc 0 gt { CLW add } if + def + hatchSepInc 0 gt hatchWidthInc 0 gt or { + /a a hatchSepInc add def + CLW hatchWidthInc add SLW + } if + } repeat + grestore + pop pop } def +% +/DotFill {% on stack: dot radius + /dotRadius ED + abs CLW add /a ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform + pathbbox % llx lly urx ury of smallest bounding box + /y2 ED /x2 ED /y1 ED /x1 ED + y2 y1 sub a div 2 add cvi /Ny ED + x2 x1 sub a div 2 add cvi /Nx ED + clip + newpath + /yA y1 dotRadius add CLW add def + /xA0 x1 dotRadius add CLW add def + Ny { + /xA xA0 def + Nx { + newpath + xA yA dotRadius 0 360 arc + SolidDot { gsave fill grestore } if + stroke + xA a add /xA ED + } repeat + yA a add /yA ED + } repeat + grestore +} def +% +/PenroseFill {% on stack: scaling factor + dup dup scale + 1 exch div round /penroseFactor ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + systemdict + /setstrokeadjust known { true setstrokeadjust } if + /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul} + { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall + [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto + i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25 + mul j l + S rmoveto}F i L j L stroke }F}F}F}F + grestore + pop pop +} def +% +/TruchetFill { % on stack: scaling factor + 10 dict begin + dup dup scale + 1 exch div round /penroseFactor ED + a 0 dtransform round exch round exch + 2 copy idtransform + exch Atan rotate + idtransform pop /a ED + .25 .25 itransform pathbbox + /y2 ED + a Div ceiling cvi /x2 ED /y1 ED + a Div cvi /x1 ED /y2 y2 y1 sub def + clip + newpath + systemdict + /setstrokeadjust known { true setstrokeadjust } if + /ma a neg def + /ha a 2 div def + /mha ha neg def + /tile { + rand dup 2 idiv 2 mul eq { 90 rotate } if + mha mha moveto ha mha lineto + ha ha lineto mha ha lineto +% closepath .1 setlinewidth stroke + contents + } def + /contents{ + 0 ha moveto ha 0 lineto + 0 mha moveto mha 0 lineto +% 1 setlinewidth stroke + } def + /dotiling { + f ma mul a f a mul { + /i exch def + f ma mul a f a mul { + /j exch def + gsave i j translate + tile stroke grestore + } for + } for + } def +% + /f 3 def + 5 srand dotiling + end % local user dict +} def +% +/BeginArrow { + ADict begin % hold it local, for end see EndArrow + /@mtrx CM def + gsave + 2 copy T + 2 index sub neg exch + 3 index sub exch Atan + rotate newpath +} def +% +/EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict +% +/Arrow { + CLW mul add dup + 2 div /w ED + mul dup /h ED + mul /a ED + { 0 h T 1 -1 scale } if + w neg h moveto + 0 0 L w h L w neg a neg rlineto + gsave fill grestore +} def +% +/ArrowD { % the sides are drawn as curves (hv 20071211) + CLW mul add dup + 2 div /w ED + mul dup /h ED + mul /Inset ED + { 0 h T 1 -1 scale } if % changes the direction +% we use y=w/h^2 * x^2 as equation for the control points +% for the coordinates the arrow is seen from top to bottom +% the bottom (tip) is (0;0) + w neg h moveto % lower left of > + w 9 div 4 mul neg h 3 div 2 mul + w 9 div neg h 3 div + 0 0 curveto % tip of > + w 9 div h 3 div + w 9 div 4 mul h 3 div 2 mul + w h curveto % upper left of > + w neg Inset neg rlineto % move to x=0 and inset + gsave fill grestore +} def +% +/Tbar { + CLW mul add /z ED + z -2 div CLW 2 div moveto + z 0 rlineto stroke + 0 CLW moveto +} def +% +/Bracket { + CLW mul add dup CLW sub 2 div + /x ED mul CLW add /y ED /z CLW 2 div def + x neg y moveto + x neg CLW 2 div L x CLW 2 div L x y L stroke + 0 CLW moveto +} def +% +/RoundBracket { + CLW mul add dup 2 div + /x ED mul /y ED /mtrx CM def + 0 CLW 2 div T x y mul 0 ne { x y scale } if + 1 1 moveto + .85 .5 .35 0 0 0 curveto + -.35 0 -.85 .5 -1 1 curveto + mtrx setmatrix stroke 0 CLW moveto +} def +% +/SD { 0 360 arc fill } def +% +/EndDot { % DS is the dot size + { /z DS def } { /z 0 def } ifelse % outer or inner dimen + /b ED % the color definition + 0 z DS SD + b { 0 z DS CLW sub SD } if + 0 DS z add CLW 4 div sub + moveto +} def +% +/Shadow { [ { /moveto load } { /lineto load } { /curveto load } { + /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto + load } if ] cvx newpath 3 1 roll T exec } def +% +/NArray { % holds the coordinates and on top of stack the showpoints boolean + /showpoints ED + counttomark 2 div dup cvi /n ED % n 2 div on stack + n eq not { exch pop } if % even numbers of points? delete one + ] aload /Points ED + showpoints not { Points aload pop } if +% { ] aload /Points ED } +% { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol +} def +% +/Line { + NArray n 0 eq not + { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def + n { Lineto } repeat + CP 4 2 roll ArrowB L pop pop + } if +} def +% +/LineToYAxis { + /Ox ED % Save the x origin value + NArray % all x-y pairs on stack + n { 2 copy moveto % go to current point + Ox exch Lineto % line to y-axis + pop % delete old x-value + } repeat +} def +% +/LineToXAxis{ + /Oy ED % Save the y origin value + NArray % all x-y pairs on stack + n 0 eq not + { n 1 eq { 0 0 /n 2 def } if + ArrowA + /n n 2 sub def + CP 2 copy moveto pop Oy Lineto + n { 2 copy moveto pop Oy Lineto } repeat + CP + 4 2 roll + ArrowB + 2 copy moveto pop Oy + L + pop pop } if +} def +% +/Arcto { + /a [ 6 -2 roll ] cvx def + a r + /arcto load stopped { 5 } { 4 } ifelse { pop } repeat + a +} def +% +/CheckClosed { + dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq + and { pop pop /n n 1 sub def } if +} def +% +/Polygon { + NArray n 2 eq { 0 0 /n 3 def } if + n 3 lt + { n { pop pop } repeat } + { n 3 gt { CheckClosed } if + n 2 mul -2 roll + /y0 ED /x0 ED /y1 ED /x1 ED + x1 y1 + /x1 x0 x1 add 2 div def + /y1 y0 y1 add 2 div def + x1 y1 moveto + /n n 2 sub def + n { Lineto } repeat + x1 y1 x0 y0 6 4 roll Lineto + Lineto pop pop closepath } ifelse +} def +% +/SymbolPolygon { % on stack [ x y x y ... + counttomark % number of elements + 2 add /m ED + 2 copy m 2 roll % copy last two + m 2 div cvi /n ED % n pairs + /YA ED /XA ED % the start point + n 1 sub { + /YB ED /XB ED + /XLength XB XA sub def + /YLength YB YA sub def + /PAngle YLength XLength Atan def + /XYLength XLength YLength Pyth def + /nSym XYLength SymStep Div cvi def + /Shift Symbol stringwidth pop 2 Div def + /deltaX XLength nSym Div def + /deltaY YLength nSym Div def + XA Shift sub YA Shift sub moveto + nSym { + gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if + Symbol show + grestore + deltaX deltaY rmoveto + } repeat +% XB Shift sub YB Shift sub moveto Symbol show + /YA YB def /XA XB def + } repeat + pop % delete the mark symbol +} def +% +/Diamond { + /mtrx CM def + T rotate + /h ED + /w ED + dup 0 eq { pop } { CLW mul neg + /d ED + /a w h Atan def + /h d a sin Div h add def + /w d a cos Div w add def } ifelse + mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div + /ArrowA { moveto } def + /ArrowB { } def + false Line + closepath mtrx setmatrix } def +% +/Triangle { + /mtrx CM def + translate + rotate /h ED 2 div /w ED + dup CLW mul /d ED + /h h d w h Atan sin Div sub def + /w w d h w Atan 2 div dup cos exch sin Div mul sub def + mark + 0 d w neg d 0 h w d 0 d + /ArrowA { moveto } def + /ArrowB { } def + false + Line + closepath + mtrx +% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) +% setmatrix } def + setmatrix pop +} def +% DG/SR modification end +% +/CCA { + /y ED /x ED + 2 copy y sub /dy1 ED + x sub /dx1 ED + /l1 dx1 dy1 Pyth def +} def +% +/CC { + /l0 l1 def + /x1 x dx sub def + /y1 y dy sub def + /dx0 dx1 def + /dy0 dy1 def + CCA + /dx dx0 l1 c exp mul dx1 l0 c exp mul add def + /dy dy0 l1 c exp mul dy1 l0 c exp mul add def + /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def + /x2 x l0 dx mul m mul sub def + /y2 y l0 dy mul m mul sub def + /dx l1 dx mul m mul neg def + /dy l1 dy mul m mul neg def +} def +% +/IC { + /c c 1 add def + c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse + /a a 2 mul 3 div 45 cos b exp div def + CCA + /dx 0 def + /dy 0 def +} def +% +/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def +/NC { CC x1 y1 x2 y2 x y curveto } def +/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def +/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def +/NAC { x2 y2 x y curveto CC x1 y1 } def +/EAC { x2 y2 x y ArrowB curveto pop pop } def +% +/OpenCurve { + NArray n 3 lt + { n { pop pop } repeat } + { BOC /n n 3 sub def n { NC } repeat EOC } ifelse +} def +% +/CurvePath { + %% for negative SymStep we calculate the distance + SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if + 0.5 setflat + flattenpath /z 0 def /z0 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def + x1 Shift sub y1 Shift sub moveto + gsave + curveticks + { x1 y1 translate startAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { startAngle rotate Symbol show } + ifelse + grestore /z0 z def } + { /y ED /x ED PathLength@ z z0 sub SymStep ge { + x Shift sub y Shift sub moveto + gsave + curveticks + { y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED + x y translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore /z0 z def } if + /yOld y def /xOld x def } + {} %% the lineto part + { /y y2 def /x x2 def PathLength@ + x Shift sub y Shift sub moveto + gsave + curveticks + { y yOld sub x xOld sub Atan 180 sub /rotAngle ED + x y translate rotAngle rotate + 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto + SymbolLinewidth setlinewidth stroke + } + { + x Shift sub y Shift sub moveto + rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if + Symbol show + } + ifelse + grestore + } + pathforall +% curveticks +% { gsave +% x y translate rotAngle rotate +% 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto +% SymbolLinewidth setlinewidth stroke grestore +% } if + z +} def +% +/OpenSymbolCurve { + OpenCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/AltCurve { + { false NArray n 2 mul 2 roll + [ n 2 mul 3 sub 1 roll ] aload + /Points ED + n 2 mul -2 roll } + { false NArray } ifelse + n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse +} def +% +/AltOpenSymbolCurve { + AltCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/ClosedCurve { + NArray n 3 lt + { n { pop pop } repeat } + { n 3 gt { CheckClosed } if + 6 copy n 2 mul 6 add 6 roll + IC CC x y moveto n { NC } repeat + closepath pop pop + } ifelse +} def +% +/ClosedSymbolCurve { + ClosedCurve + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def +/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def +/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def +% +/FontDot { + DS 2 mul dup + matrix scale matrix concatmatrix exch matrix + rotate matrix concatmatrix exch + findfont exch makefont setfont +} def +% +/Rect { + x1 y1 y2 add 2 div moveto + x1 y2 lineto + x2 y2 lineto + x2 y1 lineto + x1 y1 lineto + closepath +} def +% +/OvalFrame { + x1 x2 eq y1 y2 eq or + { pop pop x1 y1 moveto x2 y2 L } + { y1 y2 sub abs x1 x2 sub abs 2 copy gt + { exch pop } { pop } ifelse + 2 div exch { dup 3 1 roll mul exch } if + 2 copy lt { pop } { exch pop } ifelse + /b ED + x1 y1 y2 add 2 div moveto + x1 y2 x2 y2 b arcto + x2 y2 x2 y1 b arcto + x2 y1 x1 y1 b arcto + x1 y1 x1 y2 b arcto + 16 { pop } repeat + closepath + } ifelse +} def +% +/Frame { + CLW mul /a ED + 3 -1 roll + 2 copy gt { exch } if + a sub /y2 ED + a add /y1 ED + 2 copy gt { exch } if + a sub /x2 ED + a add /x1 ED + 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse +} def +% +/BezierNArray { + /f ED + counttomark 2 div dup cvi /n ED + n eq not { exch pop } if + n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat + f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse +} def +% +/OpenBezier { + BezierNArray + n 1 eq + { pop pop } + { ArrowA n 4 sub 3 idiv + { 6 2 roll 4 2 roll curveto } repeat + 6 2 roll 4 2 roll ArrowB curveto } ifelse +} def +% +/OpenSymbolBezier { + OpenBezier + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def +% +/ClosedBezier { + BezierNArray + n 1 eq + { pop pop } + { moveto n 1 sub 3 idiv + { 6 2 roll 4 2 roll curveto } repeat + closepath } ifelse +} def +% +/ClosedSymbolBezier { + /f ED % save showpoints value + 2 copy /yEnd ED /xEnd ED + counttomark -2 roll 2 copy /yStart ED /xStart ED + counttomark 2 roll + f + ClosedBezier + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath + [ xEnd yEnd xStart yStart SymbolLine +} def +% +/BezierShowPoints { + gsave + Points aload length 2 div cvi /n ED + moveto + n 1 sub { lineto } repeat + CLW 2 div SLW [ 4 4 ] 0 setdash stroke + grestore +} def +% +/Parab { + /y0 ED /x0 ED /y1 ED /x1 ED + /dx x0 x1 sub 3 div def + /dy y0 y1 sub 3 div def + x0 dx sub y0 dy add x1 y1 ArrowA + x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB + curveto + /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def +} def +% +/Parab1 { % 1 end | 0 SP + /ySP ED /xSP ED /y1 ED /x1 ED + /dx xSP x1 sub 3 div def + /dy ySP y1 sub 3 div def + newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto + x1 ySP lineto closepath clip + currentpoint + newpath moveto + xSP dx sub ySP dy add x1 y1 ArrowA + xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB + curveto + /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def +} def +% +/Grid { + newpath + /a 4 string def + /b ED % psk@gridlabels in pt + /c ED % { \pst@usecolor\psgridlabelcolor } + /n ED % psk@griddots + cvi dup 1 lt { pop 1 } if + /s ED % \psk@subgriddiv + s div dup 0 eq { pop 1 } if + /dy ED s div dup 0 eq { pop 1 } if % \pst@number\psyunit abs + /dx ED dy div round dy mul % \pst@number\psxunit abs + /y0 ED dx div round dx mul + /x0 ED dy div round cvi + /y2 ED dx div round cvi + /x2 ED dy div round cvi + /y1 ED dx div round cvi + /x1 ED + /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def + /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def + b 0 gt { + /z1 b 4 div CLW 2 div add def +% /Helvetica findfont b scalefont setfont + /b b .95 mul CLW 2 div add def } if + systemdict /setstrokeadjust known + { true setstrokeadjust /t { } def } + { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add + exch itransform } bind def } ifelse + gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse + /i x1 def + /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def + /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def + x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if + { i dx mul dup y0 moveto + b 0 gt + { gsave c i a cvs dup stringwidth pop + /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse + h 0 gt {b neg}{z1} ifelse + rmoveto show grestore } if + dup t f moveto + g t L stroke + /i i w add def + } repeat + grestore + gsave + n 0 gt + % DG/SR modification begin - Nov. 7, 1997 - Patch 1 + %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } + { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } + % DG/SR modification end + { 2 setlinecap } ifelse + /i y1 def + /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def + /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def + y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if + { newpath i dy mul dup x0 exch moveto + b 0 gt { gsave c i a cvs dup stringwidth pop + /z2 ED + w 0 gt {z1 z2 add neg} {z1} ifelse + h 0 gt {z1} {b neg} ifelse + rmoveto show grestore } if + dup f exch t moveto + g exch t L stroke + /i i h add def + } repeat + grestore +} def +% +/ArcArrow { + /d ED /b ED /a ED + gsave + newpath 0 -1000 moveto clip + newpath + 0 1 0 0 b + grestore + c mul + /e ED + pop pop pop r a e d PtoC y add exch x add + exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c + mul neg d +} def +% +/Ellipse { + /rotAngle ED + /mtrx CM def + T + rotAngle rotate + scale 0 0 1 5 3 roll arc + mtrx setmatrix +} def +% +/ArcAdjust { %%%% Vincent Guirardel +% given a target length (targetLength) and an initial angle (angle0) [in the stack], +% let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0). +% This computes an angle t such that (x0,y0) is at distance +% targetLength from the point M(t)=(rx*cos(t),ry*sin(t)). +% NOTE: this an absolute angle, it does not have to be added or substracted to angle0 +% contrary to TvZ's code. +% To achieve, this, one iterates the following process: start with some angle t, +% compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]. +% Now take t' (= new angle) so that (0,0) M(t') and M' are aligned. +% +% Another difference with TvZ's code is that we need d (=add/sub) to be defined. +% the value of d = add/sub is used to know on which side we have to move. +% It is only used in the initialisation of the angle before the iteration. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Input stack: 1: target length 2: initial angle +% variables used : rx, ry, d (=add/sub) +% + /targetLength ED /angle0 ED + /x0 rx angle0 cos mul def + /y0 ry angle0 sin mul def +% we are looking for an angle t such that (x0,y0) is at distance targetLength +% from the point M(t)=(rx*cos(t),ry*sin(t))) +%initialisation of angle (using 1st order approx = TvZ's code) + targetLength 57.2958 mul + angle0 sin rx mul dup mul + angle0 cos ry mul dup mul + add sqrt div +% if initialisation angle is two large (more than 90 degrees) set it to 90 degrees +% (if the ellipse is very curved at the point where we draw the arrow, % +% the value can be much more than 360 degrees !) +% this should avoid going on the wrong side (more than 180 degrees) or go near +% a bad attractive point (at 180 degrees) + dup 90 ge { pop 90 } if + angle0 exch d % add or sub +% maximum number of times to iterate the iterative procedure: +% iterative procedure: takes an angle t on top of stack, computes a +% better angle (and put it on top of stack) + 30 { dup +% compute distance D between (x0,y0) and M(t) + dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt +% if D almost equals targetLength, we stop + dup targetLength sub abs 1e-5 le { pop exit } if +% stack now contains D t +% compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]: +% M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 ) + exch dup cos rx mul x0 sub exch sin ry mul y0 sub +% stack contains: y(t)-y0, x(t)-x0, d + 2 index Div targetLength mul y0 add ry Div exch + 2 index Div targetLength mul x0 add rx Div +% stack contains x(t')/rx , y(t')/ry , d +% now compute t', and remove D from stack + atan exch pop + } repeat +% we don't look at what happened... in particular, if targetLength is greater +% than the diameter of the ellipse... +% the final angle will be around /angle0 + 180. maybe we should treat this pathological case... +% after iteration, stack contains an angle t such that M(t) is the tail of the arrow +% to give back the result as a an angle relative to angle0 we could add the following line: +% angle0 sub 0 exch d +% +% begin bug fix 2006-01-11 +% we want to adjust the new angle t' by a multiple of 360 so that | t'-angle0 | <= 180 +%(we don't want to make the ellipse turn more or less than it should)... +dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse +% end bug fix +} def +% +/EllipticArcArrow { + /d ED % is add or sub + /b ED % arrow procedure + /a1 ED % angle + gsave + newpath + 0 -1000 moveto + clip % Set clippath far from arrow. + newpath + 0 1 0 0 b % Draw arrow to determine length. + grestore +% Length of arrow is on top of stack. Next 3 numbers are junk. +% + a1 exch ArcAdjust % Angular position of base of arrow. + /a2 ED + pop pop pop + a2 cos rx mul xOrig add % hv 2007-08-29 x->xOrig + a2 sin ry mul yOrig add % hv 2007-08-29 y->yOrig + a1 cos rx mul xOrig add % + a1 sin ry mul yOrig add % +% Now arrow tip coor and base coor are on stack. + b pop pop pop pop % Draw arrow, and discard coordinates. + a2 CLW 8 div +% change value of d (test it by looking if `` 1 1 d '' gives 2 or not ) + 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse + ArcAdjust +% resets original value of d + 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap. +} def +%%------------------ tvz/DG/hv (2004-05-10) end -------------------%% +% +/Rot { CP CP translate 3 -1 roll neg rotate NET } def +% +/RotBegin { + tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if + /TMatrix [ TMatrix CM ] cvx def + /a ED + a Rot /RAngle [ RAngle dup a add ] cvx def +} def +% +/RotEnd { + /TMatrix [ TMatrix setmatrix ] cvx def + /RAngle [ RAngle pop ] cvx def +} def +% +/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def +/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def +/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def +% +/Uput { + /a ED + add 2 div /h ED 2 + div /w ED + /s a sin def + /c a cos def + /b s abs c abs 2 copy gt dup + /q ED + { pop } { exch pop } ifelse def + /w1 c b div w mul def + /h1 s b div h mul def + q { w1 abs w sub dup c mul abs }{ h1 abs h sub dup s mul abs } ifelse +} def +% +/UUput { + /z ED + abs /y ED + /x ED + q { x s div c mul abs y gt }{ x c div s mul abs y gt } ifelse + { x x mul y y mul sub z z mul add sqrt z add } + { q { x s div } { x c div } ifelse abs + } ifelse + a PtoC + h1 add exch + w1 add exch +} def +% +/BeginOL { + dup (all) eq exch TheOL eq or + { IfVisible not { Visible /IfVisible true def } if } + { IfVisible { Invisible /IfVisible false def } if } ifelse +} def +% +/InitOL { + /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def + /Visible { CP OLUnit idtransform T moveto } def + /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def + /BOL { BeginOL } def + /IfVisible true def +} def +% +%%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%% +%%%%% ### bubblesort ### +%% syntax : array bubblesort --> array2 trie par ordre croissant +%% code de Bill Casselman +%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ +/bubblesort { +4 dict begin + /a exch def + /n a length 1 sub def + n 0 gt { + % at this point only the n+1 items in the bottom of a remain to + % the sorted largest item in that blocks is to be moved up into + % position n + n { + 0 1 n 1 sub { + /i exch def + a i get a i 1 add get gt { + % if a[i] > a[i+1] swap a[i] and a[i+1] + a i 1 add + a i get + a i a i 1 add get + % set new a[i] = old a[i+1] + put + % set new a[i+1] = old a[i] + put + } if + } for + /n n 1 sub def + } repeat + } if + a +end +} def +% +% +/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 + 0 1 index { length add } forall + string + 0 3 2 roll + { 3 copy putinterval length add }forall + pop +} bind def +% +/dot2comma {% on stack a string (...) + 2 dict begin + /Output exch def + 0 1 Output length 1 sub { + /Index exch def + Output Index get 46 eq { Output Index 44 put } if + } for + Output + end +} def +% +end +%-----------------------------------------------------------------------------% +% +% END pstricks.pro + +%%EndProcSet +%%BeginProcSet: pst-algparser.pro 0 0 +% $Id: pst-algparser.pro 594 2011-10-31 18:13:18Z herbert $ +%% +%% PostScript prologue for PSTricks algorithm parser +%% Version 0.04, 2011/10/21 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%%-----------------------------------------------------------------------------% +% +/AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez +% +/tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin +% +% PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.13 +% +% 09/2011 DR factorial with ! added +% +% E->T|E+T +% T->FS|T*FS +% FS -> F | +FS | -FS +% F->P|F^SF|P! +% P->(E)|literal +% literal->number|var|var[E]|func(params) +% params->E|E,param +% number->TOBEFINISHED +% +%% E expression, T term, SF signed factor, F factor, P power +% +%% parser +% +%% str +% +%% C->E<condition_operators>E +%% STR index -> STR index+lenExpr +/AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp } def +% +%% analyze Expression List (separator , or | ) +%% STR index -> STR index+lenExpr +%% /AnalyzeListOfE { +%% { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar +%% NextNonBlankChar dup 0 eq { pop exit } if +%% dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if +%% pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop +%% AnalyzeListOfEPostHook +%% } def +/AnalyzeListOfE { + /NotFirst false def + { NextNonBlankChar pop AnalyzeExpr + NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse + dup Strlen eq { exit } if NextNonBlankChar + dup 44 ne 1 index 124 ne and + { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } + if pop 1 add } loop + AnalyzeListOfEPostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% E->T|E+T +%% STR index -> STR index+lenExpr +/AnalyzeExpr { + AnalyzePreHook AnalyzeTerm IsEndingExpr + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop } + ifelse + AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% T->FS|T*FS +%% STR index +/AnalyzeTerm { + AnalyzePreHook AnalyzeSignedFactor IsEndingTerm + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop } + ifelse + AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% FS -> F | +FS | -FS +%% STR index +/AnalyzeSignedFactor { + AnalyzePreHook 2 copy get dup IsUnaryOp + { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp } + { pop AnalyzeFactor } + ifelse AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% F->P|F^P|P! +%% STR index +/AnalyzeFactor { + AnalyzePreHook AnalyzePower IsEndingFactor + { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } + { { dup 33 eq%% is there a ! DR 09/2011 + { pop 1 add NextNonBlankChar pop EvalFactorial } + { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower } + ifelse + IsEndingFactor { pop exit } if } loop } + ifelse AnalyzePostHook +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% P->(E)|literal +%% STR index +/AnalyzePower { + %% depending of first char either a number, or a literal + 2 copy get dup 40 eq%%an open par + { pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop } + { AnalyzeLiteral } + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index STR[index] -> STR index +%/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def +/AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% recognize + or - +%% chr -> T/F +/IsUnaryOp { dup 43 eq exch 45 eq or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a number can contain only : 0123456789. +%% chr -> T/F +/IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index number +%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? +%% STR index -> STR index' number +/ReadNumber { + exch dup 3 -1 roll dup 3 1 roll + %%read mantissa + { 1 add 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop + dup 101 eq exch 69 eq or + %%% there is a "e" or "E" -> read exponant + { 1 add 2 copy get dup IsUnaryOp + { pop 1 add 2 copy get } if + { IsNumber not { exit } if 1 add 2 copy get } loop } + if + dup 4 1 roll + 3 -1 roll exch 1 index sub getinterval +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a number can contain only : 0123456789. +%% chr -> T/F +/IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index number +%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? +%% STR index -> STR index' number +/ReadCondOp { + NextNonBlankChar 1 index 4 1 roll + { IsCondOp not { exit } if 1 add 2 copy get } loop + 2 copy 5 -1 roll + exch 1 index sub getinterval 3 1 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a literal can contain only : 0123456789. +%% chr -> T/F +/IsLiteral {% + dup 48 ge exch dup 57 le 3 -1 roll and exch + dup 65 ge exch dup 90 le 3 -1 roll and 3 -1 roll or exch + dup 97 ge exch 122 le and or } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)? +%% STR index -> literal STR index' nextchr +/ReadLiteral { + exch dup 3 -1 roll dup 3 1 roll + %%read literal core + { 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop + 4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or a clpar +%% STR index -> STR index STR[index] T/F +/IsEndingExpr {% + 2 copy dup Strlen eq + %% if end of str is reached -> end ! + { pop pop 0 true } + %% ending chr -> clpar, comma, |, <, >, =, !, + {get dup dup 41 eq + exch dup 124 eq + exch dup 93 eq + exch dup 44 eq + exch dup 30 eq + exch dup 60 ge exch 62 le and or or or or or} + ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or a +- +%% STR index -> STR index STR[index] T/F +/IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or */ +%% STR index -> STR index STR[index] T/F +/IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% expr is ended by end of str or ^ +%% STR index -> STR index STR[index] T/F +/IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% STR index -> STR index STR[index] +/NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def +/neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def +%%%%%%%%%%%%%%%%%%%%%%%% +%% DEBUG +/BRK {false} def +/BRKtrue {/BRK true def} def +/BRKStop {BRK {BRKtoto} if } def +/BRKEvalStop {BRK exch if } def +/BRKBRK2true {BRK {BRK2true} if } def +/BRK2 {false} def +/BRK2true {/BRK2 true def} def +/BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def +end +% +%-------------------------------------------------------------------------------% +% +/tx@AlgToPs 12 dict def tx@AlgToPs begin +% +%% algExpr -> PSVector +/AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def +/EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def +/InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def +/Strlen 0 def +/EvalListOfExpr {} def% +/EvalNumber {% + ReadNumber cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx + exch 1 add array astore def NextNonBlankChar pop } def +/EvalAddSub {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + 43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def +} def +/EvalMulDiv {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + 42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def +} def +/EvalPower {% + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll + pop /exp cvx exch 1 add array astore def +} def +/EvalFactorial {% DR 09/2011 + /ExpressionVector ExpressionVector aload length + /fact cvx exch 1 add array astore def +} def +/EvalLiteral {% + ReadLiteral + dup 40 eq%%% there is an open par -> function call + { pop 2 index + dup (Sum) eq { EvalSum } + { dup (IfTE) eq { EvalCond } + { dup (Derive) eq { pop EvalDerive } + { pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc + /ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx + exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse } + { /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def + dup 91 eq%%% there is an open bracket -> vector element + { pop 1 add NextNonBlankChar pop AnalyzeExpr + /ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add } + { pop NextNonBlankChar pop } + ifelse} + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% the derive function : Derive(n,f(x)) +%% firstparindex lastparindex -> +/EvalDerive { + %% manage the function descripiton + 1 add ReadNumber 3 1 roll NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + 1 add NextNonBlankChar pop + 3 -1 roll cvi + dup 0 eq + { pop AnalyzeExpr 3 -1 roll pop 1 add } + { 1 sub 3 1 roll (x) exch tx@Derive begin DeriveIndexed end 4 -1 roll + { (x) tx@Derive begin Derive end } repeat + ExpressionVector exch /ExpressionVector [] def + AlgToPs aload length + /ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll /l2 exch def /l1 exch def + l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add + 1 index length /Strlen exch def } ifelse +} def +/EvalSum {% + pop 1 add NextNonBlankChar pop + %% read the variable name + ReadLiteral pop NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if + %% read the initial value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the increment value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the limit value + 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + /ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll + 5 -1 roll 4 add array astore def + %% keep ExpressionVector for later and create a new one for internal Sum computation + ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def + 1 add NextNonBlankChar pop AnalyzeExpr + %% add each term + /ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def + /ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add + array astore def 3 -1 roll pop 1 add +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Convert to radians if trigo function call +%% (name) -> +/TrigoFunc { + dup (cos) eq 1 index (sin) eq or exch (tan) eq or + { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add + array astore def + } if +} def +/EvalCond {% + pop 1 add AnalyzeCond NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if + ExpressionVector 3 1 roll /ExpressionVector [] def + 1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def + NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if + 1 add AnalyzeExpr + NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if + ExpressionVector + /ExpressionVector 6 -1 roll aload length dup + 6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def + 1 add 3 -1 roll pop +} def +%% CondOp STR index +/EvalCondOp {% + 3 -1 roll + dup (=) eq { /eq } {% + dup (<) eq { /lt } {% + dup (>) eq { /gt } {% + dup (>=) eq { /ge } {% + dup (<=) eq { /ge } {% + dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator } + ifelse } ifelse } ifelse } ifelse } ifelse } ifelse + cvx exch pop + /ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def +/EvalUnaryOp { + 3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% H O O K S +/AnalyzePreHook {} bind def +/PreEvalHook {} bind def +/AnalyzeListOfEPostHook {} bind def +/AnalyzePostHook {} def +/RollOp { 3 1 roll } bind def +end %tx@CoreAnalyzerDict +% +%--------------------------------------------------------------------% +% +/tx@Derive 41 dict def tx@Derive begin +%%increase ^^ for each function added +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% algExpr variable -> PSVector +/Derive {% + 10240 string 3 1 roll 0 3 1 roll + /Variable exch def + tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end +} def +/Strlen 0 def +/InitParser { dup length /Strlen exch def 0 } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% algExpr variable index -> PSVector +/DeriveIndexed {% + 3 1 roll 10240 string 3 1 roll 0 3 1 roll + /Variable exch def + tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u,v)'=-(u',v') +/EvalListOfExpr {% + 4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe + 2 copy 7 -1 roll dup length 4 1 roll putinterval add + 6 -2 roll pop pop + 2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (-u)'=-(u') +/EvalUnaryOp { + 4 -2 roll 4 index (0) eq + { (0) StrConcat 7 -1 roll pop } + { 7 -1 roll 45 eq + { AddSub AddOpPar true } { false } ifelse + 3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + 7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (number)'=0 +/EvalNumber { ReadNumber (0) 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u+v)'=u'+v' +/EvalAddSub {% + 7 index dup (0) eq + { pop true }%% du=0 nothing added + { dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false } + ifelse + 5 index dup (0) eq + { pop { (0) } { 4 -2 roll 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse }%%dv=0 + { exch + { 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added + { 5 -2 roll 7 index 43 eq%%something yet added + { AddAdd false } { AddSub AddOpPar true } ifelse } + ifelse 11 1 roll + 3 -1 roll StrConcat 10 -1 roll { AddClPar } if + 2 copy pop 0 6 2 roll GetIntervalNewStr } + ifelse + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u*v)' or (u/v)' +/EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u*v)'=u'*v+u*v' +/EvalMul {% + 4 -2 roll 7 index dup (0) eq + { pop false }%%du=0 + { (1) eq%%du=1 + { false } + { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse + 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if + true }%%du!=0 + ifelse + 5 1 roll 5 index (0) eq + { 5 -1 roll not { (0) StrConcat } if }%%dv=0 + { 5 -1 roll { AddAdd } if + 4 index (1) eq + { 8 index StrConcat } + { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } + ifelse + }%%dv!=0 + ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u/v)'=(u'*v-u*v')/v^2 +/EvalDiv {% + 4 -2 roll + 4 index (0) eq%%dv=0 -> u'/v + { 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse } + { 7 index dup (0) eq + { pop }%%du=0 + { (1) eq%%du=1 + { false } + { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse + 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0 + ifelse + AddSub + 4 index (1) eq + { 8 index StrConcat } + { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } + ifelse + %}%%dv!=0 + 2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar + AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add } + ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% str1 index str2 -> str1 index +/StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def +/GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u) +/EvalPower {% + 4 -2 roll 7 index (0) eq + {%%if du=0 then (u^v)'=v'ln(u)u^v + 4 index (0) eq + { (0) StrConcat }%%if dv=0 then (u^v)'=0 + { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if + 8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if + AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse + } + {%%du!=0 + 4 index (0) eq + {%%if dv=0 then (u^v)'=vu'u^(v-1) + 5 index dup IsStrNumber + { dup (0) eq + { StrConcat } + { dup dup (1) eq exch (1.0) eq or + { StrConcat } + { StrConcat + 7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1 + { (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006 + (*\() StrConcat 8 index StrConcat (\)) StrConcat + 5 index dup dup (2) eq exch (2.0) eq or + { pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse } + { pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (-1\)) StrConcat } ifelse + } + {%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u) + 7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if + AddOpPar 5 index StrConcat (\)*\() StrConcat + 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (-1\)+\() StrConcat + 4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if + 8 index StrConcat (\)^\() StrConcat + 5 index StrConcat (\)*ln\() StrConcat + 8 index StrConcat AddClPar + } ifelse + } ifelse + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% No derivative for factorial ! only cst => null derivative +/EvalFactorial {% DR 09/2011 + 4 index (0) eq + { (0) mark 8 -2 roll cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll } + { DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% str -> true/false +/IsStrNumber {% + true exch + { dup 48 lt exch dup 57 gt 3 -1 roll or + exch dup 46 ne%%. + exch dup 43 ne%%+ + exch 45 ne%%- + and and and { pop false } if } forall +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalLiteral {% + ReadLiteral dup 40 eq%%% there is an open par -> function call + { pop (EvalFunc_ ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec } + { dup 91 eq%%% there is an open bracket -> vector element + { DERIVATIVE_ENGINE_ERROR_vector_not_yet_implemented } + { pop EvalVariable } + ifelse } + ifelse +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% first last parpos Expr[first:parpos-1] -> +/EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% (f(u))'=u'f'(u) +/EvalFunc { + 4 2 roll 4 index (1) ne + { AddOpPar 4 index StrConcat (\)*) StrConcat } if + (Eval ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Func derivative -> Eval<func> +/EvalFunc_sin {% + PreCommonFunc + { (cos\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_cos {% + PreCommonFunc + { (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_tan {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if + PostCommonFunc } def +/EvalFunc_asin {% + PreCommonFunc + { (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_acos {% + PreCommonFunc + { (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_atg {% + PreCommonFunc + { (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_ln {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_exp {% + PreCommonFunc + { (exp\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_EXP {% + PreCommonFunc + { (EXP\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_sqrt {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Fact {% + PreCommonFunc { DERIVATIVE_ENGINE_ERROR_no_variable_expression_in_Fact } if + PostCommonFunc } def +/EvalFunc_sh {% + PreCommonFunc + { (ch\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_ch {% + PreCommonFunc + { (sh\() StrConcat 5 index StrConcat AddClPar } if + PostCommonFunc } def +/EvalFunc_th {% + PreCommonFunc + { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argsh {% + PreCommonFunc + { (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argch {% + PreCommonFunc + { (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if + PostCommonFunc } def +/EvalFunc_Argth {% + PreCommonFunc + { (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if + PostCommonFunc } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +/PreCommonFunc { + 1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop + 4 2 roll 4 index (0) eq + { (0) StrConcat false } + { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse +} def +/PostCommonFunc { + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +/EvalFunc_Derive {% + 1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs + 4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add + 4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval + exch 6 2 roll } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalFunc_Sum {% + 1 add NextNonBlankChar pop + %% read the variable name + ReadLiteral pop 3 -1 roll pop NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if + %% read the initial value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if + %% read the increment value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if + %% read the limit value + 1 add NextNonBlankChar pop ReadNumber pop + 2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if + 1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop + 4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat + 4 index StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% literal switch -> func call, vector, variables +/EvalFunc_IfTE {% + 3 -1 roll pop 1 add NextNonBlankChar pop SkipCond + NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if + 1 add NextNonBlankChar pop dup 5 1 roll + AnalyzeExpr NextNonBlankChar + 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if + 1 add NextNonBlankChar pop + AnalyzeExpr 1 add NextNonBlankChar pop + 4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat + 6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar + 2 copy pop 0 6 2 roll GetIntervalNewStr + mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% advance in str until a comma is found (no error detection!) +%% str index -> str index' +/SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Convert to radians if trigo function call +%% (name) -> +/TrigoFunc { + dup (cos) eq 1 index (sin) eq or exch (tan) eq or + { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add + array astore def + } if +} def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% No derivative for condition.... +/EvalCondOp { 3 -1 roll pop } bind def +/PutIntervalOneAdd {putinterval 1 add} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddOpPar {2 copy (\() PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add close parenthesis in string at the given index +%% str index -> str index+1 +/AddClPar {2 copy (\)) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add 0 in string at the given index +%% str index -> str index+1 +/AddZero {2 copy (0) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddMul {2 copy (*) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add open parenthesis in string at the given index +%% str index -> str index+1 +/AddDiv {2 copy (/) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a plus sign in string at the given index +%% str index -> str index+1 +/AddAdd {2 copy (+) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a minus sign in string at the given index +%% str index -> str index+1 +/AddSub {2 copy (-) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Add a pipe sign in string at the given index +%% str index -> str index+1 +/AddPipe {2 copy (|) PutIntervalOneAdd} bind def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% H O O K S +/AnalyzePreHook { dup 5 1 roll } bind def +/PreEvalHook {} def +/AnalyzePostHook { 7 -1 roll pop } bind def +/AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def +/RollOp { 5 1 roll } bind def +end%%%tx@CoreAnalyzerDict +/tx@AddMathFunc 12 dict def tx@AddMathFunc begin +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% NEW FUNC +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2)) +%% x -> theta +/asin {% + dup abs 1 gt { EQDFasinrangeerror } if + dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad +} def +%% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x) +%% x -> theta +/acos {% + dup abs 1 gt { EQDFacosrangeerror } if + dup dup mul 1 exch sub sqrt exch atan DegtoRad +} def +%% function arctangent in radians +%% x -> theta +/atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def +%% HYPERBOLIC FUNCTIONS +/sh { dup Ex exch neg Ex sub 2 div } def +/ch { dup Ex exch neg Ex add 2 div } def +/th { dup sh exch ch div } def +/Argsh { dup dup mul 1 add sqrt add ln } def +/Argch { dup dup mul 1 sub sqrt add ln } def +/Argth { dup 1 add exch 1 exch sub div ln 2 div } def +%% modified exponential funtion for 0 +%% x n -> x^n +/Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def +%% modified exponential funtion for 0 +%% x -> e^x +/Ex { Euler exch exp } bind def +%% +%% factorial function +%% n -> n! +/Fact { 1 exch 2 exch 1 exch { mul } for } bind def +/fact { Fact } bind def +/! { Fact } bind def +end +% +% END pst-algparser.pro + +%%EndProcSet +%%BeginProcSet: pst-tools.pro 0 0 +% $Id: pst-tools.pro 622 2012-01-01 15:36:14Z herbert $ +% +%% PostScript tools prologue for pstricks.tex. +%% Version 0.02, 2012/01/01 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +% +/Pi2 1.57079632679489661925640 def +/factorial { % n on stack, returns n! + dup 0 eq { 1 }{ + dup 1 gt { dup 1 sub factorial mul } if } + ifelse } def +% +/MoverN { % m n on stack, returns the binomial coefficient m over n + 2 dict begin + /n exch def /m exch def + n 0 eq { 1 }{ + m n eq { 1 }{ + m factorial n factorial m n sub factorial mul div } ifelse } ifelse + end +} def +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% subroutines for complex numbers, given as an array [a b] +% which is a+bi = Real+i Imag +% +/cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2] + dup 0 get % [a1 b1] [a2 b2] a2 + 3 -1 roll % [a2 b2] a2 [a1 b1] + dup 0 get % [a2 b2] a2 [a1 b1] a1 + 3 -1 roll % [a2 b2] [a1 b1] a1 a2 + add % [a2 b2] [a1 b1] a1+a2 + 3 1 roll % a1+a2 [a2 b2] [a1 b1] + 1 get % a1+a2 [a2 b2] b1 + exch 1 get % a1+a2 b1 b2 + add 2 array astore +} def +% +/cxneg { % [a b] + dup 1 get % [a b] b + exch 0 get % b a + neg exch neg % -a -b + 2 array astore +} def +% +/cxsub { cxneg cxadd } def % same as negative addition +% +% [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3] +/cxmul { % [a1 b1] [a2 b2] + dup 0 get % [a1 b1] [a2 b2] a2 + exch 1 get % [a1 b1] a2 b2 + 3 -1 roll % a2 b2 [a1 b1] + dup 0 get % a2 b2 [a1 b1] a1 + exch 1 get % a2 b2 a1 b1 + dup % a2 b2 a1 b1 b1 + 5 -1 roll dup % b2 a1 b1 b1 a2 a2 + 3 1 roll mul % b2 a1 b1 a2 b1a2 + 5 -2 roll dup % b1 a2 b1a2 b2 a1 a1 + 3 -1 roll dup % b1 a2 b1a2 a1 a1 b2 b2 + 3 1 roll mul % b1 a2 b1a2 a1 b2 a1b2 + 4 -1 roll add % b1 a2 a1 b2 b3 + 4 2 roll mul % b1 b2 b3 a1a2 + 4 2 roll mul sub % b3 a3 + exch 2 array astore +} def +% +% [a b]^2 = [a^2-b^2 2ab] = [a2 b2] +/cxsqr { % [a b] square root + dup 0 get exch 1 get % a b + dup dup mul % a b b^2 + 3 -1 roll % b b^2 a + dup dup mul % b b^2 a a^2 + 3 -1 roll sub % b a a2 + 3 1 roll mul 2 mul % a2 b2 + 2 array astore +} def +% +/cxsqrt { % [a b] +% dup cxnorm sqrt /r exch def +% cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2 + cxlog % log[a b] + 2 cxrdiv % log[a b]/2 + aload pop exch % b a + 2.781 exch exp % b exp(a) + exch cxconv exch % [Re +iIm] exp(a) + cxrmul % +} def +% +/cxarg { % [a b] + aload pop % a b + exch atan % arctan b/a + DegtoRad % arg(z)=atan(b/a) +} def +% +% log[a b] = [a^2-b^2 2ab] = [a2 b2] +/cxlog { % [a b] + dup % [a b][a b] + cxnorm % [a b] |z| + log % [a b] log|z| + exch % log|z|[a b] + cxarg % log|z| Theta + cxmake2 % [log|z| Theta] +} def +% +% square of magnitude of complex number +/cxnorm2 { % [a b] + dup 0 get exch 1 get % a b + dup mul % a b^2 + exch dup mul add % a^2+b^2 +} def +% +/cxnorm { % [a b] + cxnorm2 sqrt +} def +% +/cxconj { % conjugent complex + dup 0 get exch 1 get % a b + neg 2 array astore % [a -b] +} def +% +/cxre { 0 get } def % real value +/cxim { 1 get } def % imag value +% +% 1/[a b] = ([a -b]/(a^2+b^2) +/cxrecip { % [a b] + dup cxnorm2 exch % n2 [a b] + dup 0 get exch 1 get % n2 a b + 3 -1 roll % a b n2 + dup % a b n2 n2 + 4 -1 roll exch div % b n2 a/n2 + 3 1 roll div % a/n2 b/n2 + neg 2 array astore +} def +% +/cxmake1 { 0 2 array astore } def % make a complex number, real given +/cxmake2 { 2 array astore } def % dito, both given +% +/cxdiv { cxrecip cxmul } def +% +% multiplikation by a real number +/cxrmul { % [a b] r + exch aload pop % r a b + 3 -1 roll dup % a b r r + 3 1 roll mul % a r b*r + 3 1 roll mul % b*r a*r + exch 2 array astore % [a*r b*r] +} def +% +% division by a real number +/cxrdiv { % [a b] r + 1 exch div % [a b] 1/r + cxrmul +} def +% +% exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian +/cxconv { % theta + RadtoDeg dup sin exch cos cxmake2 +} def + +%%%%% ### bubblesort ### +%% syntax : array bubblesort --> array2 trie par ordre croissant +%% code de Bill Casselman +%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ +/bubblesort { % on stack must be an array [ ... ] +4 dict begin + /a exch def + /n a length 1 sub def + n 0 gt { + % at this point only the n+1 items in the bottom of a remain to + % the sorted largest item in that blocks is to be moved up into + % position n + n { + 0 1 n 1 sub { + /i exch def + a i get a i 1 add get gt { + % if a[i] > a[i+1] swap a[i] and a[i+1] + a i 1 add + a i get + a i a i 1 add get + % set new a[i] = old a[i+1] + put + % set new a[i+1] = old a[i] + put + } if + } for + /n n 1 sub def + } repeat + } if + a % return the sorted array +end +} def +% +/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 + 0 1 index { length add } forall + string + 0 3 2 roll + { 3 copy putinterval length add }forall + pop +} bind def +% +/dot2comma {% on stack a string (...) + 2 dict begin + /Output exch def + 0 1 Output length 1 sub { + /Index exch def + Output Index get 46 eq { Output Index 44 put } if + } for + Output + end +} def +% +%-----------------------------------------------------------------------------% +% END pst-tools.pro + +%%EndProcSet +%%BeginProcSet: pst-dots.pro 0 0 +% $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 2.02, 2009/06/16 +%% +%% For distribution, see pstricks.tex. +%% +%% Timothy Van Zandt <tvz@Princeton.EDU> +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%% Modified by Etienne Riga - Dec. 16, 1999 +%% Modified by Etienne Riga - 2005/01/01 (er) +%% to add /Diamond, /SolidDiamond and /BoldDiamond +%% Modified by Herbert Voss (hv) - 2008/04/17 +% +10 dict dup begin % hold local + /FontType 3 def + /FontMatrix [.001 0 0 .001 0 0] def +% /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv + /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph + /Encoding 256 array def + 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef + Encoding % replace with given dot names + dup (b) 0 get /Bullet put % get the numerical position of b in ASCII +% % and save /Bullet at this place in Encoding + dup (c) 0 get /Circle put + dup (C) 0 get /BoldCircle put % 67 + dup (u) 0 get /SolidTriangle put + dup (t) 0 get /Triangle put + dup (T) 0 get /BoldTriangle put + dup (r) 0 get /SolidSquare put + dup (s) 0 get /Square put + dup (S) 0 get /BoldSquare put + dup (q) 0 get /SolidPentagon put + dup (p) 0 get /Pentagon put + dup (P) 0 get /BoldPentagon put +%%% + dup (k) 0 get /Asterisk put + dup (K) 0 get /BoldAsterisk put + dup (J) 0 get /SolidAsterisk put + dup (h) 0 get /Hexagon put + dup (H) 0 get /BoldHexagon put + dup (G) 0 get /SolidHexagon put + dup (f) 0 get /Octogon put % 2008-04-18 hv + dup (F) 0 get /BoldOctogon put % 2008-04-18 hv + dup (g) 0 get /SolidOctogon put % 2008-04-18 hv + dup (a) 0 get /Add put + dup (A) 0 get /BoldAdd put % 65 + dup (x) 0 get /Mul put + dup (X) 0 get /BoldMul put + dup (m) 0 get /Oplus put + dup (M) 0 get /BOplus put + dup (e) 0 get /SolidOplus put + dup (n) 0 get /Otimes put + dup (N) 0 get /BOtimes put + dup (E) 0 get /SolidOtimes put + dup (i) 0 get /Bar put + dup (I) 0 get /BoldBar put + dup (l) 0 get /SolidDiamond put + dup (d) 0 get /Diamond put + (D) 0 get /BoldDiamond put +%%% +/CharProcs 47 dict def +CharProcs begin + /CirclePath {0 0 500 0 360 arc closepath} def + /Bullet {CirclePath fill} def + /Circle {CirclePath .9 .9 scale CirclePath eofill} def + /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def + /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def + /SolidTriangle {TrianglePath fill} def + /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def + /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def + /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def + /SolidSquare {SquarePath fill} def + /Square {SquarePath .89 .89 scale SquarePath eofill} def + /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def + /PentagonPath { + -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto + 0 574.7 lineto -546.6 177.6 lineto closepath + } def + /SolidPentagon {PentagonPath fill} def + /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def + /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def +%-------------- hv begin 2004/07/25 from: er 2003/03/24 + /HexagonPath { + 0 550 moveto -476 275 lineto -476 -275 lineto + 0 -550 lineto 476 -275 lineto 476 275 lineto closepath + } def + /SolidHexagon {HexagonPath fill} def + /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def + /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def +% 2008-04-18 hv + /OctogonPath { + 550 dup 22.5 tan mul dup neg dup add /xMove exch def + exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def + /SolidOctogon { OctogonPath fill } def + /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def + /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def +% + /AsteriskPath { + 20 0 moveto 10 250 180 500 0 500 curveto + -180 500 -10 250 -20 0 curveto closepath + } def + /Asterisk { + AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath + 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill + } def +% + /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def + /BoldAsteriskPath { + 50 30 cos 100 mul moveto Basterp + 60 rotate Basterp 60 rotate Basterp + 60 rotate Basterp 60 rotate Basterp + 60 rotate Basterp closepath + } def + /BoldAsterisk {BoldAsteriskPath fill} def + /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def + /CrossPath { + 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto + -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto + 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath + } def + /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto + -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto + 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath + } def + /Add {CrossPath fill} def + /Mul {45 rotate CrossPath fill} def + /BoldAdd {BoldCrossPath fill} def + /BoldMul {45 rotate BoldCrossPath fill} def + /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def + /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def + /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def + /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def + /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def + /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def + /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def + /Bar {BarPath fill} def + /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def + /BoldBar {BoldBarPath fill} def + /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def + /SolidDiamond {DiamondPath fill} def + /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def + /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def +%%% + /.notdef { } def +end +% +/BuildGlyph { + exch + begin +% Metrics 1 index get exec 0 + 0 0 +% BBoxes 3 index get exec + -1000 -1000 1000 1000 +% -571.5 -742.5 571.5 742.5 + setcachedevice + CharProcs begin load exec end + end +} def +% +/BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +} bind def +% +end +/PSTricksDotFont exch definefont pop +% +%% end + +%%EndProcSet +%%BeginProcSet: pst-node.pro 0 0 +% $Id: pst-node.pro 645 2012-02-12 09:09:51Z herbert $ +%% +%% PostScript prologue for pst-node.tex. +%% Version 1.13, 2011/11/21. +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +% +/tx@NodeDict 400 dict def tx@NodeDict begin +tx@Dict begin % from main pstricks dict + /T /translate load def + /CP /currentpoint load def +end +/NewNode { % on stack: { x y } boolean N@name type InitXnode + gsave + NodeScale % a bugfix for xelatex, it's empty for dvips + /next exch def % { x y } boolean N@name type + dict dup % { x y } boolean N@name dict dict + 3 1 roll def % { x y } boolean dict N@name dict def + exch { dup 3 1 roll def } if % { x y } dict boolean + begin % { x y } dict begin + tx@Dict begin + STV CP T exec % set scaling + end + /NodeMtrx CM def % save CM + next % InitXNode + end + grestore +} def +% +/InitPnode { + /Y ED /X ED + /NodePos { NodeSep Cos mul NodeSep Sin mul } def +} def +% +/InitCnode { + /r ED /Y ED /X ED + /NodePos { NodeSep r add dup Cos mul exch Sin mul } def +} def +% +/GetRnodePos { + Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse + Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse + dx Sin mul abs dy + Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse +} def +% +/InitRnode { + /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED + /NodePos { GetRnodePos } def +} def +% +/DiaNodePos { + w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup + Cos mul exch Sin mul +} def +% +/TriNodePos { + Sin s lt + { d NodeSep sub dup Cos mul Sin Div exch } + { w h mul w Sin mul h Cos abs mul add Div + NodeSep add dup Cos mul exch Sin mul + } ifelse +} def +% +/InitTriNode { + sub 2 div exch + 2 div exch + 2 copy T + 2 copy 4 index index /d ED + pop pop pop pop + -90 mul rotate + /NodeMtrx CM def + /X 0 def /Y 0 def + d sub abs neg /d ED + d add /h ED + 2 div h mul h d sub Div /w ED + /s d w Atan sin def + /NodePos { TriNodePos } def +} def +% +/OvalNodePos { + /ww w NodeSep add def + /hh h NodeSep add def + Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul +} def +% +/GetCenter { begin X Y NodeMtrx transform CM itransform end } def +% +/XYPos { + dup sin exch cos Do + /Cos ED /Sin ED /Dist ED + Cos 0 gt + { Dist Dist Sin mul Cos div } + { Cos 0 lt + { Dist neg Dist Sin mul Cos div neg } + { 0 Dist Sin mul } ifelse + } ifelse + Do +} def +% +/GetEdge { + dup 0 eq + { pop begin 1 0 NodeMtrx dtransform + CM idtransform + exch atan sub + dup + sin /Sin ED + cos /Cos ED + /NodeSep ED + NodePos NodeMtrx dtransform CM idtransform end } + { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse +} def +% +/AddOffset { + 1 index 0 eq + { pop pop } + { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse +} def +% +/GetEdgeA { + NodeSepA AngleA NodeA NodeSepTypeA GetEdge + OffsetA AngleA AddOffset + yA add /yA1 ED + xA add /xA1 ED +} def +% +/GetEdgeB { + NodeSepB AngleB NodeB NodeSepTypeB GetEdge + OffsetB AngleB AddOffset + yB add /yB1 ED + xB add /xB1 ED +} def +% +/GetArmA { + ArmTypeA 0 eq + { /xA2 ArmA AngleA cos mul xA1 add def + /yA2 ArmA AngleA sin mul yA1 add def } + { ArmTypeA 1 eq {{exch}} {{}} ifelse + /Do ED + ArmA AngleA XYPos OffsetA AngleA AddOffset + yA add /yA2 ED + xA add /xA2 ED } ifelse +} def +% +/GetArmB { + ArmTypeB 0 eq + { /xB2 ArmB AngleB cos mul xB1 add def + /yB2 ArmB AngleB sin mul yB1 add def } + { ArmTypeB 1 eq {{exch}} {{}} ifelse + /Do ED + ArmB AngleB XYPos OffsetB AngleB AddOffset + yB add /yB2 ED + xB add /xB2 ED } ifelse +} def +% +/InitNC { + /b ED /a ED % second and first node + /NodeSepTypeB ED /NodeSepTypeA ED + /NodeSepB ED /NodeSepA ED + /OffsetB ED /OffsetA ED + tx@NodeDict a known tx@NodeDict b known and dup { + /NodeA a load def + /NodeB b load def + NodeA GetCenter /yA ED /xA ED + NodeB GetCenter /yB ED /xB ED } if +} def +% +/LPutLine { + 4 copy + 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED + 1 t sub mul + 3 1 roll 1 t sub mul + 4 1 roll t mul add /Y ED + t mul add /X ED +} def +% +/LPutLines { + mark LPutVar counttomark 2 div 1 sub /n ED +% t floor dup n gt + t floor dup n ge % to allow npos<= hv 2008-08-14 + { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse + cvi 2 mul { pop } repeat + LPutLine + cleartomark +} def +% +/BezierMidpoint { + /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED /t ED + /cx x1 x0 sub 3 mul def + /cy y1 y0 sub 3 mul def + /bx x2 x1 sub 3 mul cx sub def + /by y2 y1 sub 3 mul cy sub def + /ax x3 x0 sub cx sub bx sub def + /ay y3 y0 sub cy sub by sub def + ax t 3 exp mul bx t t mul mul add + cx t mul add x0 add ay t 3 exp mul + by t t mul mul add cy t mul add + y0 add 3 ay t t mul mul mul 2 + by t mul mul add cy add 3 ax t t mul mul mul + 2 bx t mul mul add cx add atan /NAngle ED + /Y ED /X ED +} def +% +/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def +} def +/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def +/NAngle yyB yyA sub xxB xxA sub Atan def } def +/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def +/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def +} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit +} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd +} def +/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def +} def +/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def +/NAngle yyB yyA sub xxB xxA sub Atan def } def +/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def +/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def +} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { +exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark +VPosEnd } def +/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 +roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx +def grestore exec /LPutVar /SaveLPutVar load def } def +/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def +GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { +LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { +LPutVar VPutLine } def LPutVar } def +% +/NCLine { + NCCoor + tx@Dict begin + ArrowA CP 4 2 roll + ArrowB + lineto pop pop + end +} def +% +/NCLines { + false NArray + n 0 eq + { NCLine } + { 2 copy yA sub exch xA sub Atan /AngleA ED + n 2 mul dup index exch index yB sub exch xB sub + Atan /AngleB ED + GetEdgeA GetEdgeB + /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 yA1 ] cvx def + mark LPutVar + tx@Dict begin false Line end + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def + } ifelse +} def +% +/NCCurve { + GetEdgeA + GetEdgeB + xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 +roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA +GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict +begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] +cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines +} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def +% +/NCAngles { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx transform pop + xB2 yB2 mtrx transform exch pop + mtrx itransform + /y0 ED /x0 ED + mark ArmB 0 ne { xB1 yB1 } if + xB2 yB2 x0 y0 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def } def +% +/NCAngle { + GetEdgeA GetEdgeB GetArmB + /mtrx AngleA matrix rotate def + xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform + /y0 ED /x0 ED + mark + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 x0 y0 xA1 yA1 + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +/NCBar { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx itransform pop + xB2 yB2 mtrx itransform pop + sub dup 0 mtrx transform + 3 -1 roll 0 gt + { /yB2 exch yB2 add def /xB2 exch xB2 add def } + { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse + mark + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +/NCDiag { + /lineAngle ED + GetEdgeA GetEdgeB GetArmA GetArmB mark + lineAngle abs 0 gt { + /xTemp xA2 10 add def + /yTemp yA2 lineAngle dup sin exch cos div 10 mul add def + /dY1 yTemp yA2 sub def + /dX1 xTemp xA2 sub def + /dY2 yB2 yB1 sub def + /dX2 xB2 xB1 sub def + dX1 abs 0.01 lt { + /m2 dY2 dX2 div def + /xB2 xA2 def + /yB2 xA2 xB1 sub m2 mul yB1 add def + }{ + dX2 abs 0.01 lt { + /m1 dY1 dX1 div def + /xB2 xB1 def + /yB2 xB1 xA2 sub m1 mul yA2 add def + }{% + /m1 dY1 dX1 div def + /m2 dY2 dX2 div def + /xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def + /yB2 xB2 xA2 sub m1 mul yA2 add def + } ifelse + } ifelse + } if + ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +% +% GetEdgeA GetEdgeB GetArmA GetArmB mark +% ArmB 0 ne { xB1 yB1 } if +% xB2 yB2 xA2 yA2 +% ArmA 0 ne { xA1 yA1 } if +% tx@Dict begin false Line end +% /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def +% /LPutPos { LPutLines } def +% /HPutPos { HPutLines } def +% /VPutPos { VPutLines } def +} def +% +/NCDiagg { + /lineAngle ED + GetEdgeA GetArmA + lineAngle abs 0 gt + { lineAngle } + { yB yA2 sub xB xA2 sub Atan 180 add } ifelse + /AngleB ED + GetEdgeB mark + lineAngle abs 0 gt { + /dY2 yA2 yA1 sub def + /dX2 xA2 xA1 sub def + lineAngle abs 90 eq { + /m2 dY2 dX2 div def + /yA2 xB xA2 sub m2 mul yA2 add def + /xA2 xB def + }{ + /m1 lineAngle dup sin exch cos div def % tan alpha + dX2 abs 0.01 lt { + /yA2 xA1 xB sub m1 mul yB add def + /xA2 xA1 def + }{% + /m2 dY2 dX2 div def + /xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def + /yA2 xA2 xB sub m1 mul yB add def + } ifelse + } ifelse + } if + xB1 yB1 xA2 yA2 + ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +% +% GetEdgeA GetArmA +% yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED +% GetEdgeB +% mark +% xB1 yB1 xA2 yA2 +% ArmA 0 ne { xA1 yA1 } if +% tx@Dict begin false Line end +% /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def +% /LPutPos { LPutLines } def +% /HPutPos { HPutLines } def +% /VPutPos { VPutLines } def +} def +% +/NCLoop { + GetEdgeA GetEdgeB GetArmA GetArmB + /mtrx AngleA matrix rotate def + xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED + /xB3 xB2 yB2 mtrx transform pop def + xB3 yA3 mtrx itransform /yB3 ED /xB3 ED + xA3 yA3 mtrx itransform /yA3 ED /xA3 ED + mark ArmB 0 ne { xB1 yB1 } if + xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if + tx@Dict begin false Line end + /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def + /LPutPos { LPutLines } def + /HPutPos { HPutLines } def + /VPutPos { VPutLines } def +} def +% +% DG/SR modification begin - May 9, 1997 - Patch 1 +%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r +%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add +%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 +%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED +% +/NCCircle { + NodeSepA 0 NodeA 0 GetEdge pop + 2 div dup 2 exp r r mul sub abs sqrt + atan 2 mul /a ED + r AngleA 90 add PtoC yA add exch xA add + exch 2 copy + /LPutVar [ 4 2 roll r AngleA ] cvx def + /LPutPos { + LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC + 3 -1 roll add + /Y ED add /X ED /NAngle ED +% DG/SR modification end + } def + /HPutPos { LPutPos } def + /VPutPos { LPutPos } def + r AngleA 90 sub a add AngleA 270 add a sub + tx@Dict begin + /angleB ED /angleA ED /r ED + /c 57.2957 r Div def + /y ED /x ED +} def +% +/NCBox { + /d ED /h ED + /AngleB yB yA sub xB xA sub Atan def + /AngleA AngleB 180 add def + GetEdgeA GetEdgeB + /dx d AngleB sin mul def + /dy d AngleB cos mul neg def + /hx h AngleB sin mul neg def + /hy h AngleB cos mul def + /LPutVar [ + xA1 hx add yA1 hy add xB1 hx add yB1 hy add + xB1 dx add yB1 dy add xA1 dx add yA1 dy add ] cvx def + /LPutPos { LPutLines } def + /HPutPos { xB yB xA yA LPutLine } def + /VPutPos { HPutPos } def + mark + LPutVar tx@Dict begin false Polygon end +} def +% +/NCArcBox { + /l ED neg /d ED /h ED /a ED + /AngleA yB yA sub xB xA sub Atan def + /AngleB AngleA 180 add def + /tA AngleA a sub 90 add def + /tB tA a 2 mul add def + /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def + /x0 xA r tA cos mul add def + /y0 yA r tA sin mul add def + /c 57.2958 r div def + /AngleA AngleA a sub 180 add def + /AngleB AngleB a add 180 add def + GetEdgeA GetEdgeB + /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul sub def + /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def + l 0 eq { + x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn + }{ + x0 y0 translate + /tA AngleA l c mul add def + /tB AngleB l c mul sub def + 0 0 r h add tA tB arc r h add + AngleB PtoC r d add + AngleB PtoC 2 copy + 6 2 roll l arcto 4 { pop } repeat + r d add tB PtoC l arcto 4 { pop } repeat + 0 0 r d add tB tA arcn r d add + AngleA PtoC r h add + AngleA PtoC 2 copy 6 2 roll + l arcto 4 { pop } repeat + r h add tA PtoC l arcto 4 { pop } repeat + } ifelse + closepath + /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def + /LPutPos { + LPutVar /d ED /h ED + /AngleB ED /AngleA ED + /r ED /y0 ED /x0 ED + t 1 le { + r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC + }{t 2 lt { + /NAngle AngleB 180 add def r 2 t sub + h mul t 1 sub d mul add add AngleB PtoC + }{ + t 3 lt { + r d add AngleB 3 t sub mul AngleA 2 t sub + mul add dup 90 sub /NAngle ED PtoC + }{ + /NAngle AngleA 180 add def + r 4 t sub d mul t 3 sub h mul add add AngleA PtoC + } ifelse + } ifelse + } ifelse + y0 add /Y ED x0 add /X ED + } def + /HPutPos { LPutPos } def + /VPutPos { LPutPos } def +} def +% +/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB +sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 +ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB +w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos +{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } +{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } +def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin +/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def +% +/LPutCoor { + NAngle + tx@Dict begin /NAngle ED end + gsave + CM STV + CP Y sub neg exch X sub neg exch moveto + setmatrix CP + grestore +} def +% +/LPut { + tx@NodeDict /LPutPos known + { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse + LPutCoor +} def +% +/HPutAdjust { + Sin Cos mul 0 eq + { 0 } + { d Cos mul Sin div flag not { neg } if + h Cos mul Sin div flag { neg } if + 2 copy gt { pop } { exch pop } ifelse + } ifelse + s add flag { r add neg }{ l add } ifelse + X add /X ED +} def +% +/VPutAdjust { + Sin Cos mul + 0 eq + { 0 } + { l Sin mul Cos div flag { neg } if + r Sin mul Cos div flag not { neg } if + 2 copy gt { pop } { exch pop } ifelse + } ifelse + s add flag { d add } { h add neg } ifelse + Y add /Y ED +} def +% +% +end +% +% END pst-node.pro + +%%EndProcSet +%%BeginProcSet: pst-3d.pro 0 0 +%% $Id: pst-3d.pro 247 2010-01-04 22:45:42Z herbert $ +% PostScript prologue for pst-3d.tex. +% Version 0.01, 2010/01/01 +% +/tx@3Ddict 300 dict def +tx@3Ddict begin +% +/SetMatrixThreeD { + dup sin /e ED cos /f ED + /p3 ED /p2 ED /p1 ED + p1 0 eq + { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def + p3 p2 abs + } + { p2 0 eq + { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def + p3 p1 abs + } + { p1 dup mul p2 dup mul add sqrt dup + p1 exch div /a ED + p2 exch div neg /b ED + p3 p1 a div + } + ifelse + } + ifelse + atan dup sin /c ED cos /d ED + /Matrix3D + [ + b f mul c a mul e mul sub + a f mul c b mul e mul add + d e mul + b e mul neg c a mul f mul sub + a e mul neg c b mul f mul add + d f mul + ] def +} def +% +/ProjThreeD { + /z ED /y ED /x ED + Matrix3D aload pop + z mul exch y mul add exch x mul add + 4 1 roll + z mul exch y mul add exch x mul add + exch +} def +% +/SetMatrixEmbed { + SetMatrixThreeD + Matrix3D aload pop + /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED + SetMatrixThreeD + [ + Matrix3D aload pop + z3 mul exch z2 mul add exch z1 mul add 4 1 roll + z3 mul exch z2 mul add exch z1 mul add + Matrix3D aload pop + x3 mul exch x2 mul add exch x1 mul add 4 1 roll + x3 mul exch x2 mul add exch x1 mul add + 3 -1 roll 3 -1 roll 4 -1 roll 8 -3 roll 3 copy + x3 mul exch x2 mul add exch x1 mul add 4 1 roll + z3 mul exch z2 mul add exch z1 mul add + ] + concat +} def +% +/TMSave { + tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if + /TMatrix [ TMatrix CM ] cvx def +} def +% +/TMRestore { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def +% +/TMChange { + TMSave + /cp [ currentpoint ] cvx def % ??? Check this later. + CM + CP T STV + CM matrix invertmatrix % Inv(M') + matrix concatmatrix % M Inv(M') + exch exec + concat cp moveto +} def +% +end % of tx@3Ddict +%% +%% End of file `pst-3d.pro'. + +%%EndProcSet +%%BeginProcSet: pst-math.pro 0 0 +% -*- Mode: Postscript -*- +% pst-math.pro --- PostScript header file pst-math.pro +% +% Author : Christophe JORSSEN +% Author : Herbert Voß <hvoss@tug.org> +% Created the : Sat 20 March 2004 +% Last Mod : $Date: 2010/10/02 $ +% Version : 0.62 $ +% +/PI 3.14159265359 def +/ENeperian 2.71828182846 def +% +/DegToRad {PI mul 180 div} bind def +/RadToDeg {180 mul PI div} bind def +% +/COS {RadToDeg cos} bind def +/SIN {RadToDeg sin} bind def +/TAN {dup SIN exch COS Div} bind def +/tan {dup sin exch cos Div} bind def +/ATAN {neg -1 atan 180 sub DegToRad} bind def +/ACOS {dup dup mul neg 1 add sqrt exch atan DegToRad} bind def +/acos {dup dup mul neg 1 add sqrt exch atan} bind def +/ASIN {neg dup dup mul neg 1 add sqrt neg atan 180 sub DegToRad} bind def +/asin {neg dup dup mul neg 1 add sqrt neg atan 180 sub} bind def +% +/EXP {ENeperian exch exp} bind def +% +/COSH {dup EXP exch neg EXP add 2 div} bind def +/SINH {dup EXP exch neg EXP sub 2 div} bind def +/TANH {dup SINH exch COSH div} bind def +/ACOSH {dup dup mul 1 sub sqrt add ln} bind def +/ASINH {dup dup mul 1 add sqrt add ln} bind def +/ATANH {dup 1 add exch neg 1 add Div ln 2 div} bind def +% +%/SINC {dup SIN exch Div} bind def +/SINC { dup 0 eq { pop 1 } { dup SIN exch div } ifelse } bind def + +/GAUSS {dup mul 2 mul dup 4 -2 roll sub dup mul exch div neg EXP exch PI mul sqrt div} bind def +% +/GAMMA { 2 dict begin % hv 2007-08-30 + /z exch def + 1.000000000190015 % p(0) + 0 1 5 { % on stack is 0 1 2 3 4 5 + dup % n-1 n-1 + [ 76.18009172947146 + -86.50532032941677 + 24.0140982483091 + -1.231739572450155 + 0.1208650973866179E-2 + -0.5395239384953E-5 ] exch get exch % p(n) n-1 + 1 add z add div % p(n)/(z+n) + add % build the sum + } for + Pi 2 mul sqrt z div mul + z 5.5 add z 0.5 add exp mul ENeperian z 5.5 add neg exp mul + end } bind def +% +/GAMMALN {dup dup dup 5.5 add dup ln 3 -1 roll .5 add mul sub neg 1.000000000190015 + 0 1 5 { + [76.18009172947146 -86.50532032941677 24.0140982483091 -1.231739572450155 + .1208650973866179E-2 -.5395239384953E-5 2.5066282746310005] exch get + 4 -1 roll 1 add dup 5 1 roll div add} for + 4 -1 roll div 2.5066282746310005 mul ln add exch pop} bind def +/BETA {2 copy add GAMMALN neg exch GAMMALN 3 -1 roll GAMMALN EXP} bind def +% +/HORNER {aload length + dup 2 add -1 roll + exch 1 sub { + dup 4 1 roll + mul add exch + } repeat + pop +} bind def +% +/BESSEL_J0 {dup abs 8 lt { + dup mul dup [57568490574 -13362590354 651619640.7 -11214424.18 77392.33017 -184.9052456] HORNER + exch [57568490411 1029532985 9494680.718 59272.64853 267.8532712 1] HORNER + Div} + {abs dup .636619772 exch div sqrt exch dup .785398164 sub exch 8 exch div dup dup mul dup + [1 -1.098628627E-2 .2734510407E-4 -.2073370639E-5 .2093887211E-6] HORNER + 3 index COS mul + exch [-.1562499995E-1 .1430488765E-3 -.6911147651E-5 .7621095161E-6 -.934945152E-7] HORNER + 4 -1 roll SIN mul 3 -1 roll mul neg add mul} + ifelse} bind def +% +/BESSEL_Y0 {dup 8 lt { + dup dup mul dup [-2957821389 7062834065 -512359803.6 10879881.29 -86327.92757 228.4622733] HORNER + exch [40076544269 745249964.8 7189466.438 47447.26470 226.1030244 1] HORNER + Div exch dup ln exch BESSEL_J0 .636619772 mul mul add} + {dup .636619772 exch div sqrt exch dup .785398164 sub exch 8 exch div dup dup mul dup + [1 -.1098628627E-2 .2734510407E-4 -.2073370639E-5 .2093887211E-6] HORNER + 3 index SIN mul + exch [-.1562499995E-1 .1430488765E-3 -.6911147651E-5 .7621095161E-6 -.934945152E-7] HORNER + 4 -1 roll COS mul 3 -1 roll mul add mul} + ifelse} bind def +% +/BESSEL_J1 {dup abs 8 lt { + dup dup mul dup 3 -2 roll [72362614232 -7895059235 242396853.1 -2972611.439 15704.48260 -30.16036606] HORNER mul + exch [144725228442 2300535178 18583304.74 99447.43394 376.9991397 1] HORNER + Div} + {dup abs dup .636619772 exch div sqrt exch dup 2.356194491 sub exch 8 exch div dup dup mul dup + [1 .183105E-2 -.3516396496E-4 .2457520174E-5 -.240337019E-6] HORNER + 3 index COS mul + exch [.04687499995 6.2002690873E-3 .8449199096E-5 -.88228987E-6 .105787412E-6] HORNER + 4 -1 roll SIN mul 3 -1 roll mul neg add mul exch dup abs Div mul} + ifelse} bind def +% +/BESSEL_Y1 {dup 8 lt { + dup dup dup mul dup [-.4900604943E13 .1275274390E13 -.5153428139E11 .7349264551E9 -.4237922726E7 .8511937935E4] HORNER + exch [.2499580570E14 .4244419664E12 .3733650367E10 .2245904002E8 .1020426050E6 .3549632885E3 1] HORNER + Div mul exch dup dup ln exch BESSEL_J1 mul exch 1 exch div sub .636619772 mul add} + {dup .636619772 exch div sqrt exch dup 2.356194491 sub exch 8 exch div dup dup mul dup + [1 .183105E-2 -.3516396496E-4 .2457520174E-5 -.240337019E-6] HORNER + 3 index SIN mul + exch [.04687499995 -.2002690873E-3 .8449199096E-5 6.88228987E-6 .105787412E-6] HORNER + 4 -1 roll COS mul 3 -1 roll mul add mul} + ifelse} bind def +% +% En cours... +/BESSEL_Yn {dup 0 eq {pop BESSEL_Y0}{dup 1 eq {pop BESSEL_Y1}{ + exch dup BESSEL_Y0 exch dup BESSEL_Y1 exch 2 exch Div { + mul 3 -1 roll mul 2 index sub pstack} for + } ifelse } ifelse } bind def +% +/SIMPSON { 1 dict begin %% on stack a b var f ierr Dominik Rodriguez + 3 index 5 index sub % compute h + 1 % a b var f ierr h n + 4 index 7 index def 3 index exec % a b var f ierr h n f(a) + 5 index 7 index def 4 index exec add % a b var f ierr h n f(a)+f(b) + 5 index 8 index 4 index 2 div add def 4 index exec % a b var f ierr h n f(a)+f(b) f(a+h/2) + exch 1 index 4 mul add 0 % a b var f ierr h n old=f(a+h/2) Estim=f(a)+f(b)+4f(a+h/2) NbLoop + { % a b var f ierr h n old Estim NbLoop + 5 -1 roll 2 div dup 6 1 roll % h<-h/2 + 5 -1 roll 2 mul 5 1 roll % n<-2n + % a b var f ierr h n old Estim NbLoop h + 2 div 10 index add 0 % a b var f ierr h n old Estim NbLoop a+h/2 Cumul + 5 index { + 1 index 10 index exch def 8 index exec add exch 6 index add exch + } repeat % a b var f ierr h n old Estim NbLoop a+nh/2 Cumul + exch pop % a b var f ierr h n old Estim NbLoop New + 2 index 1 index 4 mul 6 -1 roll 2 mul sub sub % a b var f ierr h n Estim NbLoop New Diff + 4 -1 roll 2 mul 1 index sub 4 1 roll % a b var f ierr h n Estim NbLoop New Diff + exch 4 1 roll % a b var f ierr h n old Estim NbLoop Diff + 5 index 6 div mul abs 6 index lt { exit } if + 1 add dup 9 eq { exit } if + } loop % a b var f ierr h n old Estim NbLoop + exch 5 -1 roll 6 div mul mark 10 2 roll cleartomark +end +} def +% ------------------------------------ math stuff ---------------------------------- +% +% Matrix A in arrays of rows A[[row1][row2]...] +% with [row1]=[a11 a12 ... b1] +% returns on stack solution vector X=[x1 x2 ... xn] +/SolveLinEqSystem { % on stack matrix M=[A,b] (A*x=b) + 10 dict begin % hold all ocal + /A exch def + /Rows A length def % Rows = number of rows + /Cols A 0 get length def % Cols = number of columns + /Index [ 0 1 Rows 1 sub { } for ] def % Index = [0 1 2 ... Rows-1] + /col 0 def + /row 0 def + /PR Rows array def % PR[c] = pivot row for row row + { % starts the loop, find pivot entry in row r + col Cols ge row Rows ge or { exit } if % col < Cols and row < Rows else exit + /pRow row def % pRow = pivot row + /max A row get col get abs def % get A[row[col]], first A[0,0] + row 1 add 1 Rows 1 sub { % starts for loop 1 1 Rows-1 + /j exch def % index counter + /x A j get col get abs def % get A[j[r]] + x max gt { % x>max, then save position + /pRow j def + /max x def + } if + } for % now we have the row with biggest A[0,1] + % with pRow = the pivot row + max 0 gt { % swap entries pRow and row in i + /tmp Index row get def + Index row Index pRow get put + Index pRow tmp put % and columns pRow and row in A + /tmp A row get def + A row A pRow get put + A pRow tmp put % pivot + /row0 A row get def % the pivoting row + /p0 row0 col get def % the pivot value + row 1 add 1 Rows 1 sub { % start for loop + /j exch def + /c1 A j get def + /p c1 col get p0 div def + c1 col p put % subtract (p1/p0)*row[i] from row[j] + col 1 add 1 Cols 1 sub { % start for loop + /i exch def + c1 dup i exch % c1 i c1 + i get row0 i get p mul sub put + } for + } for + PR row col put + /col col 1 add def + /row row 1 add def + }{ % all zero entries + /row row 1 add def % continue loop with same row + } ifelse + } loop + /X A def % solution vector + A Rows 1 sub get dup + Cols 1 sub get exch + Cols 2 sub get div + X Rows 1 sub 3 -1 roll put % X[n] + Rows 2 sub -1 0 { % for loop to calculate X[i] + /xi exch def % current index + A xi get % i-th row + /Axi exch def + /sum 0 def + Cols 2 sub -1 xi 1 add { + /n exch def + /sum sum Axi n get X n get mul add def + } for + Axi Cols 1 sub get % b=Axi[Cols-1] + sum sub % b-sum + Axi xi get div % b-sum / Axi[xi] + X xi 3 -1 roll put % X[xi] + } for + X + end +} def +% +/c@_0 2.515517 def +/c@_1 0.802853 def +/c@_2 0.010328 def +/d@_1 1.432788 def +/d@_2 0.189269 def +/d@_3 0.001308 def +/norminv { + 5 dict begin + neg 1 add 1 exch div ln 2 mul sqrt + /t exch def + /t2 t dup mul def + /t3 t2 t mul def + c@_0 c@_1 t mul add c@_2 t2 mul add 1 d@_1 t mul add + d@_2 t2 mul add d@_3 t3 mul add div neg t add + end +} def +%end{norminv Michael Sharpe} +% +% +% END pst-math.pro + +%%EndProcSet +%%BeginProcSet: pstricks-add.pro 0 0 +%% $Id: pstricks-add.pro 328 2010-05-24 15:56:43Z herbert $ +% PostScript prologue for pstricks-add.tex. +% Version 0.23, 2009/12/17 +% +/tx@addDict 410 dict def tx@addDict begin +%% +realtime srand % set random generator +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +/GTriangle { + gsave + /mtrx CM def + /colorA ED /colorB ED /colorC ED % save the colors + /yA ED /xA ED % save the origin + xA yA translate + rotate % \psk@gangle + /yB ED /xB ED /yC ED /xC ED % save other coordinates + /ds [ % save data in a array + 0 0 0 colorA aload pop % fd x y xr xg xb + 0 xB xA sub yB yA sub colorB aload pop + 0 xC xA sub yC yA sub colorC aload pop +% 1 xC xB add yB colorA aload pop % for use with 4 points ABCD + ] def + newpath + << + /ShadingType 4 % single Gouraud + /ColorSpace [ /DeviceRGB ] + /DataSource ds + >> + shfill + closepath + mtrx + setmatrix grestore} def +% +/RGBtoCMYK { % on stack r g b -> C M Y K + 3 dict begin + /Blue ED /Green ED /Red ED + 1 Red sub % Cyan + 1 Green sub % Magenta + 1 Blue sub % Yellow + 0 % Black + end +} def +% +/CMYKtoGRAY { % on stack c m y k -> gray + exch 0.11 mul add + exch 0.59 mul add + exch 0.3 mul add + dup 1 gt { pop 1 } if + neg 1 add +} def +% +/RGBtoGRAY { % on stack r g b -> gray + 0.11 mul + exch 0.59 mul add + exch 0.3 mul add +} def +% +/HSBtoGRAY { + 6 dict begin + /b exch def + /s exch def 6 mul dup cvi dup + /i exch def sub + /f exch def + /F [[0 1 f sub 1][f 0 1][1 0 1 f sub][1 f 0][1 f sub 1 0][0 1 f][0 1 1]] def + F i get { s mul neg 1 add b mul} forall + 0.11 mul + exch 0.59 mul add + exch 0.3 mul add + end +} def +% +%% convertisseur longueur d'onde ->R,G,B Manuel Luque +%% lambda max=780 nanometres +%% lambda min=380 nanometres +%% adaptation de : +%% http://www.physics.sfasu.edu/astro/color.html +%% www.efg2.com/lab +% +/Gamma 0.8 def +/calculateRGB { + lambda 379 le {/Red 0 def /Green 0 def /Blue 0 def} if + lambda 781 ge {/Red 0 def /Green 0 def /Blue 0 def} if + lambda 380 ge {lambda 439 le { + /R {lambda 440 sub neg 440 380 sub div} def + /Red R factor mul Gamma exp def + /G 0 def + /Green G factor mul Gamma exp def + /B 1 def + /Blue B factor mul Gamma exp def} if + } if + lambda 440 ge { lambda 489 le { + /G {lambda 440 sub 490 440 sub div} def + /Green G factor mul Gamma exp def + /R 0 def /Red 0 def + /B 1 def + /Blue B factor mul Gamma exp def } if + } if + lambda 490 ge {lambda 509 le { + /B {lambda 510 sub neg 510 490 sub div} def + /Blue B factor mul Gamma exp def + /R 0 def /Red 0 def + /G 1 def + /Green G factor mul Gamma exp def } if + } if + lambda 510 ge {lambda 579 le { + /R {lambda 510 sub 580 510 sub div } def + /Red R factor mul Gamma exp def + /Blue 0 def + /G 1 def + /Green G factor mul Gamma exp def } if + } if + lambda 580 ge {lambda 644 le { + /G {lambda 645 sub neg 645 580 sub div } def + /Green G factor mul Gamma exp def + /Blue 0 def + /R 1 def + /Red R factor mul Gamma exp def } if + } if + lambda 645 ge { lambda 780 le { + /Red 1 factor mul Gamma exp def + /Blue 0 def + /Green 0 def } if + } if +} def +% +/factor { + lambda 380 ge {lambda 419 le { 0.3 0.7 lambda 380 sub mul 420 380 sub div add} if } if + lambda 420 ge {lambda 700 le { 1 } if } if + lambda 701 ge {lambda 780 le { 0.3 0.7 780 lambda sub mul 780 700 sub div add} if } if +} def +% +/wavelengthToRGB { % the wavelength in nm must be on top of the stack + cvi /lambda exch def % no floating point here + calculateRGB +} def % now the colors are saved in Red Green Blue +% +/wavelengthToGRAY { % the wavelength in nm must be on top of the stack + cvi /lambda exch def % no floating point here + calculateRGB + Red Green Blue RGBtoGRAY +} def % now the gray color is on the stack +% +/wavelengthToCMYK { % the wavelength in nm must be on top of the stack + cvi /lambda exch def % no floating point here + gsave + calculateRGB Red Green Blue RGBtoCMYK + /Black ED /Yellow ED /Magenta ED /Cyan ED + grestore +} def % now the colors are saved in Cyan Magenta Yellow Black +% +/axfill { + 8 dict begin + /xw exch def /nl exch def + /C1 exch def /y1 exch def/x1 exch def + /C0 exch def /y0 exch def/x0 exch def + << /ShadingType 2 + /ColorSpace /DeviceRGB + /Coords [ x0 y0 x1 y1 ] + /EmulatorHints [ xw 2 div dup ] + /Function << + /FunctionType 2 + /Domain [0 1] + /C0 C0 + /C1 C1 + /N 1 + >> + >> shfill + end +} bind def +% +%/amplHand {.8} def +%/dtHand 2 def +/varHand { rand sin amplHand mul add } def +/MovetoByHand { moveto } def +%/MovetoByHand { /y0 ED /x0 ED x0 y0 moveto } def +/LinetoByHand { 4 dict begin + /y1 ED /x1 ED + currentpoint /y0 ED /x0 ED + x0 x1 sub dup mul y0 y1 sub dup mul add sqrt /dEnd ED + 0 dtHand dEnd { dup + x1 x0 sub mul dEnd div x0 add varHand exch + y1 y0 sub mul dEnd div y0 add varHand lineto + } for +% /x0 x1 def /y0 y1 def + end +} def +% +end +% +% END pstricks-add.pro + +%%EndProcSet +%%BeginProcSet: cm-super-t2a.enc 0 0 +% This file is generated from `T2Auni.map' and `glyphlist.txt', `gl-other.txt' +% +% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ; +% LIGKERN quoteleft quoteleft =: quotedblleft ; +% LIGKERN quoteright quoteright =: quotedblright ; +% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ; +% LIGKERN greater greater =: guillemotright ; +% LIGKERN f f =: ff ; f i =: fi ; f l =: fl ; ff i =: ffi ; ff l =: ffl ; +% +% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ; +% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ; +% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ; +% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ; +% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ; +% LIGKERN nine {} * ; * {} nine ; +% +/T2AEncoding [ +% 0x00 +/grave +/acute +/circumflex +/tilde +/dieresis +/hungarumlaut +/ring +/caron +/breve +/macron +/dotaccent +/cedilla +/ogonek +/uni04C0 +/angleleft +/angleright +% 0x10 +/quotedblleft +/quotedblright +/cyrflex +/dblgrave +/cyrbreve +/endash +/emdash.cyr % CYRILLIC EM DASH +/afii61664 +/perthousandzero % PERTHOUSAND ZERO +/dotlessi +/dotlessj +/ff +/fi +/fl +/ffi +/ffl +% 0x20 +/uni2423 +/exclam +/quotedbl +/numbersign +/dollar +/percent +/ampersand +/quoteright +/parenleft +/parenright +/asterisk +/plus +/comma +/hyphen +/period +/slash +% 0x30 +/zero +/one +/two +/three +/four +/five +/six +/seven +/eight +/nine +/colon +/semicolon +/less +/equal +/greater +/question +% 0x40 +/at +/A +/B +/C +/D +/E +/F +/G +/H +/I +/J +/K +/L +/M +/N +/O +% 0x50 +/P +/Q +/R +/S +/T +/U +/V +/W +/X +/Y +/Z +/bracketleft +/backslash +/bracketright +/asciicircum +/underscore +% 0x60 +/quoteleft +/a +/b +/c +/d +/e +/f +/g +/h +/i +/j +/k +/l +/m +/n +/o +% 0x70 +/p +/q +/r +/s +/t +/u +/v +/w +/x +/y +/z +/braceleft +/bar +/braceright +/asciitilde +/hyphen.alt % HANGING HYPHEN +% 0x80 +/afii10050 +/uni0492 +/afii10051 +/afii10060 +/uni04BA +/uni0496 +/uni0498 +/afii10058 +/afii10056 +/uni049A +/uni04A0 +/uni049C +/uni04D4 +/uni04A2 +/uni04A4 +/afii10054 +% 0x90 +/uni04E8 +/uni04AA +/afii10062 +/uni04AE +/uni04B0 +/uni04B2 +/afii10145 +/uni04B8 +/uni04B6 +/afii10053 +/uni04D8 +/afii10059 +/afii10023 +/afii61352 +/currency +/section +% 0xA0 +/afii10098 +/uni0493 +/afii10099 +/afii10108 +/uni04BB +/uni0497 +/uni0499 +/afii10106 +/afii10104 +/uni049B +/uni04A1 +/uni049D +/uni04D5 +/uni04A3 +/uni04A5 +/afii10102 +% 0xB0 +/uni04E9 +/uni04AB +/afii10110 +/uni04AF +/uni04B1 +/uni04B3 +/afii10193 +/uni04B9 +/uni04B7 +/afii10101 +/afii10846 +/afii10107 +/afii10071 +/quotedblbase +/guillemotleft.cyr +/guillemotright.cyr +% 0xC0 +/afii10017 +/afii10018 +/afii10019 +/afii10020 +/afii10021 +/afii10022 +/afii10024 +/afii10025 +/afii10026 +/afii10027 +/afii10028 +/afii10029 +/afii10030 +/afii10031 +/afii10032 +/afii10033 +% 0xD0 +/afii10034 +/afii10035 +/afii10036 +/afii10037 +/afii10038 +/afii10039 +/afii10040 +/afii10041 +/afii10042 +/afii10043 +/afii10044 +/afii10045 +/afii10046 +/afii10047 +/afii10048 +/afii10049 +% 0xE0 +/afii10065 +/afii10066 +/afii10067 +/afii10068 +/afii10069 +/afii10070 +/afii10072 +/afii10073 +/afii10074 +/afii10075 +/afii10076 +/afii10077 +/afii10078 +/afii10079 +/afii10080 +/afii10081 +% 0xF0 +/afii10082 +/afii10083 +/afii10084 +/afii10085 +/afii10086 +/afii10087 +/afii10088 +/afii10089 +/afii10090 +/afii10091 +/afii10092 +/afii10093 +/afii10094 +/afii10095 +/afii10096 +/afii10097 +] def + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro 0 0 +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +TeXDict begin @defspecial + + systemdict /pdfmark known{userdict /?pdfmark systemdict /exec get +put}{userdict /?pdfmark systemdict /pop get put userdict /pdfmark systemdict +/cleartomark get put}ifelse + + /DvipsToPDF{72.27 mul Resolution div} def/PDFToDvips{72.27 div Resolution +mul} def/BPToDvips{72 div Resolution mul}def/BorderArrayPatch{[exch{dup +dup type/integertype eq exch type/realtype eq or{BPToDvips}if}forall]}def/HyperBorder +{1 PDFToDvips} def/H.V {pdf@hoff pdf@voff null} def/H.B {/Rect[pdf@llx +pdf@lly pdf@urx pdf@ury]} def/H.S {currentpoint HyperBorder add /pdf@lly +exch def dup DvipsToPDF 72 add /pdf@hoff exch def HyperBorder sub /pdf@llx +exch def} def/H.L {2 sub dup/HyperBasePt exch def PDFToDvips /HyperBaseDvips +exch def currentpoint HyperBaseDvips sub /pdf@ury exch def/pdf@urx +exch def} def/H.A {H.L currentpoint exch pop vsize 72 sub exch DvipsToPDF +HyperBasePt sub sub /pdf@voff exch def} def/H.R {currentpoint HyperBorder +sub /pdf@ury exch def HyperBorder add /pdf@urx exch def currentpoint +exch pop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def} def + +@fedspecial end +%%BeginFont: CMTI7 +%!PS-AdobeFont-1.0: CMTI7 003.002 +%%Title: CMTI7 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI7. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTI7 known{/CMTI7 findfont dup/UniqueID known{dup +/UniqueID get 5000825 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTI7 def +/FontBBox {-27 -250 1268 750 }readonly def +/UniqueID 5000825 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI7.) readonly def +/FullName (CMTI7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C525641D2B175DB6E +FE5425043CA62CE886B802B23F41D33FF06CB9EAB7DCFEE2AB63C1333D9B042F +B0A32D7634E2BC65BD7B7C53695C585079EBE138B40ED4BC7D06B30C88B5E0C8 +E93FF20138D513B24866986C4A633304FC4945EA8A6C6BFFBA1FDCC8F7474BA3 +D997548C23060E15A15687E9B58A8D2E2D749776BA364A2E28FB03DA767645CF +34BC9E787E5D3A5B05F67D169D710592108F4647A0004F71159950253FCF9A25 +028DBDB4FCDB2AB5F17E49A5DEE3C366C693E0784A4D036F92FC97F1C0A0C08D +E3FD9FB57AA80ADCBF047193DC787C35FB3237AB63613A9244727FB93754EDFC +323A8B936100717C26AFD2A4EC3F66C438FECC2D6EC4C2728ED313AFE51896DE +9BB5E98049A4940FE2EC90074C0EF991AD2073AE06B7AA62C2D6A1E74E72D3D3 +739BF7461E7AD856263A57673F6C7E33C07E330A9486B20BC9FE4D2908DBAE9C +1078C36AD01B070C267BE3A1C8D1212DEC9CB71683F464783AA3503DD646FFF8 +C0D859A4356E4995246790E5A2FFE5D46CDCE889E32516264498AE92D769897C +A8E5FCA9C15392A3AC0BEE3573EE14EABE243E07F10E33BCFB4CDFC7AEFEAB6C +F62C21EE29CFAA994A575D56C692C6E040FABBFBC5C0C79A23174E728658C967 +A64D87103716B3D29D724DAFFFD2DB429F9C60EA4CE589C3B5FDFC57297CE277 +80E9A72FFED79394E57C4CE22C5CD55433B3BB329F78F35B25BB3F635DD11897 +75C1BE2A808F26E0840D95A04FE7FE0A85B2513745D1FCA46A54BC1EABF596B4 +F0344BE1A8297EC0E7932E1C82051868BF9A463ABFE0C63ED8F0760A44DEB196 +4643D15E499017B5BCC3D28C576A2E0523BC3C282FC3D078B4F944B22506D29D +8EADCD89A7E73BBA812C34E4D2728C387AFFD3BC4776236A1DD646ACF4ABD7FF +6A09AFC5EEDFC35F3E9A3C0BE49425D85B0E1A935DD5C076062888DA3B4DBD7C +72BD35B29BBF1042EC8A64E64AC472D3E446FFC36FE86ED8B95B65E6756EBF02 +FFB1FA08D7CDD1A5104AFDDBAB721951E5BB5D091BE3F827DE1D2667ABFF201F +AFEFEC030C90440D358259A25A2BC111BB56B3E53E5BE0AC8E366CF112C289A5 +48442A1E48C0115DF1119349ACB1FE6983D805071DC20D576D9267AACA497EFE +CEF2593A4AC5AF2167627B00C5EA97D125EB8A47E58CD9B213D74F2D37F8E474 +D9E3EFE626E138F6B09EC1B90E207C2DE0539CF5AAB4A5CDC331B295D8202562 +8482DA317D4BA1404A291D299E0A0F6024696EA9225E4C7B15839F733EC4BFFD +E85B7CE1F0883A5A0B4544E534015E25DF3BF5305682C20B1625C3C6A5700087 +72969CBE2D79712C8EBB9F9776DA3D6A7A35C79C6508F8962B1E34007F4F9EB3 +E4BBED40B4C76C56974838F6296ACFE974A249F80FFD668AA8159841E46DE0D2 +6A5BA7E19B006D7DECFE918E0B792F4D0C04FA774F6B399E165F7687B4962646 +2595E5B24DAAA8BB1BF33B972776A258F3D039FFA6CAC49B3274F193070D95EF +B96B07A2C5A413FE43C59F6D8F843795472ABE1F73107C0F5A5B9274CFF2346E +7627355D5E7B3B3451C89DF5572F4E9BDCAF526425B34D71875B515E62DA8609 +B45B1BEA5002053BC1F0896E9FBFC00A83FC660BBC5258426108155DA6C00024 +AAF2DA69949B5DB8D9EA06A599F2B277E45DB331C6BC2F40660A33BB33FA468C +9F8C6B65CB2E273BE3E076B0C57680E227163C6183C06A4308A0285526E98445 +8763C550EE9422B987AF5EA62E89630C007C63E4BB5FFF01BC59793A20DDD35C +BFB5C79B5416EF06B967B572F3C58ECB0A3798C438778F42DCE24943ED290743 +6CD8F32177192AD8EF12373CA6E493DA0F045C1CFDDCD49F6E4C067324CA0A3B +389CFF8E2C408D8A4083427D4DD8CE33ACB202800A75E581404334E3A910EE37 +9B6DBD1D296C8C164B7B9E1B744A09AAB39963E396F5EAF36D7A02FAC04A666F +6184E9CD0BC31B6C3ECD327960336FB1F9F9EB3B63284E0BEFF29DF468916260 +15E6DC9206DDD65F43D75762520C3D6D221FBCBC530EA8ACD715995411F785DD +212848B1DAF379667F67763E6E4AEDE090130D1632153135992A292A12541702 +3CCECE5CC690C755E8D6F4FEB9D0C1F5C7BE9E5388520CFB9F705F227E131FD2 +ECF6FAEAF05ADC9D7343FCB8CDA6CACF0A89DA6E2F0F58DD74ACD2A670F3AAAC +51C82B11ACF98BBCD1D1DC49E6A8B9815116137E9DE4E3975D3363779165F11A +4EE8B49058750A45DF8D3548CB628EF51A05B36FE8317A864CC5126C073A056F +A1F3DFC27F4A5516782E58C26CDBB2C24693F66FA7BDE6430184675C5BDE38B8 +FB08777618A8057F0B8102B14A9122214037FB150322003A0B4EC789F94863C4 +7DB0F028D37EBE23863834060E0E7A557B97E9C83B3D1765C08A86A5BC59EAF9 +356A0B1A4652044F5757B3CAF077A53D09FAC644D69B3C8FF220E23AC9461FAF +3EDCE217FC3222278BFBFAE76E8A3BE95920C58711CE421E21B3208438871E76 +468EABB998E3B8C5A914F2E6D8F3A8390A3F3802843FF261BD4629F369E1E5ED +9A94C4B2724D31091117DBF20F6857873BFCCFEC228FDF1F42DE699A5B3F6633 +00EFE62983F273CF97E171823BD3A4B2275D0D7B4980357B1CA613F8383C90FC +080A28C3CA09B30FB156C508C88DA67EA995A4805C0F56A0169CE2F4F165BC67 +75D9256A9A182D17804CC75DC09E4195DADA5AB7410132B32AC9FFBD8E91F0EC +5E16F90B4845926B31240ED66CF7E7B30B09A2F0A8B5321E1D41A85C5BC9592B +81E62AB9E1C7689F5F3DD004B32D2F2DFCFF536FA73B708EEB1EC50431F01831 +497CF6907E3E0AE42240C1F95CF761BD7C6D063805D473C94371C07CA1065F38 +B6B75779F8B4B08993CD240F4ECA804E083034BA706FC89997A900A368D1F65C +E4D4035CA5F16EE160DA90FE84F81DFDD7B89928BBA041CE048841E96F90934B +877CC64D608B2AEC9BEE8B80A0E5181EB32F93463F93E7A2EA94AE70A60CFB8E +94FB7B11A47D9F8CD338296F9B8993BCE0B89AECB520FCE80452B8C5668A7BE1 +65484C4F33340EAE118D1DD35772DCA7EE26E9D3097832357431FA2EC7AB1FC9 +50E5C8CF1AC6CE26AC96066F5E1141461BC4E9B5D9E8238D6344C201FE1AB5A9 +EA45B0714D1BE5DC27C06046BA9A3715129D41065DA246AA3CA2B2C81B1AD030 +1218981023F8F5C0C500FCA63C4F745CEC91A8DA9B80BDB28DFC525950F82EC2 +E7867CA9E096DA38FF5CE0DE0DDF7033F4CD1EBE11273B1373B76168930EBBFD +0A80E139FA67DAD2DE2F3F5A8233BBEB24354254171B18D4195F613047E63686 +90FE10D47434A7DD0C619F2514DC5A46A4075E7B8BA6677E38956368F84158A0 +CB37CF43C2E48A3856C0BA0F69BCD63F6782D8475D955566104C34C0453E01F0 +9AA0091C9BEB71FCF385D90027C0E69AD0EB7C91B61B2976E31BF9D9AAE65588 +498881E5F9AD116E6D4DEAE2182FB848DCED82868355E08D395E1AD26EDB5C24 +9B92294E3DF2D11314DA237CDF52A5689AA1FA4E49C4A82381E5C8638B9186CB +633333610FF4112D7D02C3CA9AA6B44F5CAC4582EA66542B552A88598A759F3B +E3DBC0443A40B25DEFC7DC0114E5465FEBC3543E82494CA44FF09613103941F4 +6BA67CE6FFA9BE0FE7A71A1BC60ED190BED3C0B3E7A7702520631D0A730231E5 +F3B53095017F80525DC287F0A8400E1630A3D92F076A13E5E3D947F9F0277FCB +890123AF04932938C6938D7533D2429E580566681049AFD0AC057B59708BADF0 +8FC7E5DF40CBD80F49503331A81A5C56375F5BFB4C4BCA6FC94B7C6FAFAEF6DA +93C704F907BF8558173DAAA78588CD8C7D1B13F838AE94C4E5152C29CBC171C5 +B8B3146FB0CE369F0B0CEAE5EC657E60E74321BAA347D2307CC55DCFE06E47BF +FFDB7A813FC6D30C0FCE5BD3E77393CFC51B38EF275C84C866E69CA9C74C9AB4 +A6A6DC7D12DB626552D87856DDD69AD28AECDC9756A00A0D32257A43D6E9CDAB +C8127E06C4FB513129926FF0395F0CC1C2D808C97635D33BA2F8C833F2F84F66 +3B05BDE41F950EEDEE73DF90F644ECD7A72CB2CFEC1FCF17A867E0B0C0F5A7AA +59AF4501570A50EB302F85E542BD29ABA6D74332400F4C8365C3C9E988752F99 +B839B7A0F630C740BE32D1486981D8000FF636C90F694FE379FC0709EE7CC746 +F883810903E238C932073A90AC78E8F7DF9583C1152C559A6CCD3E5C7C0BCAB9 +73AF3DFA8615A7F299FCF7CE7206D5F4B9040D387CD3C52DBD08E0E9A80C9616 +5EA0EB493768C53E93FCE41BCCE064A047BE8C050266583ABAFED74E2B968BF8 +6CE1507105B9503D6FC29CE61BF07ED568B0F1497796B6CF781E7262762C1675 +F25E86F56CBD7E68B03350481DEFD02438DCFBB7EE50FF276387740E79E5CFB2 +CD7A6FA367377707DF63029ECDEC47A4EAD2C87CF75E4A9112444FB2B5BE55B6 +C25515FF648509AD54D739CDF040FCC34B6A88788E0372528E9B112FDB8C7843 +5D557151B6FCEE99F53BD5FFF13026B95ECBAC75A0EF4F856D2F150817B0CC7E +20AB39ACEDC30E1B777C6F06D3B893DAC73FAEEDD93EFE3346C6255DEE89E26D +E279834A7C2FF9FC63E5BB9AF74295CC5F8C6CEE33046B00DAB455A40FD74A3F +B7D9B4251448507F2463443E9141E68D6C244EE00D1E009E7F739AA650C7A651 +4901CBF31A83D7A188F7980E74F75BE0EBBDAF01F106293F5E56FE9A440E5CF5 +89C2C6FD9026198136C5F0B51DC53C878577C932E2B2B549B3FEA7B8D12CAC8F +B975965E6805C79A02A08779D78D582548412620F69F70908E351852CBE389B8 +A2084B98B072902E74E59ABE2E32531475866B3C5E515DD140B3BD06F77FE41F +8D7ABAD142B5DD71CE0FB171D93C72C1C113397D5C6BCA124297997581284FDF +3655C15DEF9EBEFB6EBA58153BAB51631CF70FF79180B28411419303B349E7B5 +CFB24E53E6383A11041562E4F938100EA504B10FE0B58D0036273D44AEA380C8 +D14901EACF5B826685E27B15D9C81F0C6E4581DFA876650C6F708A65937DBC9E +D53DA2057F6796D4CF06F7ACDAA3858386DB21B6E14CE1A4351C9B190BE38A5D +2A59CABDAA767FCE533243C6129DBC22634E979EDADD3B8E9B6C9407ADED11CB +E7DE1E57DA279A804612FF97E38F78A88B9A65186D33DE5043F2681518036CB6 +05F77954E61B7231819803D8DB4FF8DB67F56A47893D2A65549AA44BB38739F9 +C34A17A00ED72D004C627212B84D5B521CE8160C0F4D6836F02F7FBDA4F7B159 +94A7A9719AFF6F28060D6798C25325F9B383F7BEFB70397BF0720C9D4DEE43CE +5A278D83310ACE58573A5C3A8B5CBBF50727556FED673F0E6D3D362B9A406127 +A35F11282B39178A7157A0AD5E3F6B324D8C83805C6F12659EC333C89B849631 +4CBAECBD29AAB3075239D0D3840D49EE57C23AE53DEEFA123810371BA2F44EBF +C8DC4BD214933E60B17971AFA46F64389621AE2037946772D7357164850C7EEF +9454DC7000DBA7F66EBF61BC00C46ACFE18C346C984477181FD298E5A2EA60C8 +BDCAED5006C6DAE30796D7FE32FFB67EA010C68701A0310C07F97F04B928AA48 +7964C458ECC4EC69A47DE4035AA97F97DD83E0BB9013833154D013E84204D9B7 +FCFD0804760635839FB6CAD93935654EE8C9B7AC136DEE00EDD88D693A50FE11 +2FE74E9B91DF1B2B4CD1E0E4AB2533A56CC0AD18305753A244620CD879ECB18D +473DABE960D6ACDFC3FC0ACB06A42DCCA04D73E18CD6E53123869411140CC9BB +06F7B54717E6437979E88248F7364602F4117968131676F4B8B05AE44FB24B2A +517FD4A7E3FAC0848F01788425C9497445B09F50FAA7DD10718F74DD7EAE0435 +83AA8BB6BB68247DF6862EA85923F1FB13EB660D9F361989AE7D2F6E4C720D80 +7B3D28C17D150ED27A89B5DD2C53DB1C1FCFC9DDE0AAF18FEF819FCF7EB75616 +610CA0101EBDFE9FBF4A9A2A0687071331B07DB41E666F7186E5AA42BBA3D76D +9E2C0A1172F00DA496C9145ECB1CC5C900593C5BBFDB66C73B65A69B8E9887CB +7E8E4D4137123E9E22D1F08CB3B7CBDBE40A36D4C51FDEAB241B7C00BD0D2B7B +D493700B99FD83DAEBBA8E35A1B01105FEED52E133271E1F9FF215DA20CEAF59 +FFB2D74563ED4317B3C56E3F58F367FA2D285916CA08CE517EDD722E8B06CDA5 +F59F90BB13E2579B133C2D645F5DF5EEAE8A18D6115DB17DBADE038B8DEC5D71 +B71F9203ADBDAC8CDE2A75ED88219E4D32847F1D5B1C0B74D6E03B74CF27DBC2 +B4A0A1828F238B498664555F6DCB51A05ACB5F4669BFFF59D90ED267113C3CE4 +BB7AA57C660229728175C2E11D451C4F132572CA8895D3963528AB7F4B65E4B7 +F359DFC14A05E2211538FB21B4D0DC4AAB98F06AED736CCA3662CCBA0D937B3E +DEC8B155790F5A37CEC51BF0A85A309871028A67C2C3C451FED7FA0D45FE2437 +B1C1550DBE4A512AFEA4679A30FA62B0BD33925AB97798CCC88AF9F5066ED9A0 +818B1FD2A2954709907475074CAAC88363706F7C4AF74800974BFA1F0A080B34 +8438DCD198325C68E88D3579FD298ED4F6C747E0335D2A4218BF03D95E6ECBC2 +80A094FB09A5FB86923D79197F001EB06D4640CEEC20FD2340926619393DE5CA +EEDB2FEBE0818CE00B01ECB5834DB9395671C985FADC459805E29A7E640049C7 +E70F06036015E4C4D1F6EF105AA6D1414F6DDF186D2B751F3DAB51F03819A8BC +1BF747716A4B3150E2FD10C1FF5009739F7FDF01980167219D33534D77945B09 +1A12A93E748613E9998276569D1D97134980ABADCE4511795EA176B1F5358235 +909E52F8512E6BDFB95AE41ABE56D672FA606B69D8361438805548ADFBB35F1E +CCF286DD2C100E646AB14FD73A283903D0DDD8CD8DC214A665B117C9D263C716 +DA3460FC43621B9176D2E7E4920C4A068D6C13DBD4BCC1D4E7F790A8F9FFD349 +EB48FFDB1B70376756E41C75EB4956CC901C6901BDC7F3F4AE48660E59B7B3F9 +818F4D87D4D9DAAF84B4D947F0DA57CCDF44D2C03FC9BDC48B2D2311B140DA11 +3485996DEC121F96567B91F2FD7AA9B39DE9504C23A6BD69A07E00C52A5A8B80 +A42C8D10E764C3F9ACF723D221D29CF701E8CB168B50699BC434EB3793C19457 +78EBBD462218F249BC2CB3B97315EDF9A1209C817EE4BFAFEDFDA894B8808B26 +CA587CB7739FB7A91B9FFF302E727AD2EFE0BA46EF95A1F21A9C32B2B4F4FAA2 +1F7036CCAA6ACAF7440FCD1E571DA4AED838F9EF1007EF7B8248981B8B15165F +733A0B6FB8D697B5758FF0E632246938A19BA25F3D5594C7EEE79D45A48972A6 +8F66701041F42F42563CF2C57E9E9C173C365EBB414895045085951648719AC4 +CFD520A335DE30DE06E7D13107EDEA3C4BEA82335E6063F2C47953AB23288ACA +F9A9010EBB8BC97EF4B1A21FC6670A8DCBF67943B672F7782D3EF1BC773C95E1 +3523B5197F0E8920EDA0A2A4A857DF028AC0399DF5BB1E95642D39F8FF740370 +3C8E4E80F6E4A00CC55A13A6C722A77268F33FA16B94230CDF2109F52AC97282 +65ABE9C3BD2AA33CAFB4A15659737A36081C13D02F8FBBA8AA1CE951FD498D47 +3FF1E448D7655E28E1D3F07B0EA05F5A756073B85FEACB5E957EFA5E03C8ABED +088D7F3118CC190632BDEA2B646DABE0CB35B69369C888AAB955C1C41F01D4B9 +8559AD18A4180053B7E9268CF93B9763BA70C77A829AE89EF45B04602E42C6C0 +B9768CC5723E28652053FE405016E1B8F6DBAA629B78A8211BCD40FAEB10782D +5B82ECFE97A524374BCB3721B63707254C53A523120636C294C00F85B09FC649 +0E2B44BD08F8EF9F9AEBB3E81E96F921AEEEAA6CBBD95228CC6A5AED354CCC47 +34D8606F88420E963EF20049FFB86DDA1C41E625A80D55975AC5DA348656E87D +F959F4D94FA23125502C9CCBDE79158D00FF6B8AFF1E0C2B43F5314E693CDCBA +9D643E9DF2801F52835E8586284247634E941D0079BAA75740D33A15E776E27D +7356C1062654690D2B2896781AD675273E4E179894830561351EBE2054280EFB +4BA5EDD3FB10763911AB574C7FAB6920079A4C7104DA53F564F40376D068DFCD +60003A21D7EF05203396667443355ED6D755FDD063A5835079C8B7FB2AFA58CC +21A892FD89DDDBFDA976C49A83D3439EFB7CB42AE298DF55AA04FA236DD4C84E +7E2BF19EC08A12612B7804B3A1CED52922E0AB7F80025FB2BC7CC7220C7E66F4 +F2FFFE2DC97711C85D2A854B379BC82A29939C500DB209860593F6A7E9035D06 +B4780E45489510921809980AA0 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSY10 +%!PS-AdobeFont-1.0: CMSY10 003.002 +%%Title: CMSY10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup +/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY10 def +/FontBBox {-29 -960 1116 775 }readonly def +/UniqueID 5096651 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 120 /section put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4 +3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021 +91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2 +E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A +11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97 +C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857 +D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20 +B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3 +93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F +10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D +7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF +B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B +491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB +F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6 +019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6 +915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36 +356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0 +5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D +9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64 +3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1 +FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252 +720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5 +D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726 +BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5 +7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377 +DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56 +AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7 +A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E +0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743 +AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18 +CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023 +0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD +5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B +5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F +E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB +54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809 +E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F +A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906 +4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378 +4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4 +038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4 +B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308 +5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC +B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837 +A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD +2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D +CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246 +455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE +FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03 +16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C +16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F +483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352 +67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2 +3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472 +1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770 +93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA +051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B +8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4 +8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436 +6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0 +06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7 +84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0 +D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6 +DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB +0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD +8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC +C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34 +754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406 +1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05 +CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523 +1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F +153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02 +905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718 +617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2 +8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A +98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278 +53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B +888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D +052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A +CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501 +A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F +07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56 +B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672 +10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2 +CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D +3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12 +D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F +849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16 +648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE +84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA +2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD +2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204 +9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0 +B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B +D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7 +135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE +EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939 +C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782 +7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0 +4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2 +9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171 +050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486 +3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271 +C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8 +843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342 +CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B +B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50 +3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175 +19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946 +FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0 +17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6 +8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B +CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003 +F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194 +1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E +4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194 +2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929 +9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593 +E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB +8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB +BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027 +04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5 +C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404 +ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C +4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909 +84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6 +C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6 +09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777 +D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503 +56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF +035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB +FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333 +CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663 +B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A +F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD +CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B +0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C +B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9 +33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6 +4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D +F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E +2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A +CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5 +88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37 +17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0 +55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A +A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50 +2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3 +406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8 +AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B +60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388 +C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6 +5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50 +822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E +94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02 +D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA +343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE +894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5 +DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327 +DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F +8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324 +A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA +DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270 +E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947 +DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC +4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653 +5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1 +02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8 +88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70EB02A +60651FC2E263002D3986B7B20CC2AA08330B9FC2E26765CD52266969A86EE30E +71E0B41B6C1C6DA423D3A7E1553D2FAF26EF40DC183099322D362E4965695C52 +9FC3E5BD7ABD743CDCB717DB10372A722A39CE53FABB454EADE2179C4CBFC016 +A8E893C28EF549CA1692C8D8ADFC471DCCDE266FB4E97A1F3035801F3F034D44 +AE6ADA0192657E8078A1D27420093FEBA111333314658021B90DA4E7A8D4B829 +F1795501020D5FF0AD25584C1D57D87BB7871ED859BFD1BFEDC15EC6ECBB7011 +67E52CC9234CFE6188BDFD6D28BA6BC46D3D6DD5F92C92544B9443A6AD81CA17 +9B78F6601C9B3EAEFD7B3DE8CE8A0B1844BACE90971F4795842AA110AEB35008 +AFFF3EB61BC66C4286758FDD6456130C434FC887858BB213A9579F4DFA8B08A2 +4E5C2A52C50B26E621B95319F58A396E71CF6CE1FE150CFDE951C5930A164117 +D50F53563BBED7E2958BF8C44B94DF155CE49EFF889A72E80FA91164D07F3918 +3E8F90ACEF29867634D20799F3A8A13A8B75D965417030450B5F9212D84CE0A1 +BDE1320C5EC0BE67F0498F3AA48FB1F0C4CC62AF5615A65DDA620D66F843BE89 +F17C4F525076B548E0DEC9A45052D08ECC498D4BB0C17B222A9AFD298724F181 +56FA4E5EB2576F18769C14C35C25993D +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: SFRM1000 +%!FontType1-1.0: SFRM1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>. +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecrm1000, tcrm1000, larm1000, lbrm1000, lcrm1000, rxrm1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Roman) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Medium) def +end readonly def +/FontName /SFRM1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-189 -321 1456 937}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E48759F267FE330B57DF626EBF73D2779A4A6B462AE6E5 +19E5878939A488F2FE1094A76925CD24DAD4573AD3CF34E426708CF06E7EBFFC +BEF5595408106E2189F418D17AD510ED5B6A528E8902AA3A5F0FF52AE3DEAB07 +32F06B63E28BB88229E046F4FF8A356BBDDE82DF2A197F2E26CA00D5594725A1 +83A89A36487EAAE1AC312C929CDCE50722FA6C596C261E4D78D6C6ABF77F5CCE +0E410ED74287A0F201140F8D9674A7AC585D3CBC72CCB824F9E1CEBD08AEDB3A +A4015CADF471F7ABD9B0F0AF73A8274FD441BC1988A61799856E4770155341D6 +516CD0E25BFA59B67AB7E0571DF3F5BA70AB52137D9E6A79EFADBE70CA05AC8D +991D0895C8FFC747FBC0E9A7212BAE6560B9E2B64FFCC58112E64A3B4CF7ECF7 +595F51C34AD1342F5678FE1E62EC5A389CF04E82B5F832914B91F921F30A7E32 +CA3919F57A2D9DE844CAAAC0DC751C255C9916595E8C9532E7A0A84A0AEFCACD +83EDE059FD06EEE9951473180B517F25F609F347DBA012AE9F004DC3C771777B +BE812787C3C50315D67254A384EB65F260943C6E16B2CDC64E15EEEDC67C5544 +8ADE9981A6867405E46222CACCEF79F9DC8674268BBBE1EFEC2187A75FB7FBF8 +CB2DB2134848DEA2F9CED443DCF561E7272B38F830871B2A5196A787924EF556 +4B7E9093ADD414ACBC10147944D216D351CC744DBC13B0749FD0A129D7C47983 +7FEC7FDDECB3FF4166FE295814B8EF751B79196DF6FB2F28CA8CB00807F682E5 +1F37B8DBFA6963E77ACF4A16586D58C87B0F882FD7BAD0A5173202958267F567 +6D66D0511364EB31556C37BA1973151C35046863FB4F3F5E6434479279EE110A +575DAF0531EC6A4D83FAAAA64995A7B97207724374CF283D0FEE36BBF7582F5B +CED7CEB37EBAFD8206E691F7D0D17C63527AFB2AC537B47C402716FD6C23FE57 +22BC8B95E994FF0C6A6469AFD70C020C711DA6F19D4C46B9DBCA6769B6FF2733 +21E813E7E86FDD3101BAB642B1553FA2642DFCDE99A053213ED3C70CBDBBF19F +C743F1F168B5A21E570C8DF7C108FEEEE50C825EF2714E974749A7317D535316 +2D369F1673DFEFFFA71E41E520792075672344DCEE4F9F1687F0FBBDFC25FBDA +0D8A6A1C3DAD8BDEEE8161AFD70C020C711DA6F19D4C46B9DBCA6F9D79D26E79 +9F1D26CDA56B940E651D0D4D017BD65B3ED72939301FFDBAAEC98AC821AFAD33 +5BEFBC695F2746A01CF510E684C7D589F29C9B5E0BB1C42C9A96843918976FB4 +22225AFE3A3F92B85B2D1EAA81D0F1D4BF85B1FBE305A01C6207D95271423B66 +11D3879FD381D567701AF1B0B0749E05027D5493A806A353E3265170C00076E4 +86ADADA8AF511EC5FE32E5834EE0CA7341F16665D0EC4DDE1F80C894D3049706 +CB5FF8EC37092ED0A93D27A2EE85982E48AAB7AFA36EBB74CE59EEBC8CDC41B5 +A08A3098954BBC19648F65AD5241827219F9BF72D4813A30646A85A3E9C558E1 +31B17DD5EBE155667B73C135EDF4295FA4DA7A1C9895AA3F6C1F61BD658159C8 +88E89E3E48BFA5BE91BD3DC050837B89D74F7872C976386C425054BCA530CF6C +7A33BCABA8689139753CED4E4AD623924858E2D38A7D4BDE1BC5D5EB4F85BE37 +AC869A6CFC87E1FCA5CD9D3B850D16B50260C9C30CFA7DD1FF25580BDDDF4106 +F5E5BE85533BE7D472D65C01DD80A54683E962767BDEF178B162417A7B7522EC +6B606CF186D582DD972C54BCA767918EC9225192DCF9AF7F4409C06926511480 +479F0307DD5A7B8E16D3FA14AE4D7C9AAF0789516E44D9E4187A63CE0397C28F +3414FA7B2C2D61BFCA9492B32DDE38885072B38149BEC1A5CCE0C84A4963D11F +2E56709565C8818A538DA896944A83934003AE6EC6CD98A11CF309661E2BC60C +143604AF24AFFC6126699DF619A02E659CA508BFB7697284F9D1B44FFCD31970 +F8CAD34EEB68EA6DB154204ED9DCE3E7E23FB72C2692041C4FF3728CD309F215 +414595B073EB8B80508C2EDC1C4DF8C38E89CE919F2A837D1397202EB314ABD4 +09CFD87B215EF9299486B7EE9D4CBEF1D42B2D5DF35592C3A28ACB384F4F0C01 +CAC17DC73091C42F7AC741CDFE7268453DA56BF31816E435F38EB8C23C5093A6 +162863EE9B7A881D2F2352217CB6BA4B3F58880A43FD7A9F5D3E2CB24D42FE33 +605E3C8345BCAE8E072279A50EBA843179D2A95808D1CE24CF78652958EB8A30 +ADAC715CF070A47C44BAD93D952A6763841D6D5207A8BDB9FF4385997C0EA83D +3AD039FE0720013D660C4BDFC2FCA9D28A6742AF910205C9B62146E86F913D6A +CD406A2E9041682E2C5192F197090EE5235882FFF6C169C9A3E1E6D2F4739971 +EDA2684391831CC4E37F45277B62E03769C06DB70A2626B6321ED398C79220B7 +B304F5F744EAF5DB260B14B3D5859FBE06922B232B0AC83BFAF49AA95B7C0C0D +3060AF32B145FE7CDB50F0C24D0AF11A161E21A6AB4CAA2CEDB52F9EC740EB57 +78E39C741CC32E2D7F209C93817387E1008E89241DEF3224534DFA43673A0E41 +90244B84241A7F524982C47DF34CB09E310FD1644CE582EB7FBDC53D90EDC6C9 +D0C2AD47B679838CD6DEC2BF89521C1664A09F906D7D4347562C404D0FE57EEF +2870E0A797E0EFBF9FC06108C2D3CA63159A0300C7F03BDC40678E627A5EBA53 +AF2DD411BE8E42D4B10E9085C6F770F2704FEDA818B81260A3A1AA4B2AC1083E +33A7800BBDCBDABC57592D173D97119C98ED76194C28DF9541BF4E95E51909FA +21A965428B0FC127B39D9A2488319CABD93BC84CF44FD1B87D580EC68142CFAB +9D75C4F6D6A73FB4C07FA71626373BC973423EA18C82839F55A8A6A0FEF2F923 +41A948A8F8DD351882D0FD4A250382DCDB836B55F212F19C2A5C008E3C422AD6 +A6011E641B73BD918AB2A143C4142FACF80F1249C3D953D33B6C8CD92A37EB6E +ABD8263983CDBA107F2C8E7A85BA09D427BC7A24441BAEA7F51AB95C11C210BD +B0C8F7D62D2446A2E1F94FC480077D037EA8DC31714AB4CFAC640686AD6277B1 +E978E94B1CDD91326981634512AF675BD1F1DBD790D61561AE5C0616226C44B1 +E472DE4B65DC86690B13EF02D74C31D8C21F3E56A714E0F32D58426AE5F0EE8B +851B995E240815E2A866A4A74D6EAE3F5360559EDAF5779D2B205C39C40D9E11 +850734F78DCDCA0C179B7644517394AEC07CD03845CC7EA6AEC3594DA32A4877 +94284ED0FA153FCF1F373CE79CC401F71407301BF2EB03C1ADBC77754FE919CB +EFA5C9999CD1C08162B9B486E52E15F7B5FC5500684228382F709FEF2F0E2FA7 +C04FBB62C5383E878AC4927C4ED480DA135D62E500F1CFA744FF88838E08E36E +D9A71B21499A87C0AD1446154D1B0CCBF61A17BD7C840A1CAE04C0B973F1D907 +8EF3FC556588F36CE870E720C069E1FB5510EB663BD4F4259E6596290A1977BC +CC8AAC45C94657B38B3D9CB2C1B402F33EF5020E537C383C054339C0B59D107D +1B47D0FAB417144C6D8E04034D6CB673308AAE1E717301AD77008B19009B3A8A +C75365FBA2F62C1B30E247FAAC7EF825F484170B90F4C84ECCB6E989D587ABB9 +715C492B257104ECDC5DEE84CB467AD76C2C39A3696712B9E797567533E6AE76 +83889239262AF3879A559E707AD15B7E245CE288FF2EDCBFFD84BF9CCE9E0398 +07F0FEDA4B043F9162C39E484DF8605EAA3705D32122B0282A3D3213526C1223 +4AA260E3D8461DEBEC4B6B172972FA8407B8F8AFBD91CAD98263AEAB5AD4CA15 +D3BB121D97C7395A2B076F4D900E9C3470E16B056015C1D27A302A38208B99EB +0B9BFE812FFF13B922F1FC0A070251AB09E2FA6A38AC067DDF9287A6DD0DF043 +72480238C3A58142A856E41F55E78C23332C8C45B0179F04613CECFDC108FDCF +E182AADFA502B592F29F4ECD69FD347A453EA719304A34AA5C72F2ED69E7254B +B077FDBE8CB8A5FBBF721E34F0139932876A8C1BDC0BB8CF777B6D4BFB54F373 +A9CDFFD3673734CF5BD8D26B30D7AEA555822BF5FD6C097D80179D2EFD2936C1 +B63D2AA73221F6C261FB223E55574BC6C5F188BA6CD7E211F0363C070B8712C3 +4ACFA5BBAFC4AE780BBE824682F67BF746E85C18EABBA5C8859118DCE36A4C67 +AD7E76C12BBC90944D371843611D0BB625E227C1394A02184F9EDEB92E92D518 +71AEBC24CFF248EC622A009826CA2F60B0166207F7F13475CD71A39B3C32BDF8 +A354C9CEC1281F967337DC487299AC4C0D7FF5DA27B164A6E789176FABEAB6E0 +BFB6DF84EFC5830D796F810686720C7300E1D7C5E3D6161FF626461B0D0857D1 +C425BB6FEC2597D681EB4AC7FE97768FE3268CF65119A1C563F00FB88D12C24E +EF8E6265DBE574300079E65214FF64BF79DE14D5021FF1F7A2B6AFEC021C3ED8 +52840E35B2EF8EC566BEAF52F586DE03A1E87A876B6089B8FB12422B0DF8A4E2 +4785C27689BEE6AFEF3A8A1EED73B68826B15C388DDB60F5B7127CC969CCF460 +9576ED3B57778C0135B45F94E83B6107150C7E075E43B2CAB8609B97E6B3DAA1 +159517D1805ED8C87D4208A4E413A919A1192B6422AC8380F3CA98AA0501F920 +58125B62B30FA33DC7471C53D6A975354A103E7F7EBDC73F2A3B22A8BD8CB8AC +FC88A922EA237D0913B251DB0ADD125F38A16182BFA3C525BA13383C7624269C +1DCA788959F10A53351BB61EE0F7D9B88CC93C4A05C660E5876D3E85F53F6D24 +9EE85EF5D1A629260CCAFE322EBD1F9588ACA9B0683F0E4E26CA876A37A89795 +E58F9AC8D492046291F076FBEC3EACD81F2AAEF1880655C0CDB8C5A06FD483CC +E175AD7D7524313FE3EB67A241557DA2826177001A14EDB8BBE36315E7AE7422 +537E86BB09C3EDD6C2784D902D6B246E690542945364E6CC4B9D012D9FB770A2 +D654F8148CE1526CFC7290DE41FEBA409F51DFA84C1430E0CCD1D519F1550191 +583EF27B1A6CC6448A4C4BF05681143CBCF27EFA0BADB256BD057299F792A4C0 +9027AD134781131D4DA202512D16C5AC7A31F723EDA98E72DB5D96F3E3A02FB2 +D3ADE2358B473264D82EE03B424FFA559E31987D2B980CDB9138B87A3337C21E +270FC43E3204A6FBCBE218962E37B87F4847224C65683F6B5B894C2039BC04EB +112AE678F69F1EAE5F23F02B8B93E97B355E324A6F55AA6598E315902A97B728 +B56B22AB4C04302A2CC3B826CFC339D54BD2CD3B621DFC1FC54D17CCAE19B9FE +8F76F505038B55FE1341DEEEE82BBF82342DFEBEBDD0053909FC0E73A441DC9D +15ADF1CEDDCF4C663FD18133BA6B01AB0CB41BC0DF5937CB785477ABE9874EA7 +668E8BA6B44B1C33992E97B0E803E2EA3BBBEB1B32C0296CCBCF1BF1F3388182 +5EA867CF7FC083A5444CFFCA340D89A7AF9B702B6B01D0C7684F9CFDADABB26E +15CAD0C381AF7450134F0784C6D6745AC30DED5BD339204F37786CFE74A43B7E +6B716E972FDB8AD62C98E41501101AF50B501278CB1E65ED7F447D701B48B81F +5DFE38367EC3ADBC7775C590AA47EC8BF5E69405743F56EBE83CF4FAAA711E7E +84EE00761CB99C98E28611672B7D85B1B653928DCDA5CEB0E5E36A3BBC2C5502 +E960074098EE208170447306EA4D4E2BF509062926B55E7F75E7FA09BDB80A17 +9367F7DF308F12BD9C984EE5269E22B1725153A8338ED37F663D8A185F69A767 +8FCF4727DC836A72132D1CA61DA08877FB0085E4584E589E242831A28816092A +B5C7066486714D05D29C940737ACEB4102F3CC493AF5BEF8A307841826D8B89C +C6D898D250DC6A85C3EF4C86B8CBC7DFF25A7AA818AE3DF1743A172DC778B71F +64D0CCDADA09A077839FA7EE598772B76C72F09CD044FFCCF494D01487E6A39F +C0971734BB62776C4EDD373FA3474D9B6ED36626C93D995588ED740BB8937D87 +73AD94B834074C2AD9037DED0B93FA18F0D1AC01C613D997B42A5D595ACC5B37 +6A425B37F9D9CC8530BBCBC20A2332C56824BB6E7C6101AF5B4721201CD20AD7 +EBFBB371B81F69BF1CC3417AED6CCF2D72FA9ED9B79C21B1667E2748D7E1FB25 +80C019563C6909B64C934913357BB4DDF2E772175273E6AD3DF7B7BA6C67F417 +1CBA1DEBB862E345E09059F1AFF60BBB6D5192EA6486DE4440EA9B780D682870 +6F18005670DD492FB86C8C3E80DEE3F0D3A09145E90DC393ECFD1F0D1FF1A494 +D7743C70D67FD09717C6DF992584C499D5C2F475051035B174A1B0C3CB14AE9A +61C6A3EA8490EDAB3461A1C65ABFFC54E058D3E91C9B924FB42DCBD46CBB1F74 +36193EAAD4C9BDEF3B2631F8E518506118D8394D3C4E95364A01AD3186824885 +F26D10BF19A25FB52FE7FB520AF9A9092E291F617F1E8ACCB4FEB162BC519E03 +81CCCD92B8606041ED5FD67646FEEA876A3AAD2947EF117AFA0B6697324B0DAF +CC039402F240750657977FAEAB374299C2E9B0F4B2F48809DB1C7394DD39A632 +56D34FB44A79F22947FBF908AE07875AA9CEB548E54EA57F452E3896BCA6B0C4 +DC037D5FD25FA65D96A214E3614CC6801EB478FCCA8CF88559925A96E6FFDF4E +273B44C708E86EDE45C3A9B18AB5FAFCA8A80DE656955F5983E4674953253E0B +2337E08B5A1A4199CC9D7FF6F1C1CCF90A4BB9A217A130D3B7C9D4BB8F738CE8 +E686759EAFE88A6BEEC50E0704F27927A854234631E806863CFC0D6EBE884BA6 +DB391153F939FB1E9803A07B47558EB409FEBC95E755B0C17065C0F916F43427 +238A33D70B1ACBEE3C571D04138428ED9AA90AE0D47EB9AA39ECAFE5A210304B +B5A456EAF97B87CB0EB1B6200350E3B9ED16596CAABB2CB8CA3E598CA752E257 +7FE988887B638FD046DE70ECC18218B9B5D0E50CA0065FDCE02FFB4874A8036A +7ECF9576B42AABD5CFD3E2FB855CAE60CCCB2B1BE8C3803C8C57941FDDCF672D +299A933EB6F148BB7C3D61066CCC93A58F6EDF32EC908D93346E2FC72612019C +CA43081B667F8B6D1C3CD574544745C640E0A70908EC73B81E95714793D08A72 +47DBA5336E6EEF1C51EFAF1A5E50151B0A3BBAA8B6AAA751ABFE802349FAAB09 +8DCC3B2DA44C8A9F47097547E3505ABAAD4474BE2512183A96C577044CC14073 +847C45A8C94644767DED16E2DD7AAA550E93CCF5789B579190F177AA1D507199 +E063C8E1F6304F982C1C374A22B7264B2BEFB17509CACC9C39A3C152CA0A6F6C +22E4ADF5B4E3CB7147DA237B6439575C23953D5B8A1120F688E18C410ED9FB49 +C0B5A4984E5D647E64BEC8314DECA894C6AC618011E948916CC451F0FDB65C43 +DED235BBF30B005D70005AA35D72311B35B564F30AA1F268AC3846BA4F16F1A3 +A945F7D24379C97C347BE7F593A0126FA10690C9260DBD8815D319AF700607B0 +7FF1CD17B89D5F13B4126192FE536911E684C7D589F29C9B5E0BB1C42C9A9682 +482D080E00960473DD6D25C68AB8F0DDF594B4E91F381C566CF9C76964C2FBF1 +7DDB8714A80D19B6FC3A41389937E5B2316F4BA911AE4FFB0A7C6442AD1DD294 +CC46C962B61FCAE106241C80A1E685100824A14D0997DD1DCEE34274535EE57C +BE03C44D9B4E881F6E7DBC863830DA7E72E57DEB9A2350E19579642B5A8FD71C +6B6362466410CCDC042BABA22921CFE0497494A35168628FC5BC63343CBEB9BC +ADC17997831D98B6452B9CC478F58DD1B49864BFC9C9FDAA8F861BB04842F006 +C8AF17A8080473BF69CA8BF46959291A879E9B8EA83B9D69D43746B27718181E +8F54A4B51A49C44F4B200EE16303368DBDE0BCB10E45D3C9E115B691DADA7898 +7127BF301D1F805FBBC2B0A3D093805B9784EB3FFD52113A07B4F1DD4E042B67 +3C3735B53A18412A376398A46621EE521BAFEB079C8D314319E81FB289534F6E +AD97459A862103D2CCC4ED4925CC1A998112FCE61C1C0CDCBE72A0E14BF19B46 +31F1869EE10F40D2FE4D4428E388229D7325DEB5AC6FD3C60A20539137A9BCD6 +607E25DC313491562947C92273E55B4AF2A738C2C03D05018F0CE1D8272BB220 +D988BCD8C42462489D359F82213E9D5046B24B2888605828AFCB80D174E3E4A0 +851EA03255B9ECFB39FAFBCA6A1E9B80816B526F61C50ADFEA0C2ACA8C2D958F +D9DC45C228A8DAF476A00A93AEAF086AB80689C2C00EC7226DF86483BEDB07C0 +2338AF26CA3EE7B25D42BA4C5C3612E3206F440659F70C5B905E1FDCD1B2C8A9 +566FCF5C88927336487D54CF0E0C9DD17935372163C9D7C93773BF0BEDD07179 +307EAABC51F425AAC0866A00F81DB82B439C1D786A6A6171C2254C0C87D25128 +19A26FCEAF1F0DDAC1AB92A4CE704368099EC6265CCA87548BF00226EFC9BBCD +CC152596F0A95B5EE60502B5D08DD228B0A05AC886A7F399F4767FD1FDEBA907 +22379609D3824A76A540F89B5C7F34567E93DC7267453A068D94CF7ACB4B2643 +DB1E234415D5C34226855B511453A952D4300AC961DCC125BD4A86E754EFDA16 +BCA1054A95B09A2795749FEAEE6F3EFE676522E95315ACC8755EFF2C1A1D4F08 +981397321244DEE92FCEA136F517DB61E1D3039E5B276614E30A7F4912F020CA +6EC27CBD74F8F257304C2950E90E84C0A3967D8DDA377B3352AF777A1B1E43FC +1CAC9C13BE788C463EBF3BCCB2EB475A9BE17EB08A5ADA04C82D5A06F6C77FB5 +58D0AAF789A8805F8D7189A8BD8D5CF0D71FAF511946BB0240F44F5A05103564 +B183077B4A384AB9E02C217C4E98C9FE82972965D74DCEE3125CC2F22EB648B6 +99D1676B33429253435588B749C98B80C94DF87D954FF40A24FA21A2EDC0D22C +7D47DBA5336E6EEF1C51EFAF1A5E50146A7241683FD5C85EAFFE33959A117F17 +6E24740A2D0E0AA2BCA5529C72A8E2493D8DC15FC950D9CBEFC9AC174A47437C +C4A06BDA932C9FE1BBE2A182386CCAD0BDF77AB63F1F98B53DF2E6926A0586B8 +725FAD35C862B912A9A1EEAC1933496992B2BA2CEF3964F5035716C5FFC37C09 +6E9E29BF4BED766BEF1DEA20C4BE1B5AA10B887365BE6BE3CDCF278181DC4CA7 +397744EAA89F919658C8528B742B87CF1B43D1968DA4DD8A6184CC6F537EDC6C +F4428446CBA9B40684E28C14ED137B983B1A5ED673DB178FE0B0A2DC35B5B7DF +7107BE17C107E32BF73F83820258E869FF3B2A422DB6F3F214B3B94A26D9914C +344872DBFC2E014B2852AC88D4C024EB3974C26588628A5B1028DE6F768B0B3A +583DB75106DCE52C14771D6FC00ABB73A8AAFFF9DB786D7E7240B2CC3FF51DC3 +02D4A39CD8E1B14126211C26BAA768F5A9F93690EAAD13ACD5A89185DCEE1189 +F070340C4B3ACE43C28028ED2099A4A221710F245C7DF4DAA1C5F2AF7AC801DA +9F249B07774C64D3539DEDB60DA652E2542CE695ADFB7CAA107669EEA5C46FE2 +EE971C71B66A9E5F57A611531F44120A0306308F1017345791BE01187D075731 +4D17DDBF8BD6E51017CBB9BE14AB037971D4926EB73EAFE3B1CABABB482532E9 +F0DFAEF79F7CBDD92563CBCA6C2C6B50905C92286C6E64516507CD42FA169D2F +D026E09A805BED38F519E42A2903384C57BFFF54E7FC6373399C23B63238252B +3B7A69483B2170CEA4E9E2AC5CEF9F939A79327515A31DD32346A04839437B78 +5EF7082EA8A7DA9114F6C73207FA46B320AB68A367D1FC76296364094771961D +74B39533FAAD78F695DC2D53028F18C8F005173602E03A07034BCCC153E3BF85 +9686F6F09A2346C7125730106C85518CD8C85DFA38E72C8A4D8C462D8E42653F +E1B67833CD25D4EAD6C07D2DA7DECBDA595AA03EB130C12D4DFED870186012B6 +0FD0E369E294E3DF4F25220060FE23E1DD23A6F4AF5E70B13F6F6CA317C1A735 +1FD138D194D67FB179A172CE41A84F0A02D1B93D7EE4D2DE7B6799061D86AAA6 +CA373D543736BADA33D5762A71D368BA08C9F096AFEBC5B2282EAC89791D1421 +4728D08DDD71FB6CD5DC9EB9E491D69A5D39FBF00F1BD7F807F680A6E45C06B6 +85D9B93733B9276E3611A675565CF5D7C8D514095FE4487251BD1366E4190E3D +D8CE459454C7582A8C0893F629D6044761F6BC693258128CEB7E5AEA54E4DB89 +30BC9E9B0AA5E268385070E6B6D9702B7C21F5F8B72FB3875C001E76EC93A0A3 +2E854275497E30AC3F2D05C451564AD392300CC4933DBFC87ABEAF2BFDC1929B +3886B07E4F363255EB92F6A69012CF997B6327D50218E2E0F0150E8F5177E12F +FB0413462DBDB8D300F44232A2AF75FAEF2BAD2290BCD058875B34AA23432618 +53876451323A6B9C07A11141C8920891D0F79B11DCDC0A9903CCCD68C5AAE4B2 +B7A6A708F88124F11535117931D2011CD9ACB450EBBD2504F8D229B13E1FFE1D +47AC52F08DB31C0E263A52DCA6FA3788BFF62383A90C15B0E47F7A526C7EB97B +728D03D40DD47373B2F039ACC9440DAD0769F65ACAD1AB7F466603A4E82CBEC8 +82E9ACAE27783E583C4694CC3AEB8257896BC944D2C8110004057BF9DE96A1BE +1AE5D4C34139973BA00CB10996927B3ED544AAE5E21F4D9D3444409FC9537F05 +4C1C60614D701AE41D3E11315D0D6503A411756AD8F129D952A8533998678417 +97563D118A88C2EB0FA1C951DB0ADD125F3A06B7D6574E8217A7D2BBE4184493 +FC6CD49359FBD8687DC93083763D0264E4B82391D964CF7FD5BFE84A48B47391 +B1AB66CFECED6DF74C6A2ADDFA22353A0A09EAFD6CD51D1C3E4A0EB5D0EB0AB8 +6E72B8F384934BC1658EF313A78EF9FE4B498DA00E281EE0537B5F81640998D7 +5DA1A96E38EB16AF70F63D378B020D9BBA2F2750B03421C5F46107D3FE6E1AE8 +726336A0CE48C2D458AC060E041BFCC4831A048ACA4E3E340A55A5E872D3864A +224200B7DE4F47BD97BCDCA95F0925498FD290D0115268BD31695A11CC6BFBD2 +9233C4903317D173CDCC9750DBB35A99BCB5D94031545DDC45F7DBF5191C5254 +40AF9D81DF82909FE635AABB7D3A3EDBE1B8D69562843B44CF8E6A6C2183EB49 +EBA5856FF1BA4E4FD96954773F34E1E727FEEE0979D03EC726B4D55AEB1DF9BD +61D064B0937A1115DEFEAD6EF053D8CC18B040312B998A51CB2A1E10C8A19387 +0923FE8A1C55D04F89901A8391E60EACED9B0CF4312389FD49B2F73B15AA06EF +3D0A58FD1125624B25BE7E69ED691C6AC39E9A827C0A5BB1C3D02380DC9576EC +EAF1CC6C414F461AE32BF4355F860128995EB7C8D61E464BEACB41D4075C7D3F +CCD45751A096DF33C6848F5DFDA87D2A315A09B88C3CA4F7927A69F6A4973668 +749143D43EE2397F72135049059C7FF570B81C8B7E1B140438078CE9686EB5EF +C8B134E7077F199067CDE5993231E7D7C62B91CCC4B5D0A21DD5CA3A83023E06 +0292F9EACAA9DB8D45F1EC56D1ADD5D7D4B3A3FB4DC1AC698863266FDA695318 +0C6019B9E8428360BB09D4DB7C2918986F398DBD8AF0B88413D119D9392249ED +E7FD7F91B7959794F145B15A36C9B6C154BF1C1BE1745695F1DA047902F55E4C +CF716855D279920FDC5873E268E65CEC8F039080423EA4479F285BEA7F35F21E +C61DD5A2853CFCBEA94A0F91003F410AA42B5F5DF6BC7CC63F07429EDEBFC353 +ACEED85F65524D36D5F9AD0026521621F41AA3D7E7FF51C55F5DB0DBB928E45A +CA61F6B0E2446522DDCC0EF37A3FAB3C9B6FA0C248F98C0672B0B8F40FC33D0F +1A05C2437133F753DEF7B3FEA31C62E54B10A984FAD0311BF204A31D3633306F +98A7D26E985456765A2E398170ABD59BB9712825456388C53332359B820BE151 +2B31FEF4DDDC1EE3837941C0D95BC57DC99E5612041D759EC64A33B0EECF528A +B41F60D3260FABFE7593E11940EFF64A7A65621CF733A44F8FD226BFC865D7ED +AD5106F748AEAC673B9A3CC07CEA9151BB39D89CCCF380085F19F63F56B8A5C5 +A2BB71A7DAEA55F6EF21A37F6B14CC43C354FB4E9C3C41DA75B3EDBBC2E8AE95 +B1FA4C2F65DA207A19657B81279556A07EEEF9688AAFF6AAD7EDD6FB4289EC57 +7BEF4F37042C855D604956545BCF99915951A663A73C0175AA093A73EC0C41A6 +3D4DE17DA33B2DE921B0AF5AF8175F9B2CE57A7FA1FF6AB9EFC88354867802AD +758D16B5792F176659CBB1D8828F4377FFC20B03CEDA4C842ACF7E978CE2EA76 +73139B02ED185C5F23910DAF380CBACF04EC12E1B36A15E9731D8ACFEE6641E4 +C5F8560ECEF1EA18AC2F079A5A8DA728538CB8B7CE69E2FFAFC93110751B59EB +D319B0B1AC6692D9CC06F195DBC92372FA72839104629201DED5777F11E4344A +BF91D975DD427C47DF2E86E9D5E3D3027547F82894C6A0DCB9E04BAE62AE56F9 +DB92C1A65927DAC1E8E5B074239CF3A166C3C3BFE5941C85C242046F3455378D +AA02A55E28DFC40144CC9C5846D703E9B044052117FDB4C7D6D472E991B643E2 +F05EE48ACC97E1673210439C48570C51ABD441F2AA90E40EACC17E21373BC973 +BEBC2CC2B5CC76CA9FAA8B3C2F0D2865018632B42602CB3940F8C0D3C5187D95 +72A5463EF6D0CDD5D0301B8D7B52EE6ED6B96C4AA9861BFEDCD09D8A4A921CAA +97603AF46CF4415C5B744FAD4D632BB23F86EAE1B0295DB72601D74C12EF77E6 +448E040D68CD6D383B9D93FD9C8CF7934A82C720BE4166434207F479BC9EB2FF +69E7F3079B6CD66D8B330B24A05739A6089EC3F6C4E115B5BD5895070514E8E5 +513A1E8A8FAC4890E1D1405EE5CA4751FD7FACDCCE3EA9B72109291BB73DEA2B +8D22FD6EBB39E55DAFC1C94CF72D16E676767D07C5D64FDD900BD8C39AC821B1 +B553C36AE6B3FDFAB69683C6120AC5541CBEB3E402FF74FA95665BC6BC84A676 +E87AE3D010F24DAAF4A235E8607AD153091804325EDECCCB7BDBFA7E97845ECF +8EF3B6A3D13C4693044DB5FDF9C2B36E67C5F3775CAEDADF087F8126C6D28845 +850181CD42EF2EC8AAF85DB331890A74C6B8C95F76977E198F032F7940EED0C3 +4F6D95D7FF795482F7EF532A4EBEE3D909B0655EEB3D3F70A98FAF118A0205DA +B8816B14A3BA5E41B5BA06E197AEFD2BF6FFEEF482842F59F9FFBAC6391EEC22 +202DEBF0BC70A92D3B64D1FDF723DCAEDF3CBAA7528FB63863F88AD36C39363E +DF50F26289C06E1D550E4B5A45C9C58403594A63C81A889E9E2EA7C796D7FFB0 +FE98888FDF6C9841236414199EFB82B1D1E2E7D1F87F069DBC611A41B5A5BDB5 +3A9752A46A69BFEACE2BD3CB1EC9398900960AA8741CB60C8E95C309B6E0D4CC +330C8F87EFD2A91F77BF14C9A9A4E3F160D2EC4C5C58AB549B58246B7F96A93C +8201C812B1A69014378C33A660729F9E2E1A1F760498C875EFE5093FC266EB58 +50D333ED1C49CBE7C4DA2BB6BD57DA5F643F97B9D8336D40A60E388C405F255B +1AEB6A15491E783B389678BB7F2CEAF3188350D866D7541C39D765EAF2D4D238 +2C72719067286F6F70BD2D1AC262019BDF629C518276083BA82348893BB5494A +ABCD0020FFD3FBE4EC8FA718D977F909563D56833CE0E5AB8C547C662B898F65 +330D585AEED767BABE21F7B50B04B6F7E0A0576350ED68DEF618B911E1AD17E5 +B6ED645BAE914E3C26F506662A9A2DCB58755BEF7A9D45B6C583192843A71361 +A28CDF1B9CD0F3F77C1370C8BFE081832EFAB5813E8AE85D3311E5B6EE262F03 +198E0B8F82D7979E31732E676EB53DEA1B1DFDA3ECF14ACD9EB9258E709F3607 +307608F4F1B2E0162FBEC7BCF7B574A75F2F6ED58F26AE6BE96C46D34931B4D1 +566B478E0D9E6DDD321D55E00AE1D954EA7E966F5CBF8BEA36CCF55C98F1C793 +E55F2B423B99B07C8DDB7BB4923007B9D2BC965832803E347A3E9F093BC6FF29 +A066BFA47B7F4816D0568CFE3D6FF8330E2BA96B04DB2FC9A04234ED01C6865B +A7B57763218E6E04D79897CED74EB5CDA668D91B89BFD4703B3EF8A52BFD2B0D +73AF1352B67EDF6DD029942C0B8F56A07C3422190A3FC56C9525FC4DBB672882 +A031A274F2D597E9D4D629DEC88493BEA6BEA39EEF22DA7715CBAC3C6E4FED5D +34B47DC120CDBB67C4B270DBC8A09D56A027F2801FB8B18634E806AD80973806 +8E7878898C64529179DF9A162FD4A49C1F783A6172A1F73B7AAA8EEA65942911 +30655FBE6E34A8F8C31CD229535DAA3639B351C8EF330672C958459F4759FEF6 +F3AB2DB73E296CE5DB4AAFD79A87CA7435DC8A6098EC6BE0A1C2BE7CC1FC268C +E0BD513B1AA7737B95800CA8EF1A65381063BD783CCDA519B1B3997620BB2A47 +6AE7EF629FDD3578FA02E0F2A2C0F3B3CBF18EA141EE1DEBE1164BBA45AADEEA +C0F9F751F09E527C37172F8FC1F8663F7AD65A525DB0DBB928E45ACA61F6B0E2 +4465238833E7FA112D321954DC91F8178303A63B4F4161F7014C5F88DB62865A +0148B1C3DD513E5D23D85B1D215753B007CEB7A37F71B9247BDE343C7FCBD09A +5F60F7F1D3AC6A0920A764207D55EEBFAF54DEF3676124586D044E3DE7C80E7F +089BD49AF829EC0737FDCA5985B75428D8B3AFB379881A43D7BED3235F1ED829 +F4EB85BBCAEC301EB631A73BDB2182202D7B777A2E5FB9D86EF8ADE49FD22FF8 +FE2A39122698607C186BB6F60424A22FE676D9EE2F6C36F6BCDDDD4375327C26 +B9C2F93FD51FE8C1589E0BCB26D5FAAAD54BB465A4ABB828E39E23CEE6E6E8B5 +0E5E5E5D776ECC1C763357E43BAABB236C2C8E6C3D519F2E840D067C175F433D +AE4653C788F5A48DB10AA77AEF255E71D0B75477491E3943213EA7F9A750572B +7FF67AD02190763821613AEFC926CB0AA35F5EA6B6643BC81C9A8B87D420A22F +22F16763F13D4A8D6FC3E47285F8AD1C23070B5C1B8F2F9EB35A95B1D76A3450 +31105EE90C397C3F20F4C0FF0CC77FEB432EA06F8EB873489E6B86CB0E9FF10C +1A7CC2752AFBB820DF1451922877B947C9A6837C8438973A47816079551B1439 +DE7693DDECA987E3AAB6A28410FE28E604C5D835E005687AE177CE14F73F6D9E +E7061E75C6D3F70DD0A5D66BE2637B56035F3EE033C47CDBC6A7ACE8863F5EF4 +F77B0BDEE8EEA36FFB7FD9E45356D1D31BE6F985F5557B0BD90A0C7CC7D49465 +94630B3ED4E988DC6C45D22C3733AB1DF83AE6635D8329D42F674AD767980A7A +1290CF8214B6DF1CFD292EBD1AD543D221C830371E40CF6DE194B9C5A4C97ABA +46B57D8FDF3F03D9C5BE25A61D56D5B321D24C1D50CFCE0A60FB490B810E2D6B +5AD420BBDFEDEDB6DC7DC54CC0022AB885D227217356400EB19A0ED893449EBD +1FB12DB30FC715863658CA6D8673CE0ABB18CC41C441B6F53A3C3C64EE366906 +C03D96A1682F440AEBF350AA433914C96E6189E0CAF12C59C67C3157C5C5C65B +8E24B9E010C86F386556704DEF05D05EDCBED4CBB9E7D46577D2E0226C730C00 +4099D29DD860D1FFEA2144E2ECF1391E8DC49D0B64755E4ED9C556E570DCE685 +5BBBBD71E15D3C35A805726E45C62AB41EEE04B388F0C44D1292417145916C5A +0FF0F571EE5F5CA6C20F480FE97472E840089B35400059FD292436CE8BE875D8 +20E6F0D143ECD761088B7A47E5A29D437ED90253B397EC6ABE41FA7449BD527B +3CD06229C194E9F4EC64F8F10DBD73993E9282374F99C252E502CAF45ABCF71A +8C718CA01D976A606E0317688A1F65B826C33D4F3BD763CC881F9CB8E4189845 +7599928620D1E3C657FA3DA74D15F53FDE191E7E4839D484125FB32909DC5EDB +0170BAAF30495EC91D2BADFA3B62A55B1F53CBBCD5BCFD1ADE5A9DAAC3075501 +9C9FBCB26A721BB01A236B15A7C0C270EEDEA3061803AE2CB43A03BAA4575CB0 +53735938F31B6111B0037BDFC5E917837F5F183F421CF6B0DBA68CE7EFA7F416 +7D7685098B601E4B6D2E00FF1FA932736E933227F4E3A139806332E9A96544B1 +C6DADA476B3B9C532FBCC1A21555EAA4C3EB604C73D2DF08E1830924C4928AB2 +39E1A9F65D8D6813C34D0C6F788E19174A19BFDE61078551D77F1D0D9CF099F1 +E4CFBDFFC914D00BA948A759E4068FBCAF6239EA0DD5218DAFDD66C1B7A599C9 +EFA349CBB6A3629ACFE939C25D17E7C487EB1FD2DA4B0EB6B64B9400DCB02133 +25AFB7B15B8053985FFE296C94A6A8965FAD2A4EB1DEE8C4EEC6551F8E13A35D +69366E14A6EE11C5D2478FEA60FE7FA11857AD3C415A294F17C6CEE5288E1904 +289C0C533A2B8F20C90106230E937E52C8E4DDCCB65AD4FBE2396ACFA1BBF315 +625758E3070CA6CF6F9C46576FBE0AA2C2A0EB003BDDE3CB41777B63A343BB35 +9E8C07643B47FD68C6988F90A8434D9AD697FD1AE6471F2D4A07A52DF022F18F +75D166142EFABEDDB9A7F685F62175AE5B76D56839D1AE2F1DF5B79B566BD9A1 +AFA5D9A8CDB1C665FBDA452E310ABDEE48FA37280B14DB32E0742DF56B77F282 +1F0E6DD300CA06FAE4441A45248CF982454DD037ACAC23670DC306D99AC3D3DD +83E73DA13EFB45684DD28987AD46485684CC37F72A5D563F58C405D3A6F3D5F3 +7449418DF367B89D68082D63DAAC3B471F9229CF955DEBF04BFF094641D62CA8 +2F0618D41176D3818A39270907F89C96388CF99D80512194E9A4A9532F06FE61 +9DA9CD3B08BBF9D4FDB3DD56D9FB5155F9447CBC31A948E77D0E9D2927EA8B85 +01F6C663DD41CF6E982793A078053BA9DB95AF93414006D730FC4FF3CF48FBAE +1965BEE7E9AB05A9616DDDB609E752C2A82A5D774A775DE37463AEF83F05077E +76EA2A12E3A0431CE0A478783B2A55A6489CCD0BEF8093996E2E57073A41C56C +C4C90544989BFA7046636A9712F782D2238CA808F817A7149529D21A5EB6715B +A83466299CA9E923AC9F6EF33251F88FA439E6F8E884B8AC340C6138ECAD36FF +BC47FA0A849510989893EB8605B9AD73B493FED083BA5C8DAC6C2695B9ACE98E +7530C41B81B657E8A9659CF0AD16827E7883BC7422B095C22961BBFDA8F035ED +C4B97EA8C3CA0052E953CFE30BBDD67EB5474176035C124D1C0D8FC5C93919B7 +8EF6B7690795E090355B81E4ABBE9E480C9471E036DF7198A36E6546AD46EC73 +BE429720CE5D6DE8B366C47623BF68D73CA01BDB0161AB63BF2C9F2D616A524B +519F6132813EC71BAEDE7354AB53BF751BF89BC200307B433C07D508E018DD79 +DF6AE9CF394BCDCABE30152AAD7B8EB6FC8785764FD1272F895ACB888325A72D +8CE40D5E698E7B4BB8E6A5F231D22D40D43EF51D5D48B4B3874997FE609BB1C9 +AB544F5EEF3447E53782E5395FB225B84BF24AB849C93DCE27D6E4F9B5C8B25E +C602B8C5263B494ED95732E9F09772D59ACAAE6B6B2EA5F7F7574ACE3CCCC75D +E690CFA51BB4E9F4BB469684DAB734D97B8A0DFEFCF86FFAE8469A1D4F730B6C +2C674B9E9C68C227602E47D5A1DCBFD228C3A88B0B9A4D59BEE5A1CC3968EBE3 +F2D8D0EA28D17C1A03A10386EAC96140B93BE21F16B582A90D0797D40F48236B +8CA75F0423D5C14EBA375EFB9FC1233B501B5DE1404D54B012D73BDD380F16EE +76180DCFCA364D5F3A821AE382DD8DE3BA0113F20FD7FF5B693437753805BB9B +AE56F688DB0FEB06834B27E63C3C0AEA6CB013F05123A7ACDB1458A5F28610B7 +579CE6DDD8F8E0536FA8991B561B8441FBF6A7A5CAD6E08022EF695FC5335DE9 +163BAD747FF07BF83006E45E011BE4D1122FAF89A179BFE707521F8B7AA14EE4 +E989C69A9BF2650731674C8558933C69873126235D6630F89DB0EE27AC118786 +D7B54106282283A60C929FC6B25275EC05BC64DA16C8E3E9C725B444338BB074 +0A00D5C9D5A48CD9C364DBA69019E516BCCA4193F48D84A861D8145EE859218A +D50624F1627DD3A30F1264EDEDFD32807459FB463F06A349C3E5BA802751D85F +BC1EF6C3F11D68AD18C410111A18402315C5A9AA582BF4B058409CCF247C11F9 +0CC2BD7DB143D472FAFD7E90FD7E99266072AB7F0D356A5EB24A6ED211C90590 +D09622832313D30BE881FBBB3E27CE14881C78FBAB20BBECACA95B3FAD1BC3B6 +07E40345180EAEB37727F9CD8041315F870EDCB680E93A3C6DEFA59692A69702 +42B952D5CF1AD58B5273484F86688DE17F4159144D50894465278A1773069408 +4F89F2C4A795D1E129ACB1B1B317E1A55DD1EA84C45966166BA8D15B77632F63 +3A0D5297C6828BBE117CABA4CFDCD599889B863C60DE4B0F52011354B278AAE3 +E05E6E0E31FBA0E825072F170375B64E10F96A0744D72786ED5326A820D3F09A +C1EE26F70FB8A12D8DDD28A429F2623D7654CE176793F57BF1F5E23D3BDA132D +39D5AC3EC2404236A706F32A409DB16D48A9ED4F9B9A826FF79EB2842AE4FC45 +81DF3620CDBA08A87326555D686B87F5A5107E26E14847839829494AF79272B9 +6A0801FA7B750B2E89FF4FF31183D8F8BDF5E8690CB0EF156DEB38C4F70DBF6D +7AEBAE4522208C5D182DBA47AA1FB27A0279DBE47A295F0DB4587CCDBAE5EB2F +9C3839C82B328AFCBDC3C0AF8B9E58F4D89836555C9EF56B1F4971DCC6CFCF9E +43117D5675B0DD72989D05CC7F02EEEB432362B00951F732D0BC931A032FE889 +37790C62B28FD5C92565FAADBA89E1CCA69852A3AEE0D9C075E2823EA380603B +5787D601B11354D440B0C64ED7C41C6AA25BB7F0490A8C3E63E1F3385D519EC6 +0D1C9FC416B5491C11572E3DD82A06A75E70B13FA577D4EA53969360A5F74ACF +65781A3D9E7C9A53CF7BB37EDA53B638656E3DDE9C587279599B979335540CCE +5E685920E44143D043D5B9371A7F2C2CBCC43967E1BB28AEB41FEB86FFA0C173 +585867D7FD87B791FC7CF59D7B56436B6082366AF70B1777A622432F0E229A75 +DDCC980F5B20C8DFE376AC82B15030E76B42673EC365E09A46152BA2E2B9B889 +4390C691EFF3BBEFB3EC4F110477FFC838E510BA979A2EC83C35E69355142BCF +DB79C3726882681C44DBC7B05BC427A1731F5DFEA9C05BB67BBA321DC1363EC3 +A097228BBD5CE877DC097473AF34C668D8743825DA4BDAF0EA9B59AAE74D6C5F +4E9A8FAA5E5403C3E38C23AB65B26D3C0B582E6D371704ECC92246E522A54732 +DD7357B9DD911DEC894E1E4DB968217EF926DDDAC6DFAA9FD9F53AFB4D1690CD +A8CA8F19A3109C1A75589F200EE97D042EB71981471E840724F3F3FBB2B576B4 +65865085659444C722E5E277C8BBD12CBD16153AB408FBEC774EE581A5F86BCE +B54FB1417448344F3836556B3A14921F0DF459A2814013D04E9B454F8AC9B8FF +240A8A185BD4D2138E5D1E9034A370488A2CCE0914D80E593D3272C7C4767EF5 +979AC25AFAE05E65D96898EAEBE30C5AAF9EC224A86E0F5EF8D0896B0965FB6A +2C91DCF08533348F245862E46F8F6BDC91F2FB32286AA6353F42672ADF311141 +2C20539CEBA8ADF4297BADA607E48C2B14AE9FF43E863366E3794A50C4D6C1D3 +AFF82D12A6E12FD08CFA83FE4E460AB15D633D80D139F1875719C48BA7B84D1B +5EA70FCAA9CF5156708847224313A84B1FA903E8BB87D4168A4C098C00A1A207 +B0990106E36F68C20ED571AE4AB86C6FDBFC45094ABF6CAC5EA7B4A74D3DC71E +B8D078B7497408202DB3048CC13BE711D9C54F9EB12C07A35A8A92558FD02609 +7D52C3188E45F3950C2C86F9D9A69FD4BACB2BEF2226274EB67B1426B03CF204 +A07219ABE3D5575AB41AF743E6A3A9E0D429D84B2ED88DCCE0191019690D1D20 +7EF99BA34E71A21D8966713879171C1787EF6E38698F3CCA1722A811315D6353 +36694F597494F2B87D691928DF8209BFD3DF83D9E858A9C54EED3E6FEA9C46FA +47254800DC889B333DD910ACDA675CFB557D167731DB0395C9C42B01565B075A +901EFF3528E5CE38BABCFFFF3405EAC4CE2FE4BFC8E450FE371E57BEF0ED9162 +2BDF929B80F83D1C1D1B1C3D0C24F51B4800ECD5F19C4A81908FCE3F2A4E0E0F +723C0D9591A4DCF433DC3BF7EB8AFE93E07DAAE92045FF1EBA0C9E4DFBFA4E36 +00C474D7F1D19851C8452A4F9AEA3C4D54A1EDCF8246F90F2734372BC4DFB29A +E60A9019036E6EAA1CF650E738445B2E15D2F67613D576BFAE3B4C29BB5F5599 +AEB2C5FE783CD001A38622EF912E4D8F08C63A948301A18860F7170A43CE445C +D694FEC3FF15AD1F1739DF248E1FB26079C7CD1C3863A94E673EE85049BFD4D0 +06B4311E53E153FE98D8617281F893862DECA291F383BEA35F480CFCFF5F4ACA +D10CB600D303CEEC585A3D80F5A3576416266999C4E2DE32C5628BE0B291FFAD +B8EAB748A616A7D08BC69F4B9D83818DE37DA644D330B373E5469DE6F41F72AF +A9A30BF5950668B80831832AEE3FB47EEB6A6DFF9B89AF47F5B4E99D5517E626 +235E1E6F10162D59A983003764DDEB208FDF343E71FFDF5F6351688C196A165B +3BC95F41E00159C2632A6C05AE421140E7755342D47D3D7AA4B8AEA1BD5AB846 +D0C1EAD9C6DBB04F1EACDD026BC3A09EF21E7BD2B3FF0CCCF544538AA158FA34 +283963D166FFDBFA67F9811023FF9DE30EBC7A58CA1FA8DA7D18594E6930CD7F +02BC2C84B4D34081D8ECD14CD40939C2C1BA621B0F63A280D3E89F5484F38AC5 +BBB45092E5F59B08070351C7B95C4A301A970E12C56314EDC254D7AAB8C359C6 +6C6D7ADA541C56812675AC95EC20A27B716B667C1F0C820A092D33D731D27500 +D61E6749527ACD758B9A8574137F3C1E1C03F845F2C449E0FBBF7F5FE56026DC +A108785D37FE52A0E198207667CA649CAEA3B9BE9771ACD171D6CE170AC59C05 +950DCD07979389D9C8D70E1A2875D32780B66D6822038A11BFC60E7B0C7D2688 +A8C2113712C63465DA4CE735F76641E3AC09CA69630194A84276E8F189255004 +36774AEDF9A2B483BE149F8D6CD852804E736A107580B6B36F81AE12F9CDD054 +9B53A68477D10827E993F5CA47FAFC54B916507091217258F628BCE15419AE3A +D5EDA15DF75FB9DF4F1162B5453B566B34B27FD0AC1CA4EF3AA6CD86B7F23181 +514C1171857EF7CF75FFC0DB741406BA891B34A673BD88709FEAF94F4019429B +60419D15323F61E327E8A5EC59A8F6CEAF1DFD123410A8F90483AF9373C26A81 +9CBA9639823947FB42E2D037F6A0D1A487CC073F5470203E61F3CC78D61B024C +97218ECF3500CB3A7178145731551C9C83C5FA90549C90CFA8E49E7AA97CF2A6 +BC2EB4E39F31F0DCD2F3597378338580167AD55D483E1724DFA700F7A519EB42 +43B9B28F819E161D2F380AA37A26EDEB6D6274935179053D9E5F8094F31D644E +9C28DB823EB248734BAFF5922FCD7DC9455FE48B4A67D891F83285EDA376A583 +27ACDBFA56B5D30964D64D7FBE8BB2A6C1AEF1BBA02106C18BDE001D3986F157 +CAE0FBFCE11B1D6820807212C661C98B3C528A9EBB0B613DA64B0FDF8F1DBE69 +4A620AB0FF2DC9E387EE468E990A3229356855683E7DAA363F45D5DB67BA8AF8 +468ABBC6B1C05A54DF26D33CC2FE4DA3493BD4B32111D98518B3570952323F0E +DE145556DAC5425C6A0628B08472FF28E48E4CA1265E1882E1980F8961370D25 +6A2F42D9B24559B0DAB9B5C6D5145670F5442418503E73DA897CFC4682ABA026 +018AD948D16FAD2F75C3F1B46D96DBCBE68FA93955127EF557D4DFBB3DFF138F +793517AB4E6E41E7B979F8D6FF20E2D9830C6819CE79189F87BABD662B6A2DBC +F4E91B620A7FA6075FDBA041C6B8B72B6E9357FDF24663A3A9487988C66E8BEB +CB8F5FEBBF3FFB5D1597C05C73427642C1208FC6082DC00A00CA6A2312B45EF3 +1F1B177143B4ED7A910B262B28A021F96AFFCCAB73C8DBCE294E10439A98C792 +9A7C06A041E562B9D3328EF76C05BED4C7BB3DCABFDB6A9037F9EEA1789921EA +4AB166C9DE3A73AE683B2E8B6A56B8008524F52E518B0569AA27FB4D8D3CA77B +BFEFDFC82F5A417C6A8CC0D492E6D0FE6D3E045C900C6961F9798FEE6D1E9294 +573C7399567C6DEF9BA34ADCE9103403A49FE1553070FFA9BD213969662126EA +EEDC5E923BA922C9D8A409379383C482311C53BAA7B2177CD6D09A35986D46D3 +76863A27764640A77FBF842AF80CDB7ADDDA72A614E3FB763A150D25696EC971 +544338BBDA8D2FFADCA23B0A1A507C21CB868640FE084C48ED09E4EBFFD13C11 +EA9AFFA2990F096C928DCD2F8BBDA9A4ABC8157C8180FD4B01CCBC48B37C4829 +A84FAAC1F2AB9FBB056FEF3CD77210FA5B8F8D8118436F02628971C0CF54E878 +19AFEEB26E45602883B114DF5B31AD673389BCA33D845E39A436B0E658E12432 +0761AFF0137321C005D566DB3D37F8EB5B27890A9FF16E6B2BB0E8C556EEBD2E +1577F2E428B1D1ECB6C7FFE53D1BAAB5C3BA656F554D573E73F50ACC101C0121 +DCF5F9B076C8F554C2D065C55579E0263C04DB2FB20C254EE7B7140AD3482F25 +C34F290D51081B6B7364C8D50B02E2F0F03B3B07162A609D2C64A1FF4912EF56 +DB93391F91479199C79EF43285D174C51FE08958598A772C8FD641AF8FB560C9 +E8C084301239427D52F13586F167FA3372C2E48E7D2F22F037E046434B1EF334 +29F6EDC5D588FE135712E4F26A7298C9F57D140CD1B2EADFA17B204DEDE712A9 +19B746BD34232952DFDED4226239A6716A2F9EC94B6DF822012F0E2DF0E348D1 +74C35652C040F703D9C2B95353CD6115F4B66BEB128AE1B34FDFC165316A053A +CBF84A83D3A9890A10B713FF3303621F584B3C945B41904DBD4F7EE2A98147DC +0A68659DBA339DB920C3E9DBC05DA683F6465EF20FF946778BE836BD952C9CEC +0A60DD366E758AA0A248DD12C7F714558F72180EF2C2484870657873DBA07142 +7A7575598DA644E9C040AF9FFC52F6E30739A8F21697EF340BB9FA3A66930A2C +BF9B27FC6186010778649C6F7B4A2F5F42977D0AEFB154BBB06879E9617516BD +BB31792D5C80DBC747CD820C5D3DB791B8C80C04BA5045E9DCC980C3907940A8 +D24EF82CE60F2D7803C2939688ACBD184103535A001C11831A6C904C64F6CBC5 +E25CC8DCB77E50B8C65054F784468DABB5125F56A2A8610D2E625D4A6450AB19 +77FA63F353D3069B60B7E364C1A5DE0CAFEFC32F05CFE83CBB87400F1869ABE3 +DAFB3EB319E45677588C059DE939673C7A6B0153284A3A43AFDDEB34D73ABEB4 +D05C0693902D6BBBA612C3387CFA52D4E8D125AC5828BE3F5C8EF758CBE89B19 +3596ED93A424331F4DFA165BB07580562FFB579DBC30B3EAD05CDA06E2D1E49D +9573BA785663D5E1B3D32BC743848645FC1ECC4D182610CD3DDE8B2B1FD66BB7 +72F3348766CDECE21C461393B1B20F3D27A82197A50418A2F2C53B9927130A61 +FF5104F12DC612FA9A4E366FC04A0A9519F3AF1F02004C00D2468BFA1305FB5F +39E1AA628AE8EE6816255E9382A34CCB456F14CBB6D9380110070F4C444A5873 +A203D78E2025225B60860CE5270D094EF53CD66EF0D6A6734271ED718B10B9F9 +DAA0702EEE522774F8C0EF74CCEDC0774759DE4AEF62D0A898E3D9289EF8A21C +11301C42D3449D771DCCAEBB5489B75559353239D3E3BD3BCF854A025B949AD1 +0402F64CE7D55FB2E3D324BFDC162C7AF6827D25CC128AE327CCAF19B83AA90D +8E0C1BDEDD4574484DDC30DB5ADD9188EA22AEDEEF4595A5D1E30793D54B8717 +9A324119AEEC95920781BABA10B2EC7806C9DA21363173FA0D572837B5D3EA86 +E2F2D61F42FFCBDFEE234AC838E251249F90CDEE409B7B5CFEA247B3D0FA9B09 +EE7A69E9CC4FF7EDC29DF36EAC32AB2DE8FA07434EFEFFA50812FA5822D6D217 +0B1C9679AEE4D7677617269963A38FFD7E89ADAF54C3C3F2788C597F80AAE88A +75732DDF6E58A8FE2E929621351620DB25B8F69F6603E41C5D24435F144D12A9 +2E0F368DB54E55E5683C2B00BBBEE9E6F0E0A3A23BC033BC8A730516D2A6E205 +96D411F41EF20D0D273C05EC2665219A936D1351E4C7F502BA13F255D75F3040 +E78289A9DE233F7C820809F91A5AA336B4B5544BB9BEB350A526AE2FE1AF4A8D +571CB1F2A0C98383EF9D3F9F362DE3C813487A0033CE43F3DE4788294707EF9E +6BD9EB22B99C2C67616CF1692CD6A9CAB62B0BF149F7A3D8F6E5A3027CA9C5E4 +70223BA442205CA6806F38164A3F26F2482FF73EA93DEF3F415A13D50AB2880F +E598C43D765B9321B4694E813CF0B1BB62741BBA0A8B1B89E7FB97281352FE4B +3551269401BE0964158633C72306956A20EDF41BC278B492F84242EAF18081CC +75F9E54E502F0C0AFA540047ADE503960AC2A978D811B217892059555691EBB9 +400F9307F40B1F0435CC873FC94F75B9B70C692D7011AA99B07C60A1CFE60AD1 +4250AEACB21C92ECAFC2623950BF06F241F6529A13A0B6DFCBAF87AF64C33A4F +2BE622EC91671C99FCF2FEAD0AC21E8015B568A023AE5236F4EFA40BDA90BCCC +7790FD932EEFE1D03AAFE1FDAC25E244A5DCBDE59D33399C69E1C6C1853076D7 +459155A09997C89E5B5E24EC4371567189D03EE33E7FCDFAC88115A7D883C45E +330055E5CDE4F7AF283D7C28DC8637F95F10DFC2E5F763E1D21771BF2003609C +69B50E1A61AC0068D8F3F8A98AED54A9BFC3B4B4E51038DA96390833AB28E6E3 +F58BEAC48EA80B08EF819CEE42C4F96DD717AE83C879F248CDB9703EC211E745 +65897656B3809D3A48A4BBB350E290F5D5B78A1F643EED55BB4AD4A0B50FE111 +7671E2C8FC3FFAB0AC8D541CC3C56C75C443220DEDE2B1D7F78A23720A1E50F0 +659F1BD13B8F6A13D61B3293797DFD5F3D7ACDB4C52E5DEEA26C999A7E68487F +836FCF35E53128803E04E9C4F69565986D79A4DD0B8188413CE256C7853B45CB +336AB539B0B269B5F183A051307A0E37F6ABF64C91D5E171458DF3FB48C55CD0 +304A51DB0082656D03018F6EB0F6973280F141C93F8DD99466F87463C4B55828 +385E36269DD1D06B015728535E602E781149DD0E354E9C5934EDE7D49CA12B52 +779DED1E3BA644B590C213C2525F967D234B27B1F34E3A003754D943EBF0187B +564E79C5D37EC12B8CAEB7328CC87393AAB58A9193AB5403F57F5C9A7C2FF211 +08534F9643B3F9533EC4CC3309D514586FB6AD161D294E9F55CDD21515FEA55E +74304733F23B42ECBFE145702B74E42BDBF0DFB01F655DA14D93E81103DB8E84 +20B8101F8D5B8E3F909B780C03F75539056E811015532BF5DE9007033B17BEE8 +25E9DF06A64D23431D99B1DE541CAB436178F55A0A82271FE970250C4FBD0FEE +35F2CA2A256F93CC0327D7FD9142A868C4BB817EB2FF2E7399F001079456F3F4 +36B05B6772520ADD3CA3C4313C3C454FFB368D0FAF62D81F97DB55731F447D2B +A19966C48A53D5885A383B6B1E30F1E2C0185E2418C387935BF5A7EF8058C1A9 +0036B3F38FB4C6415037AA3E9D406DD37DB59EB80FDA5D9F8D6B03E176F0B633 +3F33040635B7C256CCD4868EDC88379925DA0B93BC0CE03E23D3D480C005AEB0 +6D49C9F9853785AF6F3BB50765D674A73AB585E72888F2CD66F714ABCE2A50C4 +5EE528EA125262432AB7F6EAF963307D0D5EBD65BDACAE98558ABA7D0BE48C28 +27FB1A64F779E0B9C06FF13F00A995DB0E9C2784DE9C48EC873AEB560F3EB3CE +5C09D9C28FC9BD3B49B709BA8821B4A0454B4B6F061B449671F59283EEB003F2 +62A9EFA38050ACA655C6D74310930204EE46C58553778C1D29F29ECC271F4733 +3ABAA09100A9F2E0A99D53CC02DF3169B7FCE3FA7B59BA5C0FC7327D55CA9339 +732308498EA899BB7838F75B9C8E99BBC85F6F63BA4F1AFFE24B1AA4F90FA00D +E007CCE120F45CA11D70A6E06D2CCE6BA22BD02F62DAA5186D5CE8B8EF18B469 +D80E9825C926611AD47ACBA8EF0F3D16FA308414D6AF95E55282F25F76A975E2 +A3537A7373BBF7DAD0B8B61CB772BD5EA3659CD0724E4E187946B596C8CCC11E +9D4674246EA6CDD60D64534BF0085E4250837E57FCCF6DAC3B62419D9AD7B072 +05FFB475C87B4D45C067998EF3215A9E37FB0AA796F262D1786754D9E913107C +22C8BC97A0E73742F79D6ABD2C66CCE64C6C9AEDA81CBFCBA8D1C016F5C7A931 +633AB0EF0BE245D0931E53071A86003F9837C142E53B3D4FCD0CA44E4A4BF046 +CDF448593D2D85F7F07B1274544AE57960A6BFF34EB84EFF3F7A687C634A1A33 +FE97FC48A5D80C7831E99A3571DD2DD5796DD61BFC05F5E4FFAC100ADE9499D8 +0361577C89D25A4D337EC77776C032F6FFEEF4826E82C52E6D1702979ACF2A62 +CE5A88421A084EE624123D6E6A95DEC36E780A9EC9F1331FE1F5E9D954667DBA +4ABCEA60ED770E3DD58CB359ADFFEEBAB9790E91929F05EDC38FE7022574D7EB +22E556404AA74516358D5B9590075D9C1FE57947CBCD4C7EFF1C333C5457AF84 +992A754B0CB4766B0F5B858127A1B61BF2B3AD62683306993B396FBB0DD079DE +96C84E76106A2B476AC4EFA40880EF47EAC0F5E858DAC1A9B99F8EB181B989CB +03F13D9AC22464ACAB3537DF786E510A45AE7EA4B9D90A8332B3E5ABEA3999E8 +AEABF59F9EC0FFFA7B7F78B4CFB6D77BAD9677D9AC71569F80100AB7A3B8AE9B +E862807D87074D5130061E9C02757006F787D6B49AA625A5BDAA921005BA4F85 +5EECCE30FB3D8DF4BA6166C8A89492DB62224A0C29BD564A1244691429FDFD36 +F559BF5FB22FA888F78599357D0E723A692C9B349312A96A8C75F49E43247104 +18F43A634199B92EC4E7013AE4081786A8D4939B7318F416CEFD093A8D8634E1 +CC10D8125EA0D2DC3CC756FEDDAAD8994A969E02D9F6A835403077EC77D2FB5A +E4E1C2B2CCE6251A2CD94487CE5A4C1F3E7DAC460E764A140B9FC1E4085ACBC9 +55EB562779726F89A67570E2FEFA2AABC0E6552D33DAFC08D2719AB8B98ECC3A +05FA1C90E3498322B8B26E02707FB330137E898E9E506F7A2A6DB52EA23E34A8 +B1AD13D1A5D0A91F40F8FD9D09AC48DAC8B0A3F3D6F5F4716B4C0AB3A2F002BF +2BBD53698333FAFAB8D3F80E05B48A9C3B772750B4EB3FB8DDCC514DD3E2D01F +C17205B08F6904CED62F6D07AEFEFC0C9B2E6BE85F7FE444B6AFAF60301779B9 +7331C94C1F8B0001255C39D653E14371B08678978B4794E7ECD9CCFD5D934D9C +4E3E8BFFE9D3D1C077E9A1797078BF583187027EEAC2F99197211CFFA3A65230 +4564F3552334F1CA8BD9861F640D36FE47852934C4264F3673A582B50290936C +8983BD4BB9BE067F6AF6AA8759AC4A8A3267FD6393CF9456DB382F2F9F3821D3 +C0579D91DA414382E200D05621970D3E5516719C3A0572249F8D5371877C0434 +42D71D6FD78EA7EF4AE676904FD9BF23B30568108DC67FF8190ABDD587FF04D4 +A55D3CEA088DD86DCA852E6A0F9FB33B6EA2C3E751CDCAC1E210CBB78E83A785 +146CBFCD3C7DB518E1D78892EC4A21824902A487E9A96E554088A2F9F596B923 +0A624C6DAA4A20E73D3BD5556DF76D4906FEE9D753451B00AF1E1D2504219592 +50DD2BB41F053A0BBBD09CDFADAD67A911EE31D678587D716F5D2479D21CCCB5 +EA00723B60006291E5E2947F0A2CCD10AC4EF0DF4000A1358F3285578A0791C3 +7381D1D0AF81587D700299DF0F4A5032BE80665277C8999CCA1891FDAB8D3E78 +43A024A4FA96360B626C007D973503D0F20A77084D5A96510265E74517B52EB8 +3CF1B8546FFCC2C23F85122E55889EE0A83C7E127C47270BED44492624F046C8 +6F9F742AE75AFD14F6EEAADBB45A0EAFB24F63689919A2C3455BD345CDAF3983 +DB46A0FC48728B2B88A1FDB39FD2B8AABCA784AC5AABC91F7E2B549F5F3177C9 +1FBCF682F1A38E4723B9862FF91AAF3532A4A27E9E0A00CEC702268707BB1864 +B208EAF9BB9814B69A8A8075D67A4F4AD8113B1622FE60708DA5AA3AA60E428F +C0981BFB2449F4A16E259B56F9888FA6B2365EFAB0DED5569B0744351B71469D +4499CBF7FD02BE4C6A85CBEDC10DF237C85635A9C1BBE0CAD05428D5E2C98D65 +D81BFB7DABF55470812E118F3A7A0A487D6D2E07B6CD4BFEE64810657D33D09E +89D59519A4D5AC86B9267AA05AD1014F83D2ED254ED9DFA1915B1D33840AF670 +F34B4E545CC477396EE20C51FC2A0A8E1D57E24495BF4D09F9388F9C601EB560 +BAAF0E6D0891A6594231ABD3D6F3C4F795A6217876A3232EF8D75C0D4B9DA132 +B9E717B868B063DB6E3B1EFCCC3677CE2F877073E92FAA8F850047E59C31CC66 +7201265071FE53EC268F8C93F4B4607ADDE537E86226B6967AE2A544F6F8DF84 +118C0697B40670BDC52F52DE8E55EE31D853AA2DA391FC9CC811D3714DAF5FD8 +A79944792171289D8E0654950B3C67DFD2CC95AFB41BB8C31C5F09DD2345CA5B +3B878B3899996F1DECD4C9A4DBD849EF0A63CBAB4FD7B62F5AAD85EA3B6BD2EC +90D607B4586EF50BA66E01BE3C5CDF4875B00B7914FFAC3DE80322D8527A7A4E +F8432E5141F486924613438884B3D8ABA4BAEFB68955E4C09DFC2F513396FB9D +BCFBA400069341376AB98F3B7F796F8EA7CB1855F7A04BB140A2B7CECEC7BE80 +2A5E0250FCED075C83B662EA5CDA1B627DC8E5BBD7827218DB6C59F71A57B7DC +3AAA94ABBE8A7E722C3557F1A9F877BBC69ECDFB2C22A9B8B2B0C51DBD9FF2C4 +DD16A00C9390A19B7320ABC521A89705E22E3CAAF1EA39524DB1B10562869AF7 +9B019929A5C648E59BCAAEA76333E52EBA03B167D518F8D955D90583459E6611 +3DA6212756C819C613BE40C29A58FAE9835AB409CC660A87D2FFB2CB3214F750 +4A1E189B0E24B0B541496B6C04069803F7F8072F940D3B010DAED32243220B27 +645560A3F713ECDA4B46F34E34D71E5C7F459C5DB5FF8F34BD5F768D42D3C430 +3ADBAA347AD11143C5A8FFE9670D3F40D34148AD71E2677ACBC4C5E70AF58AA4 +AE728F096976C0C2BE634219B3945E16AFD291559C41C4952028934352F35FCF +21B6BFEFF2035062B4ABCAF40E376D488C219918005400C63384817EF68EC86E +20197D6947936AF736FFFDEBB5E33A1135226BD652A150D843D331AF77F0E649 +0E39AF1A6A9A41E0B8A93301E49C2154D85B74DEBC4DFF06C479F3F51305AB49 +632726607B5501D2CD47EBDF98A3D3A8CAFBE306E83E31798921B5691EC160B3 +300BD035AFBEA931FB34DB96AA0B51EA5D610F59DD306A876E81643AB7835BF7 +3335B25A1129CAB953980E855235ABF5F1FC13F162FB2B2B9CF90F059CDE8A48 +4F938EA5EA631E4EDA7A63D91281F5C29B282570FFAF9E569C942B7033AC8FDC +C6CFAA4F0DF4E7C95863EFA6A297461DA2E911334E42CA98512D997B7F0DEBB5 +DA585E355646FB4E7837297EC08733D37A9F815186740D8439521A160DFAF879 +E04BE8CF8E55D7D29F1753656F86F019AF4C3518762AC60F5A2952BE80E59178 +A6EF753C62A13680CF33F75EA58DF1D1BBD5DE332DF6541C7D5325AEA29C91D8 +6075DDC241728CC84F602C58F1A573F298032912F6273AEF60C1CB265138B245 +7FB6135D21C8537946FBFB6315BAFA89CAFE4C282CEA4C1DA6C98CBFEDB3224F +8D898AE736EAB91616CFABF11C57AF0C3BCB07AED9AF076D2C48E482EC258241 +23010ADB742A17545996263B9F7BBF981AE401918B286A66EC04BD99C41F7761 +28D9A8DD8CAEAB77B0F5E2ADF542F8EF5E4C0A59D85D6643F497D1B4264B07FE +1F7EE3C9CCB90B950A548F82FFE5B1126A29FDD09F7AB934CC5F13ABFE59DA95 +FAAD71143AA259317A0E2903ECC927BBB5DB5C77A547F3E8000E491B788FA1E0 +CE8F19C43AFD981B13C5FEFF1DD3ADFB114950E1E30CFFB1239FD04728D8B7EA +68A7F8A58B5D09397115E6E74956B8 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFBX1000 +%!FontType1-1.0: SFBX1000 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>. +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecbx1000, tcbx1000, labx1000, lbbx1000, lcbx1000, rxbx1000. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Bold Extended) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Bold) def +end readonly def +/FontName /SFBX1000 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-229 -316 1737 939}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E4875AA1B1ED6A435C02C357D527BF5BAE9F3163F8850F +4267F16F7320BDD6979C2F8C665632114CE1D7FCD000F5FBD3E05848929A6E47 +97361D305E2B3EF0D3289006D6D4A92B4915A07861EFFD2EAD6D0E44D7F2BC50 +0393AB5D4E20487C48DB19B78C49FB68EBB7ECED723428C77D753A22B7D69614 +D9508C82BA58E2D874CC9F68A68F2A40B655CEC8A6308B67DD6ABE39F97FAD75 +03DA383F4C166B7EAF7A3ED4BB7FC5E6B5D2832CD0A6587B17539297FED807CA +ED127D2F0B4D1835845D8E3FA03981EE7410C5EDBF3C000051861E7C98A1CD97 +D8CFEF6B875885BFF5832E8FCD91B4780EBE0E908E59EF5D3FA8CC9D67787EB9 +9FF5335E365F2B9EEE281ACC85039C952D301529C2A7B52B3A174115FDBB2268 +D98A22B25EAAC4F57C64C0C1DBC34B0FE96C1D9DAC2B7FF6749250D8502C5C28 +3B8CE334C9E727CD19A3AB4FF6D3339E7E9C3F43BAD7A78D4C7113CD45530995 +E6A70147ED0D3BE8A22B346818368B4AA3AB2ECEBDF089D4134F08780B4CE5F1 +D96EA7AF6FC84DD5FDF8C9EB273059C87A568B0E6B0D41B1745D6DB55C621F11 +5E7797466B74ECA431199CB2C9D974DB020DE52EB9C39B2CE83FEEE98D229076 +8C6B6237B150DFDDCB233858DB62479384302233B6472BCE3E34BAAE8F821E9C +4B6ACF55A88DCA7FB297973FA132DA117E7DE71F434C49F649C3503F0A523806 +D96939D6D04782E7062DB0E069E7156DE7C7DA1E413CB8575A1FACCA04679230 +6F4032B42CF9083332D26AFB6C8E3D6930E9E7AAE06FD6BC3907CE4DF582F592 +96379AE779C820D54A857448394B86C9BE2D4126610FBF1F1B2F374A2244E21A +2B42A9DC74A983963AD571173DE252CD75109FEF87474B052B0CCEA27C458CA7 +BB1E9CB1D3B2959532D51E9AC040EF3CE5D679AA2ACDFFDE672DB5CF41D58F8A +3786ACED5AF7463460B0414B467C22C08F8C635AA1EC6DA06B74863BD647F308 +2B70770DD0A127E16CDBB6D2462EE400855189890440CF05D5AE4F5D461B609A +00F50A56A32427703C2272187E904E982FF9C31F7A82E1D0E843B81EAC0F6734 +555466FFBF205B862880F752C654963AB26C6BED171301ADC1A5B1F05D0EDA4F +DD952913E8B4D18EBAEC0229D1CDAADEBC1F64C2D9355172346B6A73A4466B26 +DB5E3B27B69291868237D74EEF1577F24EDC31431572DE621E19C5260409FBA4 +16102F83081A06DEFDC3D19C90436160FC3CBEC2EB1BB1C8DC65235F1EA754BE +8F665657C97F774E174C189F281C5E79B01793F45E26BD0BF8AD9704552EF609 +57868BD0E17E9A229E759BD8526399D5C30144D3072ED3620F2EFC3BC1526710 +54673E898B8D601E711EF054DAD9670047F88503418DA3E9AA8D78BA655B1C18 +40EDCD9B7A5AC033F6B1E9744D32AA75C87F9A3ACE24BBC3E683DE99B81B3128 +8A2D384D75D4A99B7BFA298E5D64216C70220F16763DB2D4D1566D4CD4A07812 +76A23F7C26E9FA324D4DF532B600A24686CDF900AA0C9D9FAE7FA6EA76002927 +1F2DEF03F4B769A688D193A866F5A44BFE1E3A599F0FAC1A10D674BC0BBE8C2E +74EA1DC605B5F9B9165F9B96C1C3BD82B23A4728AD042F54825AD91AE6AF3431 +EA995BEB +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFRM0900 +%!FontType1-1.0: SFRM0900 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>. +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecrm0900, tcrm0900, larm0900, lbrm0900, lcrm0900, rxrm0900. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Roman) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Medium) def +end readonly def +/FontName /SFRM0900 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-196 -322 1502 937}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E48759F267FE330B57DF626EBF73D2779A4A6B462AE6E5 +19E5878939A488F2FE1094A76925CD24DAD4573AD3CF34E426708CF06E7EBFFC +BEF5595408106E2189F418D17AD510ED5B6A528E8902AA3A5F0FF52AE3DEAB07 +32F06B63E28BB88229E046F4FF8A356BBDDE82DF2A197F2E26CA00D5594725A1 +83A89A36487EAAE1AC312C929CDCE50722FA6C596C261E4D78D6C6ABF77F5CCE +0E410ED74287A0F201140F8D9674A7AC585D3CBC72CCB824F9E1CEBD08AEDB3A +A4015CADF471F7ABD9B0F0AF73A8274FD441BC1988A61799856E4770155341D6 +516CD0E25BFA59B67AB7E0571DF3F5BA70A82798D4CE6D9F23F52CF97CA370D5 +FFD6359959DB68E52196D89FFB84700E1CCF3E2E6A52CCB43303FEB31F296C29 +34B019803C53D8D5DCFDE72099BFBA29C176DA3AA9F20106D6AE6D530A490578 +AA65868A24DD5024A28C6E372C33EA2F6573A6592AE985F03A99884CCF7CA096 +043D8D33EC0550084F5D85656F821D8E06996DB3E47A7C4E20CB4FA8F9A1FDBA +8A8D5E42F16B4FE307D36B86A652C196C9968BB436C9CB66C9CA27658DDBDFD5 +28224AA3A9BDE394CE703771433B4BD8B2867327DCED10CD89FDAAA5663DD04C +0F4EDA21B96627D495493471C6F0A2BFEBFC2951896E3A52824E1B82EC39B16B +F11A8545D54E1C5AF4BC701B47E1D8D4DB124DED5732AA9A94A16B44FAC0B8D9 +3A726784FBD263820B6DCF6ADC98A5662C1DE90DEB617ED5B7D6F728DCE0074B +7DA3EDE577EC66869BDC6D10A4ED23283175DB32F0407570803990AF10B48047 +39898B8893B5E2465C61DE187F762ED4E8577B217C2DA630FA3E70A93D368F8A +1715026139E79E419A5B7A0C017F16CEF082F0FF1D9C196F9E2B9DE1F8475E0F +7B50A348BD2987A45AE742E1769D60475F75B0D8D85732DA28DF03365091EC8D +EA4471222B0BAC8739A7407E3687B32BE3388478CCDD5814AD3F556061535199 +A8147612F8FE12D52CB002A2D66F80014EA3861089AC8F1622266546EDC9CC8F +984BC14FFAF5573603F11D6B6CF11194DBA8350C9D1497290B727E979BFE8FA2 +E5348257AFCF78B5AD0127ED86ECF4043D63503CAD6548D0F2F3D145731C69CC +6EC9CD8DD59FD1C7F22843ACCD63FF658A8C58C74B40F86B92F013A73EA21CB9 +5A499ECF13E311E51AB788BC68FC7BCFDBBF13AE645E83C542A3B026EB61CB15 +309BD27EC19C8D31C9300BCE1D6544668A511FEE990DA3A11225ABB2C22FC7DE +D064B45FB23D9CB14BB0DA1F2F9DA4C2E8D072E8F70CFFD833BFFF0E511BCD47 +A16C17073AC9D62BD413CEE14A9BE91B69F98C73AEEDE6A3DF245A673DE56F0E +0F1C719564F5889ADE60EB828698BED9792557A26E6E104A080B995B8A2F065E +EDD89F309FDBEE7B1B280345683C7598990B5288EBFA21BBC8589E6EE2434924 +8DBD3A97ECEB0B630D6D07846FDEAD673C861CC4EEE6D14EBFB27E2C3ABC32E6 +4EA6C0EBD9E38F8A4FCF1CBE6DEA027C700519410D86F3813394F02060A51033 +30DD39F9308332B7A224A4A4BCFC487D0CF227BA3EE5EB69F699CF432658B880 +F98923E90E9529CCB0106CEE0C0E07DB2EAD8BEE6BFBE255AD609AA62E763B13 +816795FF5F6BCEB846926337B4B8A3706DC71C0E3903C9A02FB6AE1647DD403B +FE9A7FB706EB44130268D5ED62D967B847DFB274BEAE378AA9B6FA0D74A025DA +1E80A0027CB712C1049E230758A2DE86A7E5A86B8B6249A125B20E374D194F98 +4558314A256C554C63B8DFF7822A8B47E423ACEC79E8DA15A08AC4E053D2676A +D74CF36E3FD0DB3A43EA5F06F9BF790EA9B56459BEE6955D3E4F0F4BCC7AE2F0 +68302B479C23EF642100EB801F931BABA395984CE73E67169DC41770B5F7CCE5 +B766F5D2B487A03399B4968C65DD95ED8373F7A7AD84593AABFAC53E5F6A86C0 +D8E5730E808893BADF82963F203BF8846B57ADCB5A230B890A316E4B81195CB1 +58677203751B981FCBAC7B8A6BD1AC40266BF611A5968AE062DDE38C54BD8201 +4D86233C2D47AB90B928C9BF8699D1A13E7D573ED08F73B027856BC96DC3E56F +D29A98AE4EAACA821ACEF9F9B04DB72D662C790D17BCBFDB3F8933AF12D1ECD7 +18BE4E606081A106519CA3BBBA8EFD1F8CF34144B09F4BD9445CF649CAF72395 +712B5F85A86A1DEAE13F908AFE15463FB71C01B2C65AC5DDBDFE1444D5B30ACC +69E0FD328E021294FBF621B462CE1EB6FD26A10AEE723E78F3CA779E6B6A7E15 +FD01219849B6497FA6DB4943722AF79001DCD3F9DEE6E3D1420E455A08DB57D4 +5E12D0E2A9D2105795885557A1811C0009DB48537708D9DCA34E91549C56A3D8 +AE8E55606CA677643FB82F1736D55A53F94F734BBCBE96D74CD4152936C2184C +36AEADA9CB6DC92F990D8AABCC309FEDD4FA497D23E9C78A27595FAF70C64C19 +D13699569928B4DA77817C69EDC3C3A9108BE9A86888F724105C3344EE80F36B +650B643B2423BF5A5405121678BCA02DC9469D380C43040D8CD86B76E9F2ACFA +05ABDB8FB50D9F5293B2C7BE7AD027D53C3B70A9597CB66F5CC61AC7F19985F9 +4EA8B1EE5047D5A37CC93E3C704AA03DE8B811E081D3B0B0BBD26237E283FEC7 +94CEDC09F9077349C96C24E8D18B85A7B5AAD82FE5688E208064BD0AB6082ED8 +2935AE602BD3DC8A877823505DF922C8A8E5A787DE997CE19D3DE210A1A63ECB +F93355E11B89A257114B6A7F5AE6E3A6FEA87C468560148549627AF0285C62CD +E874E189CF1F78C4703E41D7FA628B86507E9E71732DF9726C2DEEF841B74A60 +9C7444D1D2D813AB4366AF966589C1EF16030B59A64029BBB64BE415567AC1B7 +B06404E61479138E8CF1351E212670DD71D2FCA8B192D0F6BFD1AC6EF8A1D771 +165892598B0748B26C9EA50163D375FC63B281459A2519D59B1E037EA930F21D +F005329024B77548F1EE51E864140B729364F831B26C86ABBAB08E030CD43125 +DC82E9FD230281E2EE9B0433771A8A899D8366122FA7C4D6C1C00BB52ABB6EEF +29081882A6BC87B8E5E649D84EBC5B50F0335693231295B2FE8226C328E6F059 +DA7E1C6E7A336E30C092741BA7F80FE6D3008E70A27C86889647B411DF2A995D +D0A6BBF886439B13C0CC247210E750752F8CBF9A743B0CB701B9A7E61D4FF951 +32C720F3693D59A2458EE4862D6C07BC2974FD671BD0D4853ECA073DC424A072 +AAF769FD817E5E1564B5EB0C7138321AC39763F966898561B385AF97652AE4D5 +E2480661F7104B40AC6A90130CAD43D0B767BEFC65BADA583311E5B6EE262F03 +198E0B8F82D792AEDF38FE9400C351D86CDB7C52B7287916DCFAEBF60530958D +C202AA5699AB0AF95D98385807D968B84A7FB100468C4529613CD0D628B3186F +93B271E7972AEEACC0F308418DA1AF98A63A5A303C846C383A1C9ACE97B11048 +23F78C49B1F2133C323F865B4E6D2AA1225323B52F9C586FD4F08000C6F00BB1 +7FFA336F406CC91C048711EF040EDBF40E256299F1E73E53505205ADEF48DF07 +FCB02F5D97726C153EC014F2559DAF8ABC7006F08C2A7F0236D0498B8D3264DF +63396ACE48DFD3C79570D37DD24FE745496C107D365CC95A38617E9571C1AA63 +7B4E4E7AED216B60BD8E8DE59349F07C18994FF414A09045B9BE5281CB07EE02 +3427A92F9CE85DE54F75000CC9DE58D2EFEF8E3D81853E0BA1CAD18D0139CECD +A56F30DCF88F5999DFF552EAAE78982829448D5300BB08D9818F14A9D458A871 +9BECF2F91476B4495F9750FF9322A44B38B0B11741030844DFDAE96D5CC594E9 +01374DC11480BDE1C823F1EC06C9C111953CEEA1F61950C05BB9FE5B9F19317B +D6BDAA8BAC3FF70DFD0B03969BA2F22612B4BEE355EFED7F84DB3BCB2AC04684 +8E3DD50B382998A4D6042910DA2DF65070564E6C18A2C9EAB8C268A8A3577618 +287E0544AC6747ACD6C9576C3412987F9D1C3472BBF278F7C9B55785FFA7D5D8 +E4CAD2571CACD45660016B380CE26B9807513FDD96D23484DD0AB063DB4FF777 +BBFD9AF095C7174704C62901112C2196C827C6108722EDDA95317EA4E7786D75 +0C09528DDF1BC4E4960791DBB5E08A39F1FC64176ADC20CD8B0E809105958939 +8323EDB1EF54E133B52FC61510D917F4EF01782DD1D4D1EE1927A3BD20A6C76C +5EF6BF5F08A5373C30B5E0A7197F6A85F36884B3640A23DFA6BE42A8B89D6D89 +D9312AEF4C50F66B95BBDE9D3B32994F076D1269C3B619C316E1AB71D7CE20AB +C17D4175328E0E6E8E605095672AF75411568D3890232BE6C15C259AEC31E561 +7CE9D77A93C30BEEBFF2BCAFB8ECFC153031CD1AC52516191F8214ECBA866518 +648D3D8BDC5D7D165BAB011AD527E221050F3425F991BF88A3C88F54091C8B09 +B0D8F00844F8C4605EBE9ADA836C39AEF3FF77045FCCB189CB3131235C701CDB +627AEFC03823134F46BCF7A3BA286143939F28CABDCE6C680F4945A75B985040 +01EFFD4053B2D53CFCAE49A624819A95488DD5A3CC69C76B1CB5E6B253B2CB02 +67AF3E2C0B51AB4A815C5F77E049996FB49464F74D0605FF377C5CC9B2F92706 +2C125BB08B9A0906330212962E94841A533B098D45EDFCB4E7DD1C0E0D164966 +7A5B69615002951E80F571B7450F2EBED560F97BC99FEB6BE21270A2FC838959 +D75A87A7CCAD1EE54F8669DF366D3E114638BDBBC18E2728B70126C263CAC0EA +C2F99A936F790E8B4CB06F4227DC96828162AE88FCF72132C6912EFD701E3E02 +2AE569F73DF756169A76CC8F3BD0A976E2D25DC0B7FADD1ED132230D6C539D99 +56444E02C7B6C98B9CA3558B105DD2EE7616669DD6BAE28F83283BFD4D31C6DF +BF53361CF3B055209688AB8E0138F2860266852A3DB40FFCB0E78F80017A32DC +F5C29CFCB650858D06B1442F8C580C56911A4F84265709195AD1DAED7FC1DDBA +2AD9E035A47F01853AEF9D53DA94D7C0D70280A7042968A144019E894E4BF860 +01CA4EA354E74DBBE94CAC3E85E5EA545AF1B4C5522B15A07E9ECF4FE407287E +87395978F11AC308B638A4C935C8D2894784FDA23E7A3684AA579655B657066A +DFE881CB373D4934364E8DB22C5E531A678FD552A2D5D67B095EE66027673F40 +E02FAD91EB50B8F75DC9500B9BF23C4C6B1B47C24A56E0AF3F99991447A1E7F7 +DC36D8B558C00D9B79C37F16FF316FB5446A9665CE151D210F648A0B93540670 +76F88B3EC719E230FCD0A2331D1E9B24DF6AB9ED7C85272EE765C359679764FB +DFBC0C34193E9439EFCC2B1AB20ACD452F67318FABE14467AA84BC39F8E13679 +7BFDE24078C8D01D6B24D37D53FC830929423A18AF3378762504B4CDE9EC0C5D +329F728669DD4F41D320087275373FEEA3A5FD9DB16A14CD271718777AEF2CC3 +9C62C3854E358D3EED44A41A2D1F03F096387341436E4E6C5484EB7CB4542178 +D6B0B4E237F919152F8D9E86229BFCB8D33DF9AF0D1C7C6FAEB9C6D11B2A3203 +3DA3663044B10987945AFC328FE6F40F1E05096B63C5927121444FF89028B03F +6EC8038BF1FADC240E4F7C0F29D16F70989D63440B66EC8B773C12A8F8C55D4D +2E9046B3DCD915A3C53E9071E7DEA09C2B22244FD50486A53B96E199F7C78ECA +9E22092502FED1072C263D861C05DC4B6B73885E3AC77CD9B80F38A49806D776 +571848560BE3E6370F85A4B8D8B01ADDCCDF489CC6FCBE00A4EBFFFA8AB2B39A +00DE9EF2C0573B375CF75E49725A1EED4392F8D780F9CB2509B6551F60D249CF +337C0EABFDF41F56AB44A01ECCA5D14C632C968C9361BE5E42DC9C42A7399B92 +F551E52AB7B7C0355E7F1B35DBBA45FC96AED455C93DABCEB8DF4FB3EA2C40AA +EF085D447F0DDF3AF7CA2489D97FAC2C726E65CA153D9EC6B5E7C71C69E82101 +530011814CA1D634F32260C663899A2BED950BE41B25CA239C077AE34E53218F +B837E7B6E396E0AB49CB67CD43A0683927443CE0E528440564874A0481321552 +0E44FCA5F79A1996BBD7AB4C8E56B08EFBA820D03FFBBCDE090D218B2ABF7405 +C9E6A7DE351875F518089527528EF3F4F7A039B9875F47393186923C5E37A616 +98D10B7269A239F52F58F50D6B38A50E77F656B02B6DFF3EAE8F805D15D84C20 +C73ABE08A2533DDCFAF431908E772862978941F646916C431E0E308517D8CADB +3D8C5F32233104A9F80E163B9465A1B42F2C86A103CFABCDF52A0C87F0577BF3 +4B836EEBD6D957E70FA5EF377C784878759518C8AE7799F35377E9C384E1FFF8 +9A19604AA99CB59E42BEA3B7CA2508355C56BD744D1CCB034B70C51814640FDD +1497802EE753649DBB6117A1B74FDD47BD4F4E78C6F147F03257CE6641D3C5EC +1A9A84A3A6BA2081895138C2DF1726237804FB337197373E3119AB3704F849C2 +316F95BE42F08D47AA3E7934AB8E09F6E413D028AEB7212CA301D20988E7A7DC +6A88F5BD6D7ACB8A14499BA62D73559AD391590675AB907C4F917EB8B80A1793 +67F7DF308F12BD9C984EE6D9A935568443F75E188B20547A9B74D21736FA1CF8 +55063D865B93F325AD24664C9D4B85467ECE18A054078391772A98DBF497EEB2 +2DD2380FBC4E38C0CBC3F1CC17443251CEFE5D7849D734BC9844749FF7C02F4D +F5E66E0643A87E6BE3400B41F28F26C0F4A6979CC50B0EE4C75B3F8CD9989BED +C94649432F2358C8C2CDFDD5BD7F38DFFD8BD31FD90CEE0E95DEC08A13061D24 +AD69B436077DD39A39525BD652ABFEDD8F72FC219C7291C6B3F0FE67C13EEDBE +27EABE615294AE5E1A431EF7D1728B113FD08E9F8A345DAE9F579C5508BE8362 +57E746FA0487DC1879799D0C01F608F4FD1AE5538A2F89574635150C7D0D3099 +371E6AA729F1588ECD60F0E66A4AB04796C0B05D90A5A8231299055538AE87C0 +C4AB4BC1164FBF23EB2C41862105A78BCE295734D57AC1470B4E2C6091DC23FD +6868316364B9FC0C8133A84721D8CC7833598B51D81420F45BB03781F64840D0 +B72AA42E87FD05AF4A75B3DDBACBD0BAC7B2DBA3DC7A94213A35415EE8DE6DCE +408DB7E133600207A256EAAF61837F4FF9CE1E03E7E8EEE843E2E4E40056EEE0 +E6467A7CF07E4D73C5A839F9BBDCA90CBC58D06767918B0BE4AA2722A2768A6A +32D8509F3E3C080F78CEAAC2E92F4608AC9063FF903763E721F9CC044A1714AF +FC5A5E4B14C74D3901F119F04DF26E064FCDC6E29156E0406C7A9B52E1643116 +E662CAC5F8B14B952547E92EF479D9566F7DA7B06C9E2844A8E56C5B11EDFADB +FB9C2639835A0665FF22496D4B261AB5EAC44985F2B8E409E73E461CEFCF08FF +B050674B58E05684E9A79FE1FC31E998D9344F025143778C98161F8256991A2E +C97CAD29745F53B387387BDD3C1962ABB39D9BAD046ED9C554677B7112BFDD1D +ED4092B5D812332F4650FA123C4813ED0274DBC3A845069AFDED9B92ABE56B4C +B2B348F367B14FFF52C3AEEADF5FA2851C69A341B418C7AB2462EF5004F76FC8 +3D45B9D3E8B265EF4A41358355DFF2D4DAECA436BD408395737188974BFEBF70 +AD9543A3ADBEE1536B27831370A5C8593A2B7DBB1040A41878FB037EB78941F9 +2320DE4402EC81EE1F89B4D048C81F97A88BE8780AF14EBBF4130710825FFD2D +739D352143F5E2B9EE5862A24A67E93A161DDF1095B3676EE853A4409C2E5560 +7D7B814502D167C1EFF5F8CE100A807E8B596F0E61E8D325E4F0660D6F0E072B +D8798568C40DFAC99FEBC2B0D19282375E4FAE1C5FB74B5913C87DDFA45129F8 +8CE783C3A191546D7C03D407DBF4E83C8F434B5648961F74E75B5267AF360854 +7BFBBF6CDADDC56C29B4CA959785EEB01883F62FB1517B74615BFF5B59CBB58E +E2E9E0DF6DB12DDE4F5AF40664D87C5C1935010F2314BA90D65E9A64F8E9E6A3 +28BF57F4FC9D8B98D16F60B7201B996A7C66E0B2E15E8C7B66094DAD9B9CB526 +47ED165AF16EF3189D7E2557E4B86194EB2609BB2B9692CC6C28F085E729BAA3 +282C78EE28FD1B2F57BF1BA48D07852E2B840CBB08F461991A79327D40BF0EDC +82F0E602F640B773C7627EAF7A19922B4B65FD1EACFD67F58BD2BC328E633FCD +E38253B7E0D3E8863B2161664E82A7707EC346530E9A0828FC2A6D8B6284C9DB +4B027F9895AF004AA7D07DC68D87C2B199A172E0551A37C55A715742BE83214C +A4BDA3F57514891FD61D4EF00A7EE360511EF177419FF97A7BFE63B5C591975E +184E3B7877753704E4C39F6C46ED173F8C4EECCCB01ED50FAE4CFE6395FA3F54 +FC400D57A53C2963CBBEC87F96A585940FCC74C45DDE542B97C7C741D1D24B4C +DC6D666CD1F60F0A096484397D45E7F68DDF09481F93912BE4F9EE5A4ADF0FA3 +85697C2B0624A0C2C0EA9AD0AC601B97C41B96EC10F055B6DE1FDA80F7D8C5C7 +303119298ADB6185A4DCE8AA40E782DF8FD0F9F384FBDFF0DFF458DED8D8743C +57F3367230A51B399CA9696D4C3C7A5CB7F809B51C753F227A25C7FB64BCEA12 +93C24498C4FBD0A7712ABCC3F6091AE21E7D3D37430A020D9A407E1E57D1119F +0DFE3379AAAD3B20F37E8DF818B75954045FE68D90AD698A57B3875D882E82A6 +513B7E770BAC5694D088A62506D09B74D9E1D937EF5084B5F9C5D739AF490898 +A837B20A781FF0792E75F63756A334C9ACDD59F389D357685AA0D659F1EE8103 +139A162D9638BD7E2A8D5F50CE1674702C3A59AEEA5C58A595377A0CF84226C1 +74996677ABD3E20D27C9AF84A3B09E3BF073144FED6D114FE794AFF63471890E +3AFE741C6258C821D77E8DCD3F08AD8D11580B8730EB6489FD40B49AF07AAF28 +D859A8DB3D672668018FFFFB9FA06EE71BD8C24516FDE6C6A13756E93F1E7DD8 +7A764008B31214E0DF6B79EC022F0AD1EF6861E018B0847F3D994300CEFF043D +F91CCFCF1ACDFFD7A0712B2173E814586CB6D055B89F150C7EF67B62D346AFA9 +770DB3104E46E66217D98EDE2BFA475E0180490AF65DBBA3BA11895B14F2858D +3D1B4DFE01092FB03BF9CE1A0D432BF31C9E7520C01FD707D1366F2D74823376 +46210F44F0521190A4EE3C0F22E3E700093C25C0D663275CFC275592D7D9206B +18B91167663F8C2BA19B1E43F5A5C3750E55B3157D2AC53810088D33169622FA +5672A9CD67F2FA44ABE91B3A47A98F054C8D83D72C702B121CEC046439073854 +F704D7D8B9E4D4A7FB7B49503B3C76B27A45576E8CE8A43918A1B2033F71D29F +2C14D0B612697DBF00A180AB1183360FAC1D9B45939CB36B20330AA232561583 +F1FCABFEF3F797217AB9A8F76700607469F44CFB2993CB0F680BB526FAAD4DCB +66C80216B8EB4AF7416374506C +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFRM0700 +%!FontType1-1.0: SFRM0700 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>. +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ecrm0700, tcrm0700, larm0700, lbrm0700, lcrm0700, rxrm0700. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Roman) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch false def +/Weight (Medium) def +end readonly def +/FontName /SFRM0700 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-203 -320 1628 942}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E48759F33528B839DFD4B92DF0482493852C44DC635E3E +0E29551E072F9AF208EDBDE681F2A25022B9758023CEE66E71B499EC03B0DCB8 +776788D7C9EEA9C8A55C4051AFB58C8580ACF5C1E76AA745AC43137D7FADDCC2 +ECC373F673B9F896016BAF3DCAAD7A1E982A9A9D5F459EBF287B057484AC0344 +010753C274C38A6704F869833E51F45F91D8FD54CF7F4EA910EBA59783AA6CBE +A5963B4E5E41841A8CC0734ACB9679EA0341518770ADD726DFA8DD26AC8BE0C8 +93478DEE80AA4676F6E5451772348BE3F3242DBF7F727B6CE01BBCBB0F6B6CD1 +097F6065C56A9DB11299EFEA04204672740C1EAF81CFEA33A414C8A3FBC097A2 +789BD70B825861F9977FE1F2C556C2470E710BB50DCB709DC41C337F18B9BA95 +983DE7ADF0218165DFB1FAC6389F1FC446413E660AF4601F1935AE3801C1ACC4 +9A2A696F645918A8546D5C090D0F9AABBC99667D458EEDCCD0CFC60FA74C97AB +D5D3C05A769932A1905F17170A86E307F730F17B7CBB77E583D20DEA14D76F02 +FF9CE7599E0DC09CAB37336C3D6DC6A91510BD76E458F2F009E24983EEBC220C +572E997C37FCDA62DA400A703999BB3862B0F2C8BF611DE181A1F6814CCED57B +FEC1F3573C3625283CD37815AB5F9C0C6FE819A83091CE1D5DE3923B1BB8BF28 +A2C22E7865E86FB42E506501C1DCCD2CBA7C2AB4307080693F54A3CD885FDD32 +EA5A81E6D7C58B6D43B135A8D63611F16C7FAD20D7CFB9565BC85B007D4DE8FF +D9574FB7FD87333B8F00FFA70F271832CE4DCE864095C3C178662263758FB998 +DA57E0414649B9442625ED8F2E3F711F4A871931FA91378F1D3E054934D4FFDF +86FCE519E27F26A8144C7D57622FBE3174F64A01FB6BEDDF2E6FF27F4B23BB20 +B9784BF61030191552277DDC1D0AE4153E4CDF61A014B2A4EE6C78CFC51ADBD6 +0B4CC365B29EA2F4594C16265668EB5E8C6740E09773393CE626A9D6F729BB4A +9784463F90AD6A52E1ECE852D70775F39CF127B912A2419CB005F9C3A50B2DE3 +3B43B3DF9F517A6D2F7CC78E90219471EA02FC965632C5C642A1A2C17FB8E306 +640DDE1AE69B3F433351054C5900F8D4D18CB36C4EED051DAB0765C871FC6329 +57F373159AC49F917FDCE2D64F2604418C986D2AEAC08FC3FB9EF54D834FCFFD +11FD8DA623BFBD5571921C8D75FBCEB230BBA2CE4ACD1D0A7FFD7F1E17471E3F +ABCF3A8113C5F886C67B0D2F337701B25744ABA552243149770B81E3A60ACEEA +96BDE7DBE7E2EFF13DE5B83BCF6A010D9C2F9CB9F513EE814AF7027587020F10 +8C8E0D4A3F0C3CE8A597F2BF67F7AC49B171E87AF4ACA332BDC8CCD4819F6CC2 +401C41405AB4179BA790D1C4853F414DD105E8402AFA7A9CFCE48ECC2D527F33 +3B8AD05931490409D02F3CC1F8941CA9BC0A19E8A3348F9E2974856105954499 +0F98520CB64FF37AE7FBF866535A1FACCA845698B4C033E07E8E18FFA611DC81 +47CBD79254353F36F4E0AF6A8E4D25E7A0656A7ADCC2A73404EF2F397A3BBEBA +973B5D65EDD95E20DF0C11FD9EEAD9DB2057549B55DAB5D72510F8A9111F02B5 +E4A0C6F7FD4CD6F5A578A1B1BBA3E92751BF4083B295E46F4C3CE71601BB44A1 +CB7EC830F322EA5989BEC7CB5D223E526F0D8902D3A1DF2C2B785F8A3EC9DC9E +F6F1E1AD8276E4A5A5274B96DF29D79EA322BFAEE47366095EC334CBF9C1738F +C0BE8A602CC5424CBACCA8857B4DF7C38BE9D03BBFC425440BE90AF57021BBF4 +61047C7505001D61BE66B1A4D3E6D68ABF7C3BE55F7E8C58229E55180EA381C3 +B8504485E3BA4FD94789E8F0ACE83B90FE156D55A3E56C4B5AB4D041064F94F1 +7A4A1CDC8A14AC86DDA6834EF4E9CF895B9BE09A07D56892AAA0CA1763DD2AF6 +646AE3A16A2A43888777D32D687A6FD856FAAE2DE25C9C7B71D30BBACA149CF0 +B00AFA79E4436C6564C3C8774C04B67839EF0EBFB33505DF478C8C12F32A2F5C +12FB86AC6CCF271460659BD4D6EBE275AC2A9BD780CE9FFD454A2F2D28CB0FD7 +8979602EE49524B86A2A957A36890F3CFDAC3872033E6CA7B01FECD47B15CE3E +8740C1ED599F55E134A99FFE63A8F1AB2ED3D21567ECCD4DAEF355F953DAEC24 +3FE25DC85F44E84ED069BE591A7F2AD06A7DF7557128CDF102258F6637F2CFDE +6259FEF86B9163FEB5AC17852E7B8DFFDD0C41E45F7F61CC55F83704400F259C +896B43EC1A43A5E9E3B86B001846E41606DD510D2C7D0BE9DD17E90DAC1AADA4 +63774FBA5BDB44B280133A26823DC5BBB8E2882171382C7E5046F62361978A88 +83921365C7DBD28DDB3CA10162E0A8087DF237C9582217693A50FBAF52406BE7 +1B86D35F23912234DA3D210C726A64A81C6C3C737A290008A595C0EEFC36CC7A +26ABD744E01F0739ABE7C56E0F2ECA5A8AEE0DDBB535193DB8F882B1BE9D7E4E +7151EAA86B6EC144DE291B753BCA732F2E24FDC4CA8C2BE326036CC04718B577 +718330EE8875B34AB842F161BA1A0BC11EE94FE7949D746B5C36CCA603C70C8A +72B15CFF9D1820E68CC0CC63E3A54F87016BAF8C5B46A2453BB0A1DB0CAFCD7C +199D2E7DBC7D8A8567D8451623FD7A4DC61D98D55F11AE5AEEE2C12EFE28050D +9FCF086634B118256214FDF5F7739EBBF62B2836E1944222C1DC54F980A469B6 +175A46AE3A1595A412F03E16A2194688C683D308D7B13FA06629F652EC32AD5A +F9EFE01EE2F7D960BF57C4692316DFCE9E3FBADF4ED841FD5E3A4295B5D7FB36 +AD1D6303DCB61AAB3121C702BF531A9547631B4A9BC829EF1B74D06DF66B16B1 +97D515100F93AFF40954FBD1CE464B43801A35FBCB962C4EA6754905373D8359 +F079840D3F413E146511ED668CA5275403A02A28FBD48EAC90F7C4A07362320F +B6E64530DEA1DB2820BDB56B2EB9F5E036CBC33861018367344C3533332731CF +1D31C1FC1CB6A9E46A291C55AEF9322AA0787B76732E80276DCC686D77CFDCED +41D9055C9357898A0064C7EEA5F1B867DE401B09EBE71CA5DE4E2767AF75E536 +A2CF9A016DFA6EF00BB3F49FAF541FA97A821C7699772E4E916430F66DB9B897 +52E4B15956A171AD001BCAACD3ECDBCA10C2CDDE6A14700276649D850B6E201C +4D2E958EF58893637397AE47CD1B4DA1C520A73527E0F3C9033409F62DC4A7E0 +6D4F44E3ED2D84B5CEB6B88D6DAD7A3EAE2E34233E1388EC3823D030DD8DF654 +30114AB7322575BE392EF94E3EA3004D6D37C02CA2001E5E5F4BE904EABC6BD3 +9053135647587A108FC78BFBD54BBDD8E09F25D875B129DA26C9DFE4E4526112 +28A8E64D8F940E9DD924428FCEC68670BEBA69CFD455CCAAA6F2FD0E2F2F6125 +859100452AAE08844A356990C46BB614AE3C72C7846B5E158A522B5E424B3AA4 +4DD6EE65279D7C5926D1B557C66D1327FF21FE901B3E17A24453CA57F2AF9974 +24CB87D8777787C9DD5B1A5F8632596CB77E73602F55EE3D3ECFFA56DB1009C0 +5BB2A1BC1CBF2D6FBF64BA6446D5B8ACCB4658D0ECD0C142742CC8710E6F4251 +7B8507C8149EBFAF73EB897BCB334BFB0728DA727DFF61B20D59A681931AADA4 +A4C9159A7D960DBCE77385E78500879B375DFA2AFA5BFCBEC5E332DE6CDA501F +4BA0C82A8E45200CAD71D6DE83DC7BD1F33F122EAACDE396251BE474E1CD0421 +AFDF8EF8BBEF1C3BEE47FEB933A6BCA1396F2043E9B5773B78A4F7ACEBF0C8E6 +59D4C6BDA43FCFAFB7BA2A7267DAFA80728411956761169D95A925148B083F68 +9451BE6D0131B866B55FF09AF3BD0656F584CECE76A17151913D7926BA1FCE10 +8B92B759751E10C76409A0FB7902FE1655B33B822830C3B2E11A6248C7D929A7 +82D59C627972AA618682D0AE03DE66B5196C57B881D5D0462B0EE7B1431E1114 +A58D5237009C7C55C4A8621B9643624794DD9F30F6C3579C03206BF002948406 +A8E35B53E773231CE797F60F76DF3EE5C4DED380B329618C3B80B4ED3B0BECE8 +7FD515FD164B90C46081FBD3C2064534F300477C5CE61ECAE26A40DB639AD665 +9502F90DE95A167DE22CBE1645022A0477E269C4D95D6B663A14DB42FC6D4384 +B9FD83FAE697F01367FC98ABDED489AA7158495B3075A43BC855B9C55684E5F8 +1CFA25492A4509171C1F67D2C08E8FB1A81D6663AC4B028833926C4F52F45A28 +00E87A58D2469CA423FDF2255B0D45388E67F0AE516B72E82AEFCCF76972E049 +2600FA8EC8FCFD3FE4F4BD5FE649A03D0269FE3B9085CC680B1C5F19476091A0 +EE9B14C72976CCF55F2E61DB62F5D16063485594726DBE4904FA0B90AD71DB8A +DDCB6EAA4C14832705F37B72557A6FB3D590A51BC0350662A4098F08CAAF7D71 +79806B176F5A4B26E3E6C6C63D373CD1ACCDACF82E74D2136DC7A277FDB0D72E +63755279EC160FDBE6859E9DD7C64F95217A0845473A9946C4C556603469105E +C3D4E2F0230BBE74792D1F52A58D657DEA997E133DC99D44B8E793E2FE0E4359 +B41B3257AF837DF2DCF4D25B5ABF17A2BE196E5E1366EDBD5C8E840497D01DBA +B7C573C089B975E7707F5275AC0F5C9BDBB254505673655F4CD050C8F45CBD90 +2A0FAE9E741F890D5B26839A647143D1F9A6800D4EC4FE4125774CAC70DE94C0 +A1519C3483556D3B22E9C6092E9598D006DFA78D98F352F67530DB5CBBA6E15D +977C0F4B860EDFEF53751328E391BA09D252A962B02B4234C1E026AFD9B5D801 +6DC7E455E771FA41B86F57900A9C7299AF2A70E6A8858DE675FB68CF2E2C06D8 +BC584CED3882466910EEC2A2BF84375A5B8302EF81E571161FF04167E0FFF971 +DBE1A9D19953B691444E262CD6B7E72A0116E3379AAB8DD2BF3C2672A4FB796F +59551EA794895FF914DB416CCC6883242F7EDB6FEE53989E2081E54D5258A8BD +60E5729A48B8C3E760F19FD1A8E20B38F642D54197C26130F4E6CCB94D7651BA +AE60063291437656EE331F452A1BF5CE9DD8634611FDF0523ECFF6048A67B6C9 +149975A538C936EDAAEF98864FCAEEA8500D58C483D7FF0E0752D104FA177E1B +809739E25CF526F45B6665B82189DF94D50C02D215294D22681A0F9F7F3BD270 +3FD5F48360371D61A02E73CC011F38E34B049EF3BA4D6B84E9BE81F5020C9C6D +8A79A0FD0077FCD06D0FFEC2FCC2DD5ED0582A07E175A0980354F775CCC9E51F +5780F79E2573504E908773850F02E89503FC4D5C87BE11613347AD972595B0BF +D0746AFB81B097572610C7EA038CF4B904F504642CFD40FF950ECBBAA02E2544 +2FC4DB96C15B184EC8C63FE8B1DB1193B8F9615EB2E76E6F8B16F3AE7AB55064 +EBFBA78A7B05DF4C366E7E0DAEF7187295EBD56063FDCC47019E5AD3F62D930B +71AAEC8B88F1F5DCBACC2CBB94628D669250626AF858F9A1959288FFB6363736 +7C81EB98A5748467C5D8CCBB28189AE9C43D83F2E81488637ED5C6424C6D0960 +C4FB2BC02732C5EB8F7753DD2A8F4654B1F2497A10935CE8F681DFF83E7AF220 +D40FB900B820B92DB77892A7FEBC6C8FDD73E0B5E86C8B330BC03489FADDFFBC +47882A58B93EAE36ACDF1C7D5C65ED6EFCBB8878833EFF01F731DDC573AF3EE8 +2DDC0BC62DC80E8CB7A1A2B2B8BCAEE867F9CB65F0340976EC388B2670558DCC +656F54EF7A0051F6319C550C26992BC9A2BF3A718F0E6D9532355D5123A91D30 +C8DE870B14C732C9336649C93E76430950940A49C43F022989DB6405624503FF +1F8AAA2330B9F6F7900517F450A35191227FCD198B217097785D120F399E3008 +0C857E92A2614CCA05073141C80EF295AAAA002172D37C39F5FA2C09BA5A3025 +263C051519AE32FC392F46B6BB9402758407786064099C2AEC2D5C86E975DA62 +E91B6C29F9B59BE5C74895721DCBDF10ECC5E68E79B6B77D1A48F1EC85AC2D60 +FA34AA5ACAB169C4DB747D16796899F819A7F8E828FBFED827D89770D84B4BFF +EDD14033E3B2E25AB9C247FDA0800455244AE2C6444910DCBDBF5317CFD553BF +E4694614F01249AFF70DB09C56ADA9281936DF74F71F2CFBFECFE9886B190BD1 +B8DD2304A53BDE1C33874797D981D981AC1E98CF9100A2619C4A3B17724B338C +356B42380C68F185980BEEEB98BFD21443054008FC5CF978518A50D5DB2EECBF +7D46ECE48470775838C0F5B9530FC8C10E7FE8B87D7FE416B4B81B0EB636E4DE +1AAC22EC83B92A09FA0CCD03A7DFCD4FC2D580998F9E08DF914CEE769EC10EEF +AF9E32278AAAC6CAAE7A5E7662AFA964DF5312F92022C5D8E513D4CC5F0A18A9 +6906514057D5370F1CC561A5FC8F1519C29CE0BB7329C0106A137F217924A751 +071F7636A6C3A72D25A11EE416C4FE7DB9771BF47465F27FD72C7ECECC16593D +E38EB1B2D55012C8D94324C1038D86CE27718681BD43D69C26DD0B3A2CA0D8AD +9A1D51ABCB54D1AD938600D8EDAEFEC5C5AE6DE03A87917E30F41CE95C2ACB88 +6F8E5DB510FD40177B4E700546D2965D92E61ED7DF47148041D25A7835DD6E39 +CECD654950795D08A0D7C797A6FE0A07D0E99F6270C871FEDF9E4DBDF036C839 +1A34CB3E2C22D3003976AC2E0F8BC59461A09EF3A5564F3A8A8517B25EE15BF7 +6A1816312B61941DADAA5F9E8A1A2CDECCBC03A7B6173EFD8DFE1BD25C23001D +95C0DAD9F2A1BB14D6191D511982A5D8EBED7726AEFF2165228D6FB49DD87E65 +5B321D70FBC7D1A294BBD33CF33DAF8A4BC2C999DA93F9BB64C3D4CE44CC616F +A04BAF43DA1C74EFA33456371C541C67748FCB30A352F141B903914003E0EA71 +19629C1A5597FF7ED694F8D90AB6DEF1908A117934F11144E6C68A1B6348449D +BCD6EE569C6800389CBF12C7B22D8512F1A5245E37DAAD4E05A3D794B7D1FA5C +0E0D00ED43E67633AC39BCA169B6BAFF006B69B6D818272612E554BE182281F1 +B3628A6502263CDACA54B5051FBBCF0408B2259EF0317FBD248720F8E4D5B4D9 +FC0D30D42BAED7D0D98AADAEDD95AA28CBE166F6B877F7CC251A1A6B032EFFD2 +64E7569C5E7DAB444162C212D6A55B73A04B539C69C3A973CC3F6DB72E310B73 +572A556E126D289B5167DFBB7EFA1993445F29FD2B297D0CBA19482CECBCEE7F +80EBAD6D2E6D5993AB753B490EC5569B2DB12942BEDF7A40109543A0E33F06DF +B8454F8BAD8A8ED1D017A68C7A9F57A11962E3CB7EBBA4BC62BC1421DD7E62FB +DEE63C22CE0688CB38FAD877C8818CEC5F7D18EA999ED1B7414F479BEA165484 +DCC9405131AA659048AC21384C28631A43B722839B5D76C73FBDA5BD8E129363 +F2F130DA97A0F043F08C6EFEA7AC8FD41420C4CFAE093323981CE217FF8D1052 +2CFA6C233373C9A04D6D535F422FDCEEEFF00D8649F2868EC52EDE61B67C0F61 +6611A90F96E9BB87EA87FF6E8186B59D99604AC5A2C17231E0DF91E46DC72505 +3E3E262EAF87F740D2E01478881F66DD0D21798A2CF51A1943B8063CD10932FC +7C074A1BD61474104C3CBD3D29031466E7411364878591ABADEAB2550914DCF2 +7C6B9730D932ED166236573D8380F20E39783AB0D3E5B383515C177B9818D3B7 +D3B7ABA74066DFE96487390FD4704DE0024936D17B863049DD3C91A0EE8C67EB +46779DCA5740C355A09077BE453DA07F67DF4D072AA91A229C4F1E52B0E67A56 +39E34BD9F1BC3527995D087305FE9CF9E7D74B15B368FA5A70728E161C69E821 +015300142A3443BCC8D308A87B579F8C7C23F16CC76DF6BFF8170AADFA5A728C +31B3352B33A999C50CA17B7D076C6009475F81CDC71293A5809F6D43CDA4983D +20B805962D3A5049AEB66851FF6AAD3B1D842958E6B651789BDF83DABDAC0B20 +D2C45B2F76EDC73A2332A8F7611C697B2358EBC0358DE506B7985A34C661DB28 +13651C520AB24E0D3850EC9F51D84BE4537DA0FA7E0C342D3D61C69641C09833 +98E677B451E00AC3127FD7EF01053DB503773A3FA39B1D4E94090B1F032C8103 +3CB87B0A635A3BBD3F94AF1DAAE06FD6BC39061814FB4CDAE4E7320FD0816287 +644374D8F83A266C47DE3DC6B596D3DC87AB035DED1F804A399D527D135E52C9 +CF6A6877852BBEC3A0C295D1510ADD011D365BE2C51E7612A80F3D9C39763163 +E56C5E1C9A35D8B773A8126FA10690C9260DBD8815D319AF700A5FCF65476B35 +1D4032278D13574FC2C667638F1C83B9A24918730C0FC37425534BE0A0AF6993 +B5FE1422AA7045E7A9BB9C95F6F0EACE21073B0644E4901DD854D2709F17DE12 +E30B96DB62E90026C231610AB9794B39CD9E0602BD13C3593FFECCF79AF452AD +F17D9E84A54BE377B54EB6D9BD1D20BD56E495772C702C4FDA23DB576384D456 +A6159313B0C2720DEBB9432F01A550980BF7F3796AA817CE3DAB393984BFEE7C +64ED54DD390F067EBB85D9935823E4FFA7E954CD121204454B952104FF25A308 +FDD23BF1D08E7C5893D93E4F21F7C16E9B21C62F2B79922B1A9B23B06E0893AB +418AF962394550504EA68D06A0AB66A45A2B1A0D756B5C7DECF1B0E138E55E8B +08FFA75E0E4DD995D035F1FB391A6239822F22289B07904E2B745650C2695930 +D3D5AF7802187C22DC9FA2E760AB1D04F95B4C11422AE12ACF74C361D81EB5F8 +C9F89BA1AACD47D5706D9F0A6B016069E90783AE6AD73D8CDF09FFD552163CED +06A1FAF22F143CFEB7394D5B99D465CF35487A11F4E4ED26530CB1B2C5ACB706 +A5C1853F9AF629DA7E638C3346BB7DA15769AA6C705BB50ACEFCE078C19369F0 +F95BBBE67960DA4A413A00CFEC4DAD2CAB9951961FFFD41CFF622F57F0BA79FE +F8377A061435DD0EE57F6801307A4C719FF10404082E069ADC2098B971664CFD +BD3F1808F705FC0DDA50D742B3DD3441DC391D232034070D8745018DD993E832 +C7087545BB7EBD0ACD83CF8ED9E65D60FD9BEFD2D0497A8FF563004DE3BBDAE5 +80D9FFBAC5936F1E1041C7C82BEA9D33ADDA96924138EE471C943E9F2578C0ED +9F0FE81A58F720904E41A09C8E620280BFD37113EB593027705BADFB227F6B94 +555F9610FA63248A467785F34513440D734C53F0825896AD0DD462D8286E23CC +0CCFA96436A09A66A92692ECB8564958BA5192E9D7B19BE34C32D70AE84699D1 +8556A92C123A3E4A0D08987AA9E2BBAFD0DD1940FDF9A4B7DBAC147367B175F1 +BBD9459018AA81D0F1D4BF85B1FBE305A01C62062EC6480F356EC5DBBB5783C8 +294E84BB9E4B7E58955E2685077F066B5579A4C94BE60E4F803AEEF852C12A13 +2BFF79C0CF85CC81333971CD93C9FDFE3BBDD14A68CE87B7D9973555CEA06B5E +9322B1A6CA9DC9E2EF984B5CF57A3C63B8A7569637850D2AE40E2C99E18907D5 +1ED4D40256BAA74303D3F2071BE5C83214F75082654AFAF4CCC70AAA293C0EFA +703D8F38668E5B029DA47528066BA092DC73480762C5FB6D70BFFA48734DBBC9 +00398534B47160DB99A579EC88E8BA13A7B8DBB6040E07C628ADFA0BBD27CC9F +F45D3E09294CB02100C7649003F84951DD642136CBB1D714DF8ED2259395F9FC +F7BD8903616A802A195D981BE9C9FE203C53FFF502ACA18CD14FD71402EB3502 +8B31B84272A26A3DE2C2E28436CF9546D1A66FF7F24F46B803D45D4E2A9B63D5 +D06DB1786BC77C86D59EF3AA782D160F9BFCE4B248333C5C814FD022A35535F0 +DAE95C28705A11421DDB10AD9A3D6C4DD4BB3ADF55F4C8A7A1D1586C00039806 +CEFE554DE1FFA0ACDE9B6BF7778D7C7B7D71DA1ADA92747A342F4E4FF5AF0218 +974CF2DFFD420F77F92C688BA3152DEA46756F6111B519233511491DDBBA0A2B +A18D2853F351F6215737CAEAE6F16247F6C48155A30A3B5A5F84083C72896BBB +F3D9BCCC58B4FB170514406A9A18A4ABF3AEC932F59D55EC9EC2A13AF37C691A +7520446FA1266DDEB7A64A1A0A99E4027C18ACE894B28C88DD46ACD5F72204FF +176E12C62A3630C90CC8676E4BAB64361F3DD921373F4A1F897F01997D24E9FE +88CB321570A99412D0A69C377DDE8AC8B2776393C75219832783FDC16ACC0186 +CEC13397B5DDE276EB0D8B12B256913E5070675B950F3AF6BF82772093C6BA15 +1711258881A3A8656C0C5EE499A8D210044D0E9F952CE31AF4E17CC1F93196E9 +A924154F41D051FD93C488DBD72DD54B96DF1275DF573E4C7BC68A05EB709358 +E23E24F2A6015198078A27BBE36853CEA97EB561C27273EC391D3D361F27B3DE +B241D1A62CB567BC1E7275C6311EA1F81B834C73297332C338032BF4EBA18FB4 +CFED469E2451BCBF639E389961F56380DA04C4AF200FE0F2066BB058F9C26C5E +B7E28467107305F5FEF70CA241D0CDEF4030377B0EB7875A1B125267D985B621 +FC39F4A8F868D6B0A8696C753A50CC0E74977CCE7A7B7DB617FBCB3CD16C29CF +8F8F6BA06BC35EEB95637073FC26EF3349C67E25F2CBBB081CA44CA48BABA007 +8A0AC1B8AEF5E3292CED27F1F0C287857DAD3EA12433669FC487660B3C019D69 +D5AF4650A55D337F12B58DBDF17DDE3CA45312D7B0EAFAF57440AEE816773EAD +CD4DD36C3EEB87C6B3C79BAAEFD374F9E0CD71A7D5D51EB5688187B3AA4BB903 +476FEC7EF998C17E1BA181478BA5733CE1653627C2BCFEA672BDD0706C4DF71B +A27543B7291FAC2FE211F992AC7A7D0A1C30A2A22C16F67E46C2EC172858409D +442D2CB77DA2D90F257BB664B9BF93568CB220B2278973D5F246E7ACBEC569D7 +F9D1298895F65E12326EF2141A4436086A308D4FA31635484CB7DA3C5942C58D +E7241B07B85087CD094EE00DAE9A20EBFEE7BF8BCE7D61CA9D4022EE41ADC729 +ECB5AA19FFA0CF414268C4ECBF3063C504E3AB6EB3CB67BFEED5893239639232 +83A1C142A2A2148EC0B081D72A703D5328A1F444771BCA405B26527885291E88 +F499FE569595C0865FAF03A38C60445C170F0A8919B4D2B973CE656E5089CAC1 +6F64BEDB8003EF517E7AD0841C8436C59EF20421165088D9D53753EB25502A50 +C51EA7C3239E3DD2239995B7280403DC4A8548189C21AF07C0D361EB5A164F1D +A48863D0C7A833EF780721DFCEF25BBD0A0B92612E81751DF1EDDC95CFA997B2 +02535B53CA95AA7E57B57E3635DF30DA78AA48958BC3734014EDF2E2C3C22817 +4CCD901AD9E7E7296E1C66EC000AEC174BD407EF9E2FF67494E212B30198CC04 +7FA084AEF76C7DB9FF2C8305926E51AD6D20490452A2D42D06649C3B8BB5DBD7 +3871CF0BA4B78252C9F8B1FD55EEFB5131BFA2BC72F9CF088C618E37C5303E14 +07762DAD95D6D7BE289E41EAE43D2A03ECE6B61A9700E5DE7BF39BA0965DC030 +DDA4016A760B530A81C6744B50DF8A912EBA8E906E9638799F3C684870616299 +27CE034EC6631577D41086C34143F401E6166947B3C96BD3F38EE230D39F55D4 +69804A40EB951C9DC6E4C653DE2541979B3F330CA0BA37EF4B48B441463785A0 +CC6DACA85A9214DC989C163879652DED2ED22E4047DBC44A9AB9CA1361612272 +6EA87CA5074E5E36F3F46AD1CBE9F5644B63DDEA4206E93261FCD6EFDBD2C70B +5234CE5442661FCCB32BB13CBE2162222C042D0A51DE2A47FAEB965CA8070463 +6AF299652B6615176AC7518B7D4F8D376FC46CF6937C61BD1CF2F49BCECAD088 +DA0823BF66F340E3D277E6D7FA46E38AD3A5AB7E7B752EDBCF667062D7B84137 +EB3990E25CE9C1352A83877A5AD37474F7534D8EAEEC9067C13FC71813B267AC +85133DBB3FA6FF397D8F74A19169354417E63E4FADDC9FC1B5423DF29639703E +4E24729D073F79F8BDD7452CB60FE1C43A290BD11A408744E1EC0521F928659D +C795BB1196AE1160145D3BF26B3EF78BCB81FB69539BDD6C22AE6857A8546B3D +5F8A71867FC42DFD220EE219ED209016CBAF3AEDD69D18BBB97E0F920994575F +C2A0EC86609F812568642683A65C1F5BFB591FA5446C3C37310DF15E126F0554 +49C2B07980A945F6D6E2AF41C69AE12A8606A1C9A9018E271CC223E4B3333A9C +3A491A2451BC13F1A56D3199D004683C0DD91FE61F116482C90A677644F35A37 +C46DBBBE5A622C19507288E28B83F808E924242A8EE5408142A6BFCBB5229888 +5D75298EFD28F3F4EE31184A4FFF586137CBF91B85A64BEE693F920D587E0CA3 +DCCA1DDED3AAF623E395B4711D69548D1283B04A4B2984B6E89DD50A27964E4E +9F815BE0C42CC62C47A61B7D67B1047527F04566CB60230107C49D1532AFF59B +67094EBDFC3ECD753ACE391122D26129A364A6E4AA6BC72CF0F8F428B999EC8D +13C61CCDE1549E2A67A9585B2ED15D02F1E9EF223EEF93FB80CDE2296F774B0F +9B33B92ABE283D4DBC09198D47454993DA72659E34FD779787BC7CC263DFD03D +96E824D1026E8EDD22E25E81035839F926F00412098554C9C6E61905BAB698EC +9A0F37D62192C2765795A969DABE55436E270D396AD7D782927DE458713D72A1 +D8B2B9A001C8198FDCD2BF6FEF5E56C38B4FF622DD47A5EA6D980C198A91BC57 +E0C9375BDEE41C91C7C636272AF85744833C42D64395868642384B18F71B8A7E +146508AD0F19ED7A49EADEE9E2CFD09AE7ED8733F8BB7AB0A278DF2858F70623 +8F9E663CC6B4D961CC47E3CE8BFD5D45AF48B98680AEAE0847205E5700D143FC +6E56F32EDF3DB57F1CFF1598F5BCB06AC53BAA616F1CE3A0272872917C769979 +1FF653D88D7C4BAAFBA4DDBA616D98E84886F2027BCC7F5C01AFABD6D337964D +25A27D85882992CC142E5066A11E62CF5677FA6387DDD60AFEE69D31EF0FF4B1 +D62271725C64B690ADEDA39F97ECD4FF1AA8A5E3BB3B1BA1C110F2B396828215 +D9B5E8156DDAC7D152B57EAA4A0EB5306233CD4233F3CEEA9743C2BDEB03C760 +A97A914018F1CF0A96F1E2859694A4FA2434474DCE77FA2D4AA336F6489F6C58 +D20CA26D273126228E3C02D8A5BFE4B33FDC0214FC6B946BA07D825037BFC6C3 +D9A392328DC21737522D04D949726B106DF860AB3113936DE2B88F9D821AAE89 +4CF56E2CF620D73833CF07C91E60AD09B1BD4322E51BB6BE5A79D432F7531EF6 +E3AF2069AC043799A378099D570F5270A99F9EBE3CA063D0DC763B3D368BEE9F +ED1127289EDADC595BD80080FC06070AFD2140840D0492306A28FCE01682BFFF +18BA8E48CBF164ACD3E9DD0939CB2D0C53B1B99963A46D265EAA1B798DE74D84 +87093079AADA3FC574231BB37ECB6ACF0AFF4603E0D0E191F7DE5EFD7E427E68 +4FBD3ABD7E78EE5D8E46E85D0C1B9645D9DDE0E87BDFCAB81ADC114F1DA38FE4 +0354CCA83E15D19F822B90A8E3F8797C9E55ED0003200CF56495FBD5DF251BFD +4472D773F06DBC7E646A9027D9A4A0CF0CB96FC867553CFA98E8BCAC2111530A +C1144846788F63A2B35F6D6F254F6F593F260FDE652AF510B300C62630EA9474 +437E26880F70E28F92EC4E1BEB7F6D60779803796A578397E7D47540C6E30A77 +DC4730380E48B7B0231A0E4F6FB0D15CA028302D43B136B4EFE296DDD061A9C0 +5EE6CBAA454AF5BEABD6B399D187CEBF35412F263EF0205C932345624EC0FF39 +6BF0FF11F398BD1E6A6297D02A37242C790539A7F5942683DCB472D3BD46F1FB +B4A95BC3CBB21C545A1A57DF730AB1E6687D416F466119C7F3DE1E8B27BDCF00 +37F42B3F7FB1E54F3D85B54400066FDEC97F1228D717F63E2B293A18453E2A5C +D38D0DF64AB2FC04FD490494337966CC36F2E9DBD18F657AF2D361278A015663 +801E9CA8A250434BFA5394D8946CC7B64D679E91238D3246585E901DE09D3598 +A86E85B4A50C1C29DDFDBBDEA63E7113A394C451FA958C02E16D51034793F71D +A17B1035BD431F7DD1C4F503A6DB7744095A03A937EDBE3A0D93B1946CCF7CBC +BA5370F812E528C54E637575077843F9EC6DCFED973217B0181C10C96BDB493A +BD08F69CDE5D25AB3C7843A62E04DBD97CBC25C514C80237F9811B74F878E624 +6FB1869E3A013A985C4858530E8EC04177E0B386ED12AD96649AB22A42F5686A +1853AE83A1F473B4656D2CE0133EF352D2A2FE57F5B094B3845E68747DB56030 +3D27F1680541BC19DEBAFF1882C38726537E03ED68CEDA0534DB3893F7EAD80E +240791AEBB77714F29C84FCC78E743386877CCF89E94C8D62A4B7A5986FA07FA +FC2AF55AFF298983C0768CF30EC623910DA93C4A471BB1B68DA5B2B7328618F0 +BE546364B76248091064D78B5802B0E0E946D0DA2F37BB308441284CC9706038 +32C934E878EDB5FCFD907B8839FCDBA142264F3AB39A7826A41935DB115F5DDD +AB63FBF3EFE85CB04F3CC3446FD8D86209602125BCB5579211A50C0FB239B7BE +F323C147D842FC71C3A32C5D978DE389EFCC9B946EAC375FF96FE00EDAC887FA +0FFDD5A5232DAE91D1B36C4222A4FDA12F8D845FE593375F22F89A4FBDD80716 +F278B8FB3D8E003B5FB73C37F6C534847169686613B4A8DDD28D1447A957F482 +FD1CA006EDDFC956AE94818A9AFB202E92F78097E2499B5E907F6FBF58204193 +07A9F13E62BD1EE3FA0EA82D4B4A8AA606FF1112857EF86F12798447241CDB8E +61EEF2243AAE185CF4EE98E79B0FE4F0BABAD33DCF6704454DB0A8D0691ACBE4 +F24ED862B9035F96EA404389C49828E66A08BA8E7D6E3D21741EBABEAB9CC9E1 +640D6EE109B93857CF29A6E89702320FD391F1F7A588995158ABBFBE00C989B9 +5C4E9E325FEDC4A05F1C8CF27050FB1547609F82C9C5E658E56211C41B8CFEAA +99F2C49CBAA451670DE1772E2B53AC09F701C499A48F98D8E0DCA2BCA7EAB3FE +D4134EC0096839B0D9A96ADED7C5F97BC0E11AA64AF5B1B7B1DBFE6971F5BF4D +7559AB056C63EF1CE60B523FDD769ED6723800B847B082CE32F2DC71E78A9535 +2F8E92338E259998B8A12FE1329B64CCAB8C7DCA0569BC5A58F1610897040FFD +2CE6C572A92111787F750CE05598B021D3F930465DE23874BD78A0D35BCEB6C3 +7766ADF60F3BA013E8340DBCF4E7020DF7F8FDEC349E1A692CCECB15AEEADF99 +06F3D6550CD4863D14DA4516A68823B0B2FCC7F47B131595029D3C87AB682FB7 +EC82A46F013EE477D8C1D08A9E5C4DC674B48F5F6364EB2D3621ECE9A3592DD8 +B90691B263A18095AA22BAF2D46BC111548257CF04C01842BCE6170013FCA827 +5FCA4794ABFFD5CB80FB4F5CED3096538474EA757ECCDD99984CD359B428F4DA +B17F2F432E8A0E2E067ED9FBA5BD137CA0C5584CB46814E2E2473C65B2214F0C +F77069088565BF1ACB613ABD7A82D2DF321DA8B3E92A15F2F893911F485D72AD +3D252FDE7BAABD964506D26E864EB713DF1CEBD9158863E405B2C16D790CEA44 +26F8314708FCD74F86D78BEA53B81CD29E74CC1B04AFF6617B9406DEFB7FD1AE +A44615E932929F4F0A2787D1A8D51D777C7C45C6DAC92F7538F4CC2CCE43E0F9 +1F88A407B9CAB5E094163B99D4C322CBE25F18E0AD664127E79D16D81084098C +1C063C131AA27A118120414E84DFC8B9C2A3025B53EEBE9AF03CE57F3DEA6CC5 +D03536974D760C1E734E1F5C25A7A34F1E2C18038A3C9F14C11E3DBA3AF10CB6 +AF8D8C1970A5B2A1FF3928A5DFE9192EB55FD3B412D20F408B7B1316309B98E9 +ED5F55EB5DEC8B09F4547C544E5123A95A3B3A997F5A8F768512415A1E3C8FCD +E6861E79024DE59F158895D5D18801AAE777808C22D3AE33DB5BEB20C663C8D6 +7326B3CB0ED3A5DD613374C2E3C006CEA3C1FC7BB3F69F4F3D653004B9BF83C8 +7DF8F42AD90458D762B27701D006C67C0C0327ED383A1C49783E4CDFCA635B21 +8FEA611DC8E3092872B4AD7DE34320C3CCAC28E7F552C61789FF79173B979E6C +E6701502F0881633ADC2973885F89CA3CB3B96A5860898B17B776CEDED2143E5 +AC821F9CCE54F8072BDDAB17088063E4687FF54C1079794CBB37B88A89639437 +2BDAF37CF904B485109417D091CB376971A83128781DE7DB5052C09B291335A2 +82DB7065686A43395D90D1FBFDA8BDE095ED8214CCE702F249A8EF8F2C3FDCF3 +459FFA35D40DEE6F5D84B93C1971FE5599AB2923202A2D7A0C319886CCC7537B +281BC9BC2905005D0F0912D4DDA6750BA4E33F6584EFF5541CEAE787C99471FC +D1D5E959FAB922FF95B8BFDE03922890404A22822901FC57DF8412A02A40069A +6C7DF4D5BC45B505EAA44A9149B0AF4DBC71977342215880CBEBD4B3D7F7E41D +B0CA512BC19E847ADE48687EC90DB5346A1A752BC578678E28CCF908B6A32D04 +CBF3B9443DC4BD732C3D4D67657D7177BEC7A15DC2C92120ED337B08ED13B13A +32A0AB9CAAF7B9977DBDBFBD5A4DED107D33B973A8602436088ABAB4F7890C5B +24398190F2812D21627E2CD2F30F8E4BF6009A82ABD5D5E0966FA0EE62C356B0 +04EB823A44016E579E724FF2D0EE68F1381F20A96B5D536262D58705EFF6F51D +E34B5F7BC89621CF950AEEFF1FD89E1EEBEB83DE1CF667FD366D41701CF11592 +09EF326F2B88B9955A96E32A02E28251EF9FFA8EFC1040AF2678455A96473CD2 +A97225F8C93ECAD77B478B6D51B70AA6D7A9A4A0B73D58470B10C75E2913734F +7E6657F480E09DED5232123DD13B9FB5BF1DA7697C6797CD19399EB8FD6B87E3 +DBDCF54B0154A1C6564ED336D1908785A8A5FB0B145BF6ED7AD91C02D2E565BD +F8C5A5F0A619E7B28B9A30BA16FDFCC5234F9891D3291CA8B27EB2A8EECE4ED6 +6E1DE553F845D3186055BE35E51C4C2F78178F93B12FFDCA3CCC1122AD68F12F +2FF2BEF754A88535FA014CA1A958760F581E51B2C9D205F67F76CA8A73E835EE +9BAF73DA150DEDE5BED41C4B37110F01BEBD3719739EB4DB4AAB9CA76F92C205 +9AF5C08B5F2DAF9675A7E07322452DDA5D8349061A01093C86555660E5D84A64 +F0034AA438655B50123DA3B6B3F11DB84A6D954ED765423ABBB9F45286869F07 +D3E7D68E53029914301A839CEF831D963195DA8AFE09C22F0B6AC38CBD057027 +512B802B53D6B1F16EE945B46B841C72F4AC91A7E6FBA7 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: SFTT0900 +%!FontType1-1.0: SFTT0900 0.3 +%%CreationDate: Wed Sep 12 2001 +% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>. +% See the file COPYING (GNU General Public License) for license conditions. +% Converted from METAFONT EC/TC and LH fonts: +% ectt0900, tctt0900, latt0900, lbtt0900, lctt0900, rxtt0900. +11 dict begin +/FontInfo 6 dict dup begin +/version (0.3) def +/FullName (Computer Modern Typewriter) def +/FamilyName (Computer Modern) def +/ItalicAngle 0 def +/isFixedPitch true def +/Weight (Medium) def +end readonly def +/FontName /SFTT0900 def +/Encoding StandardEncoding def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/FontBBox{-210 -359 1376 844}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 +69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB +CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 +F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 +F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C +EF25195F68A2A98170E4875AA1B1ED6A435B5950D136AD73C6971F428B426C43 +EF6BA04718C56B3F4BBCDCB96EA318696C5D8219438F35CDE7EB43EA820F8071 +ED3A1711AF5838D3BCFF9EBE45C1D0233E470FBE967365465526E1B356B5FA9B +EE60989352F1A6BA7384F7882FFB0FB2572BC58896CF6D5CC0FCCE614E95AF5B +661862F6A9EAE5501CFB34B95B833FC180273FD88D23FB68AD872E49FA25F76B +C922A11DB6F8C1C06897034CCCF52DF7199EC7D17771C8E640088AE27CF1454E +34B0DECFFADCACE80C197443563ABE34BC422AF9C65141D6A215839C521CDA04 +DE75B43810A7E57954F25FB8514CF3F1A0996031F3CD9DC9D37A8BF28C7295AF +A8094842C0528401E61EAB53E4EEDF7820C74B5576C30A61A98D3657F7D40FBF +ECA60C44B6EACA558451A23F10AB2350E40216C1B074C0CEF3BB61505E9D3AFA +D0E54D16A6462AA90DB9EAD539D8CA243399DF4B1F0120D28B7133DB7D9E1FB6 +3B9308A0B937FFE2140DF6725E4FA9F123A262F25401F4124B7B21B96144EA5B +B7804086A958A37F1AF271B4E42385864622093CD5982AB635B1D953DD5FCBEC +F9094062C3BE52EE0A67D1F14DC6447B613F66EABD8F648FA9EF53F7B4BEA58F +3D31E45BDC5B055072F09BEA14526CB74EAAC483E72C05CC9755B8BF267E9B67 +B2251E029F1CFE2A71A2CC879076B11717232B16D5EBC945DB067EFC870CE89C +529F31DD59882963BAC745F35E0F24A387A2891C43C7B444B25607C49F25EBED +86B1CE2E4E2D17E888A6AE69C64224F7C9334D3290291E6F3874F9F48564FA53 +9BEB4B99C836653A3050A893EACFA4DE898166FA521AF1D2FDC47FD4DC345331 +9ADF6A0D1E7491E51313D6BF89706FAE2CEC255B464D479D6EF8743FFF28036C +80CEC4A9219C8F4A9B31248F03AA07329268F44A317997D469E768C4461C0EBF +AFD24265AC7840125D9C77BA76EC22331C2DEF9A2E85A226D4DF1AA509737DE5 +21197C67E3159951324268E51CA72EC227B20A080808C7300708BE33F3599991 +D07DCC84F7721741FB17924690AC44621F6D7A1C21BC2531C8133652D013BE71 +5ECE4EEE1DA1C4DF97A1B435BC1AE23B20461FC129994E37BC2DB86E5487C9BD +B503D6E697ED90E3ADC4B74DD3B682C3C75A985380529B43E9F27F411DA3EAD2 +EF737DF68F9858E539ED637A3A637CB9592937F848EDC787B34E644F5CB871A6 +339B8A754EC9F02CD6AACD45E5B15CA0787876D75A38C44652325C27444C5C2E +E1F179055AE55D2C4D4F12B5B8758C87D68C611D1066A9D8C620BDC0F22D5DCA +B19AF6D54931665D840B3BD946646F58084A7FE5A196C0A0C76BC51B7434ACE4 +CCBEBF778CECA243AA068FF90F702ED2F3DE01FADB7CBA2B969FE5B436289CC9 +216E51BB9FBCB98945611121F5731533BEFE65965F143B00A26A6DD9CD5BD012 +DC48E4BB72EDB0F4C743474905B1E7DFD42DD947DC91B8B94FF94A43F0C27314 +3E753F3F77E87041F3E785D5DBF5A42B5F5DF1B0B9984E3474A9C4554A086B80 +EA65DBDE0E5455263040268722EF4D1102CA1D4A04AA7720241888D3B8A97F5F +335EDA4BCA1FEC7EF283ADFCB4E87AB110217E0A3BBB290A575B952A8F16F10A +FE9208DF0CBEBF6566D47CC0AFC93110751B59EE6DF8A23BFF58788E63CEA653 +22A747EE3489CD1A6F52BEFE8FB3D49A7484798BB629601510965FEA5AAE8458 +66983024934FBCB6531F907E7278FD0770E03965BD95C3022AFB919E0E520BEC +CFCC48F891BF88A3C88F54091C8B09B0D8F00D4D261DBB9491F445114FB265E2 +38F5DA8F3183DC23E00484C793159A4BD8DB7219686FABF7B8BB808537ECD6F2 +2EAE4ED626CB161A51C896786645841C76735BE0C2165334CBF577829A5C77E9 +66173902271E7160B6C5D7DD4D7B0874E9A7EE2C5E078834B951A4FB26544488 +1CD3279F060357ACB962EC7A5CAD2E7DAC2D9C1612EF7EFEE399E838013770FC +07531B50A9326D5103C15E8BBB23AB548C2BEEC0E0514DC9EFA8531FEFF6298C +4728CD0035768FAFF64D5C0D1285707759EA2ABF9EF3AE60FA44AD025E2A2E41 +B4F6044DACCB2B04465FBEA8DEC44C86E2EFF0CE244C8BF9D183767E2A31951C +63F5E9501D52B96C2466FE194D253C3234BF4B8F436A754751D77B78C50CC6E9 +E86B1F59A4199ABB5C36BC967DF98C1B17BA3BBD4201DC1B8CFDB99D1CB98EF0 +95DB83EF4631B548E54EA57F452E3896BCA6B4188453CC7AF118BB135E705123 +42821EFFFAAE8BA4181A6EF2D2CA5F50626F2651A7FB656BE873B8962C3AFC9E +C243CB7399B04AD778AAE62846C0FF19688AAFCE8461B3D81A1F50D0C0688716 +06D4EDB60B94C6AF35DAA2888C53D6247D7A1CCB22A9BEF7AC54A52EBC6885AB +05948DAA4E8A44E85FE91C5E0625163FDF2249BB8C7BEEBD84C16B027A788F40 +6EFD35D5F8117581D1D279868906C02981DDD3EFFE84CF9087B5735A9D4BB3D7 +821516E8D1CA8ABE871260D756447BDB6911FE99DC850849311E3CAA83C7DCCA +EAA4022ED2D17B1F65EE64FF20157DBAAF817F450003E8B8BFAA8A9C9653D2EC +56876CC04A46AAEA702B2D3D70C5768C0AB3334CD4B64778FC640962BD87EA9B +A0F21A0132C706675AEB9135266315EBCFBBD358676837ACDE00894CF022CDD8 +965A31C4AC19482CA68151B2A144319FBA904D879C910CEB15799928220DFC4E +CF5B4A77D36B2A1CE58CB3D2CFD0D1237B3FD94524971ACD40094856B12D9049 +B4A3BBE5E4577DA0EAD2428EBC3518950F8F782124E92B59FFC977DBF5C007D6 +32AD61BCE88B7A49D7E74CE274CFB186696DBE630BA7EAC1355C7A8D2EB1B539 +41ADC76733F8E5FAC431AA012B9194054F8C0D715640D56BB0DA8A1AA943D844 +B4F85384602B9306D371684AE1B93C6BA9E50BFFF3BE09E104E14EE9649FD4FC +798AD68FE377490CB2ECF9F16E3C80DC2BD05C14EA2C1BEE87B1B787568C9986 +0C48F7B68A00AA79BFC95B08EEFF57C4AE4F5A4FA1AC7BF9404BEDFC78ED012E +1D8F2129584DABDF695E6C2ECD03328C7D0F204A3B093CA9123BA3B044560FE3 +C5DEF64D7D71D4891C14F42C1AB7897DDBA70762B57F8AAF2CB8F2876AE8152C +09A3373BD32479CB48D746DBB6357102E277B63263A28E978DEBFC432B64BFF5 +E4EE4268600F85CC0EC177111A6BCC76399717EC8EE23296F33C16CF345CA680 +9E0920A9BF967E563B36DA5DAF39FCA7DA9926147AF043C6C72A7668ADC77E5E +F93F5C89FD5636AFF9BEC1C0E35C4BE54F97363B5B6A2CE58CB48EF44CA9EB43 +40761A8FB358F5D55533651D791F5D8481C6B74437AAD1B718404261224F7289 +90E5BB9575E230B0127A819A6E27C71C390C32EA39D15855917918D731C0127D +5465D202056EB5EB568FBD90D3A0A3264F70046B4736889D386F4E1114344F77 +AA7948D6E512836F83C605038A8FA0AEE394CE83436E9B3CCFCD63C4A8A6E52A +5AA8471D287F1C04B6DDE1FE1ED34594E64A5F5F8934D935205CB32AA47C18D4 +42FD9E99F94B35937A2474F695ACE12A66F596DF870A3073E0D1703A1C6A73A3 +71375FA8CC621CD50860AD79D295ECE1A7B6587B86897AF068D2B7D25B1EBC12 +9EB055DE5359CF88B77A6480E975D2C78B61614D261438028C8E26A9102AD156 +96B2CF5678A7EFC4FE1F03B5161952592E533C82060040611396581F1A77DBFF +8C55231B26E708F4E454A1FE2107B371CE5D80AE672DC6D18D1A5DBF53364BDD +D7DC535257D0F5F53BEA58A7E0DFA3C810B88268B86A3EEC2020E990AFCF0D0A +ABCB55D2BF52F2EFE49FD9878200E31B407B8B557E0D01D16A142C85824A38C3 +760AD42D773507EB8EA56A2ACE521D4ED29199EB733D598F7EFFFAAF0DC9A6C9 +F828FC71A679EDCE7A35DDC3AACABC4CA83C83E407FFFFC7383FDACC0F1A66A8 +81BA25C36C530C88F6424FE1BD52FE08476689354B337A6CFE211D8D39624776 +55796CF77EFC7DAF2CA7A39AE14F2D0A58A1A7C65F656B5E89CBD5264C2DAD1F +4AB387EA6EAABC1214B58008A2FA7B1A00818F911E727EFE61ED7C48B0F9D65B +1E974A9E6FC3D89130FB541A33C18EE274856C9BF0F7B0D33BA8EB7129C1F444 +CE4DE1B824CEE0EDB2890D3E5945EF265D6DD1B51CD2ED4CDCC5145DD07180A8 +849721E4E4D545C1D9F66C7EFFE32530B02636A1132336D3C21252001FB9FF6C +56D848F46BE01BBB437B2273D5C097FE972352DE294B83455E878C87A991E6BD +4FF89E060F1B93C3CC6C84F16F64FFA7CA0CAB2E8860AB6F61FA0EB60F558AF4 +C9729EC1672902C044289BFA8B7CF2671C173EB2574007088A67BE90FAE9A0C6 +5B29FB256F0D7AD9C42307E9F57DE4A5542CF83545BE60C3D0954E2ED6E6F3C9 +E56868A62B3DDCF692FDADFD2B6DAD75A7F4A4B09682DA32066BF35501449DAA +474827891C562C4C0CD113BD9D19DBBDBC64E6F59FB422A94DA9D42D253B440C +C8D54A1B07AA761A7EB309A88C5D9668F6C99690AC6E54D998B8E441F3161074 +E3B41F6053D276DA96EA25D2E4C752EC153DCD59735AD3211AD0499A5B9EDB35 +A5414D985880E0EB45D64D88A870B9935FBA7CFC215111A40C5BCAE33D14D531 +C77AEC1C33CC62876C71311D6FE24AE46FCA7003A22251C6FEAC36E5893F900E +0E553F4927ACE6A313FF48C562950D1B9DB8A6631974ABA413D5B4DC61C35CC6 +91C59BAF37842784111027AB24DFB3ABA3D3529FEF16DEAE8D919C83009E7784 +3AB97773064B3E71305AB9DE7FA9E6379DA6E19694FC2325AD6DC1446B38B2AB +5B38C362FDDF541E5A2B076F4D900E99AEC0032E11D8E8DF94FEE7440A64DAC8 +E53E1063BD783CCDA519B1B3997620BB2E99D991D64047A5758ADB937DDD11D6 +0912E555A74ADEABE6ACA9EAD96CF2C11B51CE78BB9C0ABDB48BB8439B6CA23A +8418AC936A40612764D8E27354230BD298EB33D9DECA68CDF4835B961DF1C0D7 +FA6E43AB24263FB23EC2B4B337CAD11B818B9B0E66A12004ED71E4C55AA8BC09 +9745935F062BC327EAFF6A2F3BADAF809B06AC878EA65EAFB4FBA6E16CDEACE6 +AF49E83746B3382E3EBD06B08A26B3C704E637F8F4A6F6A1C0F6EBDA160AF440 +4A212F1CBA96FBF72CBD3CE298B4028E29C5C0470C1164B9B443A01AA1DCD71E +36D196951E1C8DED4F198DBA7A8E2CE8C468D67481A68829A8C530D25FB79FDA +553237E371CBD214054BA9FC6F3B6DA6C7817399A631F15BB446E2DB8F2C33B0 +C9BDE11C460A0091243F23697EDC3EE66D9E70943B665F73F8A8842787A468FA +39B09605EEF2FE6BC4DA19DF5F562826CEA8A85553B4E306A223CE4EA639E0BE +937D726C89FFDD903D40D33E727B29311A08C665885366C0A81C4BACE810ABAC +E7F22FFFF84B1BAA88D51C54EB589A6568E2942E46B029F2CF536705A880E4E3 +BF0F08F586A85B20A9B5773B61D516185D744903A66B75F8C04EFAD3BFC04541 +10A0F057CB7987E0B716993C403E4AC4DF1A89D840042BB77F38A85B06C566B9 +EFA7C9EA0E27190E3EAC23A7183C4B311BDF808BE66F6C580A811508DBAB516E +40BBD70466A4C80FCD9929C1D816AEBC41CB947DFB110A5B43A02751A5546A0B +6F3E9899442769CD26A4E0C5F4D5016AAF1EC02ACCDC2308FB27EAC73504F41E +DA8E84C69CBEDB0549603C0727A5F62163EB8198C8572F1FA15874669244F944 +B0AE721A2BFFD0BB0674D6575AEF4C27BD19C32886971398C48739486D7B8A84 +26BCFCDAEBD1AFB7A7ED99D62EE3584257054325F621D13E70A4B7BA4D8698D0 +3CF2BC22C2C7D09E1D0D4D02C5009DAD1947C8187FDDC20019E76A7776F236FA +968764FF657D6D256F683EFBE41345CD0BD1FD6C79D15D867E142AD6E6993375 +D0ABCE7BA7EBECC4E9DB22A015221EBEF7C9A696C4DAD9C5C5A42A78EFD1C11F +0C84656A6780715C5E152957FD1F94EFED513C70F7251AC329B0AF0EB7884D8D +E9C349DCE5CF58EF5A20705436FE0658EE9CA27A890C1ABE9D7A253E2DD2510C +B723392E3F9A74C7A219299540E5BAC8759E8F9F8AE663005CCA4F7C008105C6 +77BAF1DF07C5ABAF2528C5D05CBD98E5C545E92F8E77B50E8355308ECC575F3D +E18E174F6D518807D02C0E738842A9804676D4B1EB01B9A03755668C1ADD63AC +B5AC29593F93D4857290DC1397C44AF56DEC6294ED7896326E24A0D47CB4C623 +348F3A1FE8426CA4881EF3502D264D57B39D8EABAE1329E588AD8CD668493CA1 +8000AD32EA9D78890B7DB63B131A1F7B87EDDFF259C641D160F82C924D3BAE8E +7BB33B6BC57F6A6662759B65A8135C8E1DC7088D6279E7AE6D25E81034C170CA +7E61C7D9584070F4FBE9D0CE98E412010BC15B247AE43B58F8DBF491692E8AF2 +D73F6A5AF8035C49E4CE27842C5C2B88C96F84D2D1A94BC62D842200AA9AD445 +90AD5F6818CE0FAD86BED3ED7AF5D06C23A7B1C0E16F3CA88CAF9D859BAF4854 +C5CB185148CA6727153880B989E3687FDA4BBA7813F98DBDD946E355ED1F3452 +048AA7F0EDF2F772B9BA1D817D20E8AD164551F58A49FE2896541CBFD4951615 +1660B838703BEA7F9DEB3511191D292D294D50C9510CFD28D77A609B503B9735 +F814AFFA84DC3108ED658D753292412E1BD20A8B45C65DE14E9CC2B83BB642D9 +B12104F83F5B68A71D6747595CCD064AAECCACB1B85D1B6ABF06A38B85FE3341 +FE450335B137CA80207D88867A43A9D4FDDEEDCB981BA80871AB1502D80DA733 +95BCA835DBA77B28211FD91795806B801DBE77B0098EBF827C53536033120294 +4BE1362D29F526FB10D79C837E8EE64EA3D8E295AEC15BB017C8D18F4EA1CF3A +9B7F2DD155061B0AA55A9E8B8DEABC67CAE0D1413220403E4B57F60152B430C9 +6E9A0B88732560D04E5E9C71F8BF7919570526C92D517B2DA362619322E10203 +4B5EA9FD024F57E82DD0F8301E271E252F8D170CA31B2961DB4C9C60E5C19306 +B199C28ED9C017E0305A0836C5C74EFFD302C62835F12AF767D539960E642100 +B0C0EBFC022651EA9305286E320BE4C135BA6A821942472421D7C24D4DF2FA84 +E7FFC88946D757D62386143C32E53BD00CF49D459E5ACAADBE434C82F2B3EB1E +58EC96F58BFECA7110F15E19FF489044CFD49630415285BDE6A9D8C2DD263F7D +1B4A8F90B145751507AE3AD1E179B5FA7475BC144DA7AD07DFD4D3106079A36D +18771FD02C7C4569581D55725B5F206DB3276A13CBC0EB3DE7F9085FD69CAC31 +A111D98F2099F0E770C5299221A13865E896742215AE645B8BF2FBAC45EAC426 +B659FDE76FF925F924FC95B24F82C503D49FCD5008E8448ADB78D43F01605B95 +0F3AF6BF82772093C6BA151710720D88FBDBD7F91548F44CF99EE1E646A4F9B1 +8CADB5695994BE6A1762074169263BE355BA6F7181D35740F05E52C3B31BEAB8 +E1BD4D7B418A019F2AEB94773574AF9236004A1297B981B5CD5FAACB58218CFA +01979D62DCAFC235CBF69C99E171AC8A5ED112E6F2E395697DC8D48E670C50DF +969F3B5FC6FDFE3919CB75C2FDB7E810D7C7DD6EE60F1F6915AE90F7B49BE821 +75AE419A2BFC55E2BC2157E635E6018AEB195F99F5CC39F2BB5797962C8CEE07 +36D5CD05544030F0D1ACC86B8C168CAC6D44274454E4AA7CAD3A4A2F8C580C56 +911A4F84265709195AD2886162183BF33E8AE06DFD0A4D19ECD6F172DBE84E05 +2EDA61CCEA24C675AA7545CB63A34DC535F127E668C52AC8754731876E7F8F1E +95E0B76A9F7B6CFA6FCB9D760D309A8D33A660729F9E2E1A1F760498C875E93E +C67FC8D3BBA23AECD64B49FD662131D2D940D8D5E5F3015FD8891781C3A34FEB +774510C33915559DB092FA4DB7BDB7431E5F8A5714E0044D29F1946C997C9550 +8948DCECDD8194409C9107A29D15A7CE24DD0C1661495F541CD490F800A3848E +8BFF0D46BC4B109948F718AE3F3838F308B512C2ADE58DB756EAAB2F3A8710BE +DF4B7F7C38809DC48364E41B76E2535EFFE243981CCE9FAE3AB1C7042C2EE290 +7A4F67CB1609A79265A38ECB9E0766D8032ABE75712DFECD2A617D188E5134A2 +7E8A5A106D86E395ADE5035CAB53A30883AD0E478802D0CC5BB2D006660FCCC5 +1C00E86B378F07A32CF7B87A3D351E151FC5C0B3F80E91D5ADB4ADEAAC81B93A +06C7114F4AD6BE959B74509EE24E3CED4B1FC719F4390767ABEEA1F8653C2ABB +F6384011FCB599AE191A2FA2AC15CA290AFC02A09FFABB5F96312C2B9A22BA4F +3C62EAEA569259AFB5A96A0BE5BA264829CBBD273E3D6DD2B68F6F4201E8E71D +4CA126DC312F3BB0F94AFBA79ACAF57A1CDD7F7328DF1CAFB920B8AC2AB00DF2 +FB0A2B19553AB58A29DB3439B125CDAFBDA90E38E1552C6EC33B2DF2C18AB0FB +3774815CB1180BDFDB355963489C3175DB5CA612B4D67F8498855822597126E4 +FE532300C341084E1B1835F9158CFE83C4413CD2F16FCF27146063221F5FCB8F +4793D691586DACB628F3C6FFB99123DEBF9510FCABB4488B685B409A70D139F0 +6A0282285E5F2B3F2D460067CEF741400C570F8402F971C275EF00278C493B69 +266831FE34FA75D0F69C92390E4AA06F9D12D51E64D053409ED44A232B3192CF +E265A0F34F72531A3339CE5E1ACC4E17A9631BDA6402DA9D7E403F56C74837BC +BF3F167AA8A10AC0EDF889E69E407E0E4EDC260F3F33D3739F5910527C9A2CEB +A09A2C556D7C9235240A27C8F93262B6330B97295833BF165A46C57EEA148A65 +F470304557D3C5B733CA80FF41B8EFCDEE684313C171B4C8A862F1BF8B03B7DC +0DC3D0E9E5FC8771BE5A0BFB05C3494D63FA5F9F7F756E3299B26701295073CC +BEA51C346638B2A861EC7D90F14CABD2248C5CF72BFC26639574689609412B35 +FE3B3FF28581F2678A10433A5DCE9E5DDF6AFC7329E60FF71BF765EF0307AEAE +D1DAA9F471A0E0CA7D0B08F6DD1C205AA7159C29F617BB3C8FB0C0ABC55E08BD +B194865146A487F3843F681B037218C4BD5C7372217EC944B173EAF093D7AC11 +07B194B82ECCC74DE4830ED08047B935BF6B057D91C556B2CEC807E009E610CB +F667B8F2F44590CEDA8D1CDBC4D20F3F418BA417939226593306DB2EF556B10F +19B253DBB3289C0A616ACDE90B4B72C4F2DDF20BB1BC364E2B9ABA45E3C444DD +FED494334254229F2DB30E74A09791A69E8620A52EC3A8AB36E6B2D68A182D35 +F5BBE508C03E2B60F679A1F1FC17CAA481C36B3E67F6CEF174EB4396E4D67A9D +8209061B2554CFA14094C68240A8CFE8A3B1C00B087A33F5E0E810790FBC010F +B4106447EEC505F322C4F100B33D6FC446951EF1E3B7BC0390E2A67D5E1A1260 +4C2C2AB6A426B8B038E2EEDBB1F63AF389EB1DC7F29214E8FCF04076486737AF +D40B431C32FC363DB28AE74D7C08A5679355542890EE54BAC37AF9DD15A04141 +3ECB7E4D69D2D9C00EC73685E74E7773B9645F0239703B35D633875594963FAE +9EFAA4666A89658D763586E7B93E692BDE864848CC732DF73A363CB67BC496FE +4D76F4B79A54E95553153675A672E0AF0F5984604A25E73649993EC85472487E +330E0B4C86BAB4DF6D611220029FC54C9D6A4BFA4C36107AC5008EB66FCB803E +E5720B14EF205A863CBEED9B500C937EC155BCA00FEC77B493723D66AE110706 +21268AAF3C59A2933BA0298D1F27766AE938E17CDE33D8F1363D880CC0381ADF +48E6BDEF3B55BD82B626E80F5014FA64B966511D4AF533B9FFECAE91870924C3 +113CEF98FF7C1D3D46EE22BE0725E3C0DF14AB47FD565D5D0014ED36A34C8552 +C571ADC7C213662058D44B18786727F28CB660B738180B560FEDFAC0D9CD8219 +B2BFD3852D68726C2EE2A9FE11D0A9AC74725E3B3062409183C653A5765A068C +5F247BD87472592808C26E1C8B3F494F898277C0AC298D9DB49E020A36A8F9E1 +3136D7021D818A876F13387AB6FBB315878EE15115EEA81B9EEC3438A12F2003 +9D1000959B5F5A5158A450EB9F054F8D44F2AF27D2D6F83477110748A275A915 +B5804A8F3D278C01C6A7DAFD44C997A0DBB618A40B63613D07CFA3D451C51D33 +03C10894FCFFDEC9B497E7593C45B8F5C2BABD5289A526DB2A67B1F3601E0B57 +1EFB462B1AB6CC4BBF92C09593CACA2C796F2DA4EE87BBFDD82BCD03A208F38C +A43F5908F4337D5CA78B984479B2CDD0FC2901149EE9F13F344B0B86E091280B +17DF4FF0C26CE81F92620252A98957C411A2A2AD2CFB7E546D786DB112283208 +818DF43427DADFA4314247750657977FAF513D0D807D48989FA2FAE78E9CF89A +2AFE21B84C2C91416191F3E2E8D867F7A98ABC7B725C97CDCCDF8CBC3604F2D7 +723852474F811D338292341AC42031F198BC59218088C0A31863B47F0DB0F163 +84A4F1E539C8E196B4A3FCF660A6A05BB8C3A5FD56C0B02B27FBDAFF95A05E1F +43C55B706FC2A5EE52040D744A1DF18D435619D86DEDFC1C8046612AC10A3681 +4D09396F41E0163FEB1341BFC6BE641A982BEE3ECB9C7848874DE8831C777603 +EC9DEB70018F340B6F054E2CCFEC68B7B05E2A8E412461D41721BDC769BD67B6 +E31BC9A983B145A78A4561EA8F903E297B8C2C6E72A18AEFD6D7798FACAD3B73 +70933611A6C3560E6F1C40B84D6AB8483612F7CB94A0D0218AC49959D1C3B2EE +24ABD913E36FD16208E6269C3852C71FE1D42577951735AB30E65E5297896E59 +359BCC3629C9FFEACBC97E5D20DED2112F66E7CAC5380EC67D7C3AF7108C06B5 +14056CA27646ABA7858456FD04C16C8EE6A517B122315925F704336249B64FCE +B1778D94082239DC40998268A023C7F9BBAAF71789EACBBDB028FFCC6FD160D7 +4FE0505B23F74E1A074790626E66646F65133D7E3F4F0AD1FDFA816635D24120 +2B5357270FC15CB041FB85D2F56AAE471155968573B4C439ABB8FE5B55E9482F +8C4AF71BF68325745A149CD38C1741A6771CF60CEBF7927D5D7BC896F525ECD1 +4BD25878595736CDF90E1BC0C46F760BA86B250C9B195E7857A167EDDFD6EDF5 +CA7F33929A42C4455DC08A13012C6B8EAC49BB127D950E619BC943CA995EB9EF +6686AEF9E5FB2C146D133AB4F7E2FFFF44E01700F6F031FA39C1BF117197243A +AC188D40DD39B82A1857EBC78C5084966CB1F824956ED9E18789D98591F262C0 +C5D6F8C2FCE9A151330C2463DA790C85C50087CC229A5AEE62719F4011CFC3E1 +A07E4C3294EF2E50E6E7E3968593B908CC73E801ACDB8B645C2143FECFFF5C77 +74DB00EB9774CE7C64949B1AF21EC1B218848E9E29CE91AFCD03982615563EDE +73605E33B1B0E7E740C7BD11BEAC2CF89DB02DCC30A54D6B60C19C386F9DBA9D +0819EEEF8EE302DA291E90B1D70CCF6BD5C958579A801E9D4CCB14CD4E03B197 +865B66EEDCB85F0EA2FB526D70A757CF8A7C5B37E05DE8F78898E727A5434373 +ABF98B839D0AF47E512F124913EF2A09918C89EE934DCBEDB8BBE36315E2A2A0 +30D3B7C9D4BB8F738CE8E686759EA931BE4CEFEFF3550A0DD64039C230A6A9FB +F40CDF07EE15DDCBB38C2DAA5D9E328843BFABFCF12E93C4292186EEB8F51235 +51ADC3932CB05DA5AF20B551159F13B93D9B5040D04A29EB3D64BC3F79B2D06F +BCCD7C932303E57E64C34D52A553E90C85A0877B57EDC3FE976CD6A3524D2581 +7CFA6F32579C54634FFD469D060D4353F0965474CAFE59C8C1F11CD1B9BB8332 +F72F8A46FEDC0851DF4CFFDC5659ED8BEB0E329312EC88BB0D08C5F12D2F5E22 +4BCCA17EBA9D1EA2E407FFFFC7383AD24F4187F8F476030CA1C8A71B0BCF4F1C +290E4C968ABDBFA6D35CF856DCBE432D11F7F39D3EB87A8D013D6D80AA0AEB49 +B33188EDBA9C09F62DC4A7E06844A5089ED60D619956FDA33CA1475325CFBE1F +A39EEE88E8B556C5822207ED746002311946570B724C597B33669C7EEFC573A0 +5561D4341C21CBAB14E583324E5B66DA0A753CCB6E4C801131726766D08794C1 +D9797196E98B8E3A5A1DD18270374B095CC3FBE4B17037C055DBDC12C846E02C +FAE2147CAEF216A5A1FECD65990AC2C15E08EC30F880F99229A9286C4E65AFC4 +73409A183F82EB2FA5E5B60CA51D1490C53B9A81FDA289217F14F95651290FA2 +1D59E8456073945B10B7644561C15E5D0014ED36A34C8552C571ADC7C2142B29 +4178DE58D98192144970EBC5B25A613492A174655D85678BF3FF0727B94E23FB +0A1EFB195DEAD35D80CD4D1C6EE919C34735F10B3E2FDDB5298E72FB76777454 +D420943A4876541551C769EF6C0B1EDBFCAC616DF1A839E2DF940F9A074440DB +A4375893FDC73080640EE3EF6BE87EBF525AB4076263B49784AB7D637241BD2C +225EAF9E732387D4FCEA7D97445C1DC9386DEBD1987279C753488E52F2FF97AE +49DC99A22855EF728B3743F2B9496B3AAEAA48288A3818DFA171AC54CE1D6FE2 +4AE46FCA7003A22251C368E759A57C1B1D67B5F907B4B1304696B77343F1742D +54356D83326B0D545CE6B8DC49DB5726A3656FEC57456870BD7E64EC7F6DE890 +4092A8B6845AA15A81595D0492029A3F4345F9908DEDA9A35BF9298A753B4360 +FEF54401B7FA5BA81CBDD4A9A4810B46781661CCD72C20F5E2444EA6AAA8137C +474CC789F9566A0DE3C615698EC35D335F66E65680859673EE6A440A589B3603 +90E9A8A5416B446F1CCA55C9BFCF1FD7764794CA151C70B380466E377DE82A00 +329C607B703A9E530FE1BB6705F9661760CA5A4D28C00C9BBD26C8A970802430 +17A0AB8F65ADCCC409D12F86A14DD4A5C7DA308F5C5C3C70A89D76AEF549FBA9 +1D657FF06AABA5BC25C9F83F4652E8B0010BB095D1BB8CC8938FE1A725F848F1 +5DBAE9B5C7F3767BECF1C2862197DAEBE12E9FD441015C20F8A2C7CA041DB79E +42CF5856A0F0397161046527138CD2A6B83F242CD7D3BBE4559246C9FA7615CD +1FFA7D72E763B487540BB51DAE959137EC348899D7652E9A512A4D6804B4B23C +BBAFDAB3FC976E0DB7F4D8FD546F0A68E6973464A7F23BE4AA34C545F35E0F24 +A3824D17FBE806BFD987609F4E2AC1F6C8A56F2AD7BF3AA14B3AE79FB3CAE949 +DB069E5C69D4993E654E72028390CE59D54CE093637B92A283E72839A9806A70 +E8ED74EE7E53A7E4B53006DBE34E767090910A9D3DE174AD6ABA512884B03BA3 +C0E60A55961A476567275A2C54FB59140F85B887E8C2B17A5482CC1BF1A0C9DC +9D7A3AFDFBA7D7963CEF2742BE14F2B4C476EC9354A759A85F77B928F8E2E6B9 +904BA52EE91D736A70CC3AC0AC13066B2CF6DBF5ED05609E3009FA466B17FA0A +97BE72D58FCCECB5DB7221EF2057500237EB1E1FED95683C903A99C7D9C0CC4A +4A89B8BE23C75AF2781AC711EC68B29FB5BB1F3A6D5103C1AD19F9A89ADBF284 +2776BDA75B3CEE6B8B16A472C9A1269BFE3A492B5749D402CF176A499008BFEE +4C5F7BF6960C8E0FC0D69DD282F277DBDDFE4BD695497861553BAF0EC4FC2FB3 +4BEA516535300E343C13B7ADD37B1F6C29967529A4BAD58E1F82282E4552EF40 +52EFC81F7524E83F7239E6EC34630E3DD28B0E0B15E423290FF879FE8BFC47A8 +6E49037E8773FE82B7E0A62712FB9B0C033EEAE87C5EE1B4EDEE8DBECD8C5EFC +80A220108282768F39E9641FBFA6CC820B82A22191BBE5C1638CFA5B1303F17F +B746D97881EBEBECC416209F3BB8CAE9B1539EB6A8721B67003BAC419B073DBC +56F0FFFAE7266ED5439B5631B2420339423A48576F652E61A78ECCC81FDF9807 +01DBE5BDFC566A58B68454EA4C2333D775D4E176ECE2C70273F41162443F70DA +337620EF06BC9103D7ABB95F3508ABFE1017DDCC5C38291E2EDB6B87A3710F9C +7066B862C64CDC8682F4371E54A8B358C7B5EDCD9B5D8222102AE686821E08EB +A5177C9745B8EAE3A1EC4F117A22B0C1AE7037731F9AB167B820AD80DF62C405 +A550BB7ACEF3636510604ED2D6C44B2BB2DB81ECFA40B16226B9A2EB39D15840 +EDA7AEC4B64266481E4F07321F68C4733C612F428F425A1943D6F8511710CDD3 +BB5767487B5266E5A4094DBDD786B1AFF698A4E2691DEBFDE89719257F780623 +83D2C1A29078415ADC8A8D23BEA699DC2893D4857290DC1444A646728330B9D0 +ED26E6FF885E2D243E3BD2BE2F5EFE3127C302DDB1E87FE23F11E21C8A8C6F95 +0DA342BB5A92E860CFCF81F4BA5477FEBBF2BF15C36AE5102FE3B76F5D2F9876 +C108F561111A87BF5A78A036958D506F0D9E1C10C45238CEFEDD60D974075C16 +721BE2E738CBA1275687CE7E0FBEC4EB740B873D242A181D3022FE0F3C65FF93 +374B1C7F466D85131C0EAFCED360A9270BF7C049F570B5184EC0051F70FA13C4 +10FAFAC56DCBE7CD996573A6D0313F55091CC5BCC1A675A618D4012B6ACB6AF7 +0F12FF3ACC84F0E494A30CF8D276745C88DA2EC25B75C01085EEE69AE2E2FE28 +E7EF6933B10C9F7CE2061F36A107702071BF7B2C3FD3B8D5CD433FC2636CE834 +0DE56947F7970B76BE54F518A09CDB7F557F30E8A7B10F602B7934BAFA5000BB +921972C220D291372C1B05B6C1427F88669A1995923B5A13F14B2B3C2C7D5C61 +F187E979A23EB33118724176D9A1530D401FB487532450064197078DDEEC01E3 +0AD9081326C9D3A7343DB2FC155A510BC2131C39B17A1E279BBE7401186B355E +58AB8487FFC56F020A0D5773D1489DD7B6F1BACEE4694763B342DCC668575192 +24814F28DE13B974FED7474D3478BB816106ED980BC9994C48210070AA4CFAFE +399853E3F9C47153199DD531E1FB405D9049F0BF2CEA26F4E397C0F7F51592CF +4C952C8B7044767539C6E314D908EC23D286C4935E67B3B9339F338F77149907 +16C2D5D77E67CBE2333ACD6F7E5034A9ECF725A526C6D9AEF0762EC59F4F080D +DE019C00578B69CBF60BF5CAD8E57397FF5476EE7A86DC0BEBCD356D40C53D50 +8EECDD32B10DF6141F4C5264B9BE3BCDABFC49721A2578B207C8D5950B844325 +3C759F02782BA38C96187E050534E73B9218216718410E69CDF6E34092818476 +9F560847BF8C38EE70C776EE7A114A4A817A05A3F34F3175576E4531770A00EA +4279C811155361073F65BF9F09CAD5C9345E05BDC9E879EEEBB609EC1AD41DDD +63C927878CFF6276A54B70A66CB292B593C198EB9C0AB2645E8040D2A098AEF1 +086AAA8EDF209EFC9AAE47C91A82555B3B2592FCAFA57D0CD8DE86610384E4C5 +4102864A275DDBED2464E20312CFD99DDA77D46407DFBD19FAC6A39573E02E96 +FDBAD4CF2B0D79D17114BC75D5437B64D1159EC8596C01329CB38269BDA3E9E3 +38FC1235AF17FAA093A03ABA1F25989A475E324B2117A94A65D609E95DD11CF4 +FC0BE4C5532A3ABD21F49B35B7EE0F61393BC976B1D2CE23F32004311A7EECFB +4CC59352B03696508616623C00E7FD4C56E69547B5F5B9E5E26A35D18D789AB0 +841E5820FEA8F638A46CCA01C5DE1A2A9A74137B8F33DDB8DCDDCE93C105BDAC +634953C121E92EA2733D8F29E936CDBF37CFDABDE4D99752B6EC445AFD7EA207 +100230F364A51770A7CF13A8250B9C1A0D252777A7696722D1D562D4AA249D1F +E4F0B9952DECEE2BBF6631ABAE6A96D03FCF803CCFC1C9F8D78750CC3B079243 +344518F7408D79B93F9B37BFD1A0FCB1710F359A649F669DAB577F37002871E1 +7B2F024959C0B43DC6923464D018EFB62536F7C52F7BDE58D9816158E8C6B9DD +4C3BEA5DFFACE2B5C030A7D2F02DEE4BE14979CFDCE5117CB2E1337A8DEBE30D +6791EC4E89D76172F263EC0E28EBBDFC550CBE12A13C8B2D6DAE2C3C63F21DFD +8B4071EAC1A6A4D7A43E8902A5E8A2DD3A24389AAC09586077689354781239E4 +8936C705A92BAE86A97EC6F6BD97BF6CD7E211F0363C070B8712C34ACFA17AF4 +40569D8ED4C1B320375342B8752BBCD7CF8463EBB376C406BF6591E6FE5E557E +2106A817A02E1AC882503F4DD682DCBC9B6C458A3F4A53139FCE87F14739C514 +452805FABC555605418D851BE78517A0088802A89A1D1FC0384018C2D56A3990 +EEBC4C7CD636C6AE76C2ADBA3125358ED3BC4DC803082D16C3E275C94163D689 +B7A043AD54861C74726264C1BB05480AF125585F7C89C334C577F78D8EB282C2 +06760D8A721F817284B06862E7B1FE67EAFA4CAACCB1C6945362973ABEA2F092 +A3E45DF945866220E6749780611DD23E08C45D70AF7FC68B14E0F24DC1ED9D74 +EE64AE761F12FF22794C96F8B565E8CA669BDC27B97F4A0F15C93A619D23382D +4BF0ADD34C400EC269707EB08A5ADA04CEC21FFE4B7B27A5255D6884C7AE701A +4596C87ECB908FA96EEFC59494047EBE0D2FBCD12F18CD543039DD09679BAFD6 +4EF6E130EE238AAC05BECDC1B077FEBD0D485F880314EBE049B2DF6C7ABFC840 +E57074709F7BB73513A9C36DC656C72A66D3A4359A8DC08CAA7A5191F1641754 +1DE0FAD43B86426AACF2158538F0477F7222ABECE81AF10F3AC45F63D7A5E98A +BC7B33919F11E16B73526B039A6BB32EA343C41B925270D8F5BB64BF440ABF0B +ADF1D3B55C7FE80F025F85A1FD11E811405AAB3A4638DABF428F8BEC2DBC4AC3 +6FF1FA24B54E2248DBC10CD7454636E97E399A7E06CBC677F0352167E53BB561 +5E30780458319CD708034FA5D50D15A83A0B408603CDC6B2E6E8EE3FE354B64D +87C7DF67F88416B4684E61F33BEBC1561BA8D526E8D6153D01902A7B60645B15 +35CF943BF2862E7DA76FB26E5EFA07E8BA7691178C0D596E109FA7B11F311123 +D77041BFF4E49A593F43BB91DFB1915C098DBE87B454FF6E93F270C2EE8EBDF2 +768EF528A49FE1202B31E51622EA3B992518581F1941B689696FBB73F3CA4D48 +000164D053409ED44A232B3192CFE4CCEBC79A9BF8A9FB7F2E3054A705AE4325 +CB1E30231CB0DDDDA3414F9F77D3FBFA2946EF02C97B3931A2F6F08731634F31 +FDDC662402BFFCFA1BF557F94B1FE9FFE39CDA38EE1FA9FB5C750F71C4AB1797 +7A1A7BEBC63A333B4D5F9E8FFE14EC52AD6BC703EB775EC287FAADFCAE91E8C0 +85B8FA4718E8F603A3CEA0D867B9A3843CAD35146BC03E2C654BE6C207EAFFF8 +8871EC117AF693E5EB6F32AA7B5F87ECEE98B147FA6DDC951DA66FB4F34E36A4 +502587042C7BF9804BD0F19256EC5A6D4479CA0965A7A918BFCBA0E1FFC84865 +E2956B23FE914F02167E4F1573A4CB68BB2F0FA2C76AD93B70DAF8B686861D90 +0069E4CAB1F6556AF49420037A908AB9B06BA8BBA99AACE0B524CA6B3611F7BD +56CF5269028A7F27D4C865DAA62EC2D4975E4C4BABD353D1BE1FA5202AC03166 +45AA6E79F82D3080BEE08DD91C16E50698C63E340D8906BC4BED2B581910D933 +D8A3E7CDB48B0D7C3E3FF2C103F769CBEC1B7ED0E2E65C431A2C270E9F700292 +BE7E9636ADC6BB45060C94C54B1A2A942B27D375490CA2CA59A52AACA65D196D +846AC0DCE9993C761C9D1C789B9A97D64F2FD32F3598C8F095B673A1B277789C +3C32B95E2633951FBC2E5C31D2A58E09065562D1DF151237137B5A5828F3481E +E03232D0A0DA4A2F1D8CE9F946AF9F7CBC582239C8F87677EF0729F6A6507B35 +E8B56FF433CF8586CEAD196CFC2ECB2968F4ED48C4227144F9CFD841A9D8F9FA +E80720E2BAF6E34745916CF64EFF4AFBB2C0D93C1D85E0635BF92AC4DEF726AA +CE31E32FCA39C37DE8DFB217422F43524E56F4739E706965E71016AFE4CD49A7 +1C7040444074BDC90FF1692F84FCC3A3D588D038811B7C67647CE47734D1CC5B +C9A9BE0E1BD3D01C6ECB705D2B910FEEFF1AAEC03675699D94CF5427105BAAE4 +25E5412FC4A75203F2B3BE4E30FAADB18C03FB174B84787F644C42555634A746 +81A192E2E22BAD052619A6CEA8564DBF7145BC5F59B4395881CCBAF2C42E4AF3 +5442B0E0652B44E449388FB7817A679888650573F1C9F7AD7CF20CB97F9C9F1A +BCE4D243A13CD55176366B5B28AD89C6C140E306763B3CF62F8D188F20809FF3 +DB7EB158489D1634006A9FD5D1ED3DEB4D9C9CDE16A6122095C0F97115306585 +F5423A84C87C7BF119A77328520E40365C86A939704C561DE0ACAA6B4D82E60B +C6720B050C37FB5A2F90A57149A835B02533C33B93EAA774D4E491C235FC89C6 +94F5BDA0B80D40BF0E8147397C75E26CA957DDD557CAFFDB72AF86488817BF82 +D908BF63F64AC0C5B27D74B2CC4C702BA0CCB76532F18575D38EBD126E622D0E +2DA54AA0698E72EBE0105DD7FDDB8145CE371C46D33F56C836BFCAC1E50BEC9C +1246FECFB2B19EA03D4882B82E16DC573B59817831914090843BCAFCDB8BB268 +10372F840D0156BBBBE2E2896CF3E5B7B98D9A4A9A2438E956F584599D03BD07 +C6659ADBAD688E2C594847E28D80D586B1AC6995FD6E17404345DFE38FDD9699 +6D3588587B2B01C3654B195AE60787DB399CB81A19CFC180BCD840CADEF7D4BF +4E499EBBAB0AACA2517D9AA7AF0B6820671811D63EE05B49F9F3C45B01F05655 +2345D693624E2F4178381427F5AED3784CB873F37B5371F35AD451C122C0C55B +CDB22E1F984F495B141F1375478DBB41624E57F1F0D63CA0B11C9C9735DE70B6 +9A1739DCAAE01F9BD3725A1D370DF51062DB9BEDC9492C1FDAD99D999345F5A7 +79E4D4D153235E5476F0B3A59CA465156722E45EB0B39A6BC253ABE045D02E06 +83AEB792A8E045D37C587DE43BA5AD2E24ACEA6774C91E41E88B83E3351CA83C +F517684ED5C21C084ECEF4405FCF7B543310B17221420768D115F62427531DFB +61E56AE4C363C341F1F04C99F38773F2EC3C62259F4C7C403ED553B9BD63F7A6 +50CBEA7F0F487587E28F976CF20A782776BE7F9624688D7A5C89C60EC5FBE63B +EFFEC0446D20B76739F372C3103DA920D1A1F542DF2520F9CC5B7F2B9272A073 +5C681B612CF8BFDA13612D8ABCDC3C595AA32928A759EB7703F10907D61BE216 +4BF79359D1B296E7A4CAD00C1F7BC958C7B556C5822207EFD26576E76D31B23C +C87BAAC65D3ECCA28EF7FFAA0FEB68CD49F45BAD15222735399B0306F96000E6 +FA1F1AD338CC17E17E0CA5C1F43AC1C08A2B50C3C786D15DD2581B17AC9F57CB +2100ABF625BFB2F9B3AD38AF09C75219398DBD3FDD45B5F5A18A5544EC348CDF +220FD68D1E5F12D02D00C3C5BA1F5D192C2FAADE11879DCE89B9ACDFD83095F1 +24486B43B8ACBBE65AC89A7B37AF86DC4E4AB89FEA84C466F0ADD0F75CFB4C45 +1D34B2C3DE31E4E520360DCB5829CB45EB3ECD1D3C9C550C26992BC9A2BF3A71 +8F0E6D91FE2FE0F6E7709ACD520B9B4C47E0081BDF2752F35E902FD0BB89B5E4 +69FDBC4831EE47591A10D6B7587CA36C8712E36D1C8D87FFC2A6D3E4EEB355C1 +0F588799D49C30612EE3079C4072E6FA901DBA4BB4CC54F9C3D880C5207C8127 +480BD8B8588BB274601B3119FE4CD94D8EE405956E3B9D418C4407E987DD1659 +74A8C447AFEB06E4A4AAE9DBE321EC7CA8CD79BEBCAAA4FA7A54B4EAC9940F6B +866260134116D47650F83C296A65B677F99CB6978AA0E9ADED4A97E92F225C6F +BF92BCCF21C753515F7C1D718777D5413F93364C25ECCB32D60ADEA0BFD5C81E +C0AD7DB21F765FF70EE8B3FE8E10A40C93C99BB67781C0170356357B3542790E +BDF13123FE450883DECCA7FF068C88E79ED8153105CAE3818E1B5BFC5D5A5784 +E9F1842149E54C675695018FF1765181852CBD82C7828B790D5A9669A707B677 +1BC0CBCED5F1607B675D19793B5C1DE396B43AA070D345E154801911586F2061 +A45D8BEA5711A149908D132DF202E1B5833C7DAEDABA4741F369EA4ADD2A345E +E25B121F5A2A231850268EA0A8DB0CAFCD7C199D2E7DBC7D8A8567D6E3515949 +BF12A758C3C38D3816323CE98F9B1BD0653924281F254FC8A135610C3E738CDD +A1505F27504B85F0F16989E85FCA275411E1ECFADB4574821F26C6740305C40E +91664D0871D43F3AD23CAA6AC4AC771A78332421B4ADEEBEA1E478EBF5015DA9 +04398E85186420ABE61F4165003FE0BF954410455F1E1CF98E1CD9BCDEE59699 +3FF175F92BB48EE7E3D074F0471625BCB886B6CE99E03905EA5790FEC72ECAC3 +0C35FD1780852BF3248D6E1D4489289E815290381463C72BDB9B732001252A29 +42C6C454C2EC2E3CDAA0BBE84CD94A094C12DCD950DAD2F3EB28E8C2E5BAF75C +A04E7D99DB37880CE772F5A9EAADBA36DCEA5054940D797AB7E3961E4A9DC844 +1FBAB5BD7E68C13693EC4D97DCCC8F893A69874A3F0293D687F8117DA7414B8B +B7EF455C242812451BA9E1F38575A2A1E49D9FBCB26AD548F07DFC738AED5790 +00BFE3D82563183AF540749D88789C53BE64E7BC67EFA76F4B319D7B32722B35 +CCC9B8DF7A40109543A0E33F06DFB8454F8E31A1061ABA7C868BE71E233B74E3 +5560D4F674DD6AA349720167FC7767739B2771C9062B9B92C239C0E8018952C7 +AE3F0134DEEF9DC00FAEE97A20A63399B28E406FD90CC42B3CAA892AB93871BC +EC8B55C960DACCC650EAEA2383627BF5736BCA3DE34E6215CAE3278AB3E9CA87 +CCBC6CFB22842FE646A1E2A3BA85107930B66DC486A1E1F78EE5C35B5647491E +885469725CF356762F017408E65818FB07E86DAB7FA029F067A65A571A5E54AD +F6E34988D7AF69F20E64783502B0495F201E46DF12ACFE83998EF726477292FD +3F1743553D9D26389FAE433B5CA2007E75A36CB09FCB96470F81292E4437C8A2 +8F5949E502F7D48121F5EDA252F0C02D7FA31A958AECFB9BA08D6A7388E3464A +38D1EEEA64071722A5C2CE7BA89F220A096D9D9F6D9DA7DD0EF8EA89875F1BA7 +2CAF550116688CBFD9976419943DFDE42BA1351FA2B4C0C376BE3EBC32606109 +5793E8AB02E2DD654B33E9B2F6532264D6FF860CA83C4820411C64DEFE53DE75 +7097F9B9BEA9DEC0412DC1E7F2FD6BBB7A442C60C270EE7CD449BEB637BAC68E +68513D645170342BF3F5B6B2906690D41B787C20A359A0CF417AE9DFB34766B7 +3FEFBCBEAEE982C7FA09872CD93228D9FDD97CB2DFD3A8CECDF954E651B265C8 +DDB4DDE2830A14C0755F198610715497908DA88113F2A9135365ACD7E6E3A7BA +B5B14E461261549383C68DFEEDD25CE29F2D27E7A53EC4A1BBDF2898F79D701A +969C67C80F1C6A1B012598149E38DA769C53E983739B9E045F1681269E24107B +CE6BECF3FCBA1EF02347B5CE65D99A38C4418DC3D038151619C6FF36619FFC6B +21212750EF57026C436A844B59AF0F0EDC11C6CEAAD6D5DBB7A177821D9F63DE +FBBD6E5E186ACBBD3FDE3B534D1676FAF8121DF0C1C992A844ABBD3EAB3F9B1E +1CDA3283C0424B11FB2A612DE94BF4743C8ACF765712D191D61A170F8DAF390C +7A5378DE013FE008DF3217AAC6D52F763A923535CC35763C2B61D2B47C0AA75A +0AAC8706E18BD37D29A3BCFCE4B471F99A317941E18CA27973FF22A0D0A5D885 +6A27D13AB23F687A366E412839A1E3B88E00AD7FA9FA045C41D5986EB0A40B5A +64EE578CB6385FFED63B16304AFB4241A91D08B46A45900A74132F3E037F3F49 +26F77E93CC404F5BA7A5D9F8C4C92A234BC8005B4E4671241A61E61D9492F9B8 +173A6C4B9D8F3151A268EBD36FCB34A44710846BABE1EDBB90D57A46B2993438 +76CD50E2FF8265F103D9C3B46E57D19F344791CBFB5F5BAF705B783CAB4846CF +A15B31A005C2E3031A6B81AC3D0CC02D84D1204E0B540FD898006CEB1ADD9053 +DC1472EF927447DFA54E1BC558F3D4512D1AB5534D73CCF860F4D5E546A4A5E8 +86251E3B1B30472132ADDFC2BC4404BBB07BF72C738BCE8FFAA6135D164A5719 +4E1E9133C5F44E0739678FDDD206F4785B04C351B1F1DCF0DDDFE2FBF0567790 +6C9BC097C00A71DA032BA85036B11511FC54641A6B9763034716220E340B3900 +6E78E1E17DCF8DD2D5EEEFA6DF697ADDA60AD2549CE4F1D619A49399D391E7DD +2A15F01E915C11EAAD0AAC6F1B527131E7274EEEAA28E4DC8398A231D3A44BC2 +9751CB1B2D860519384E909D9454FBC1E9DDEA7A46AE14E617E96C5195A29DAA +B15D42B9817E73A24025E4D686FE17DD515FE0CB61A4A575AEB7D0BB7B21A441 +928177663BDF60082659FFD2A78BD26EB218149DB927D7A893731B17E74315CD +86F0B80DAC54E27051D23EE8A56FE4A9CAD18D0139CECDA56F30DCF88F599FFB +C52E4F30F56A0D4608DC7EEEE87EAC19E8DB993DAE9900211D9F79E244A59B27 +F237C95C7824C90A26342FDB0DD55434CC97FF33511D4A1879436E166811918E +892631B6F065787C8C1DD5A11EBEE1C6A61EE417F8E4B45A1A7F1F50DFE01589 +E5835B0DD4BE4C4AAC9C5F0C596DFF489F6126A199A07F34F791BCD00514333A +4FD2950BC177A79F525549B7449BE2C6C8BB8B9202B5425263690ECBB953164D +0D78C30A0CE1F30EF236BC24765B6D63AF63741979196DF6FB2F2175C4EA3EBF +4226FE968C3672FFD06208B0DD3FCD9E0602BD13C3593FFECCF79AF4585B72CC +600CD3A21873282B98F5C481E2D0012A787FE5831EFC1FE1A5127BD552B9ED71 +E62A9A50627AA65BDDD1B3233B9397E1FE9BEFFC43989B5E6C1AB2DEF8B54FE0 +42CB75D5A25F3767DDE167F368E66F83EA29A812824BA6912379CEF50DF2BAE3 +64717D4768FD426A85C5EE149F191CA800EF6358DBE6DDEC6A071CEE8115D7BF +174FAAC6A8F403271FF26B649EED25908E20988FBC4C0D0F3A2A3A48C18B5AC2 +DA8172A2FA4CE6BC64D5A1E9F9CE271D4EF02C7B3F4693DBD40C23114AF5F611 +8F174FBE4846B7575C84F336D46AFAF3B6AE9376E4B2B5C0EACB21DA081374BD +FD3EE818C316B7D3FA7B56F5C509A9702D2EA19ACE398A99303C380716DFA22A +CA954BF588F136D430251A144601DA87D45D7133E72A58E0FE79C07C7EDFEF9A +2FE1D23AB12476A1FB849B502507EFCE18DFEBB2722067AA0FBD3918F7F9AB04 +315BCD13B77C35BC9661B3974327FE71850C5B34DA1E28C32DBF60C14CA596EF +E21AE8BABE1CDC157D383CF8F7473B92B508491317B3A7BA41DB5929C1528624 +27E6DBD49EC5C8E1ADF63DFE9E3BE2B2ABD660D2BC38E64BB6C1DF9165E00D29 +054A5911CEB7B90DAE29653DE98E34B94F82E516245AB0877A8E26B0BA474841 +88FC01B0349E045E151E287A2E692C941D88C63D583D1AA7F285320CDBE800B6 +0F67191E6BEAF8EDE7C2B44A430F38CEF6AFEC51FEDAAD95397888B7D061A338 +769616C7C50FD29A563527BF8623A6AA5846D2821F7196DD6DB0A566363BD13C +EAEA2571B27421D56596E6D3C83F5D94963241125C817D6EC5AD4F5B979C9634 +EA4E4DDC2DF0864338E1E66F20BAEC0A9442AE03B50588E9EEC46E9AB8FA9A5F +A8C0F144423F2D8F9D3C44EF68E4E09A0E2F984F81E9BD06D9A9A538C0CCFAEE +25746A9CC00F1C5DE9D0FFA7FE80F879C3B5E9DBDB4ED0FCECCE0E9E710836AB +97CBA97411B693546A8FF6D529C5F085BDE380B680EE3FA3FABF2B71AEA4E13C +9B978671AC30C412906A5BCF8807DC55E18DC0E5BB406AC8A317527EB8E0BE0D +8C70324795007691A3D3D3A52C0091F2532C4C19976E04B58E79EBF46A2A0BF8 +2FA89594BD032675C7663104C34F7F3C8193412F69AE7246FCA44E44584DDD2D +ED389F86D5FAE60EC412240A40A111F2D9EE43919C470B3DAC800159B494593D +7F7FE0FB41B994AD131029C4A51B637966E0E20CFB779E822E278087B358D2B5 +82137926ECD14BD2F3E9EAA488381A17E9517CA33B6AA606ACE7A7807738D360 +D0744E4D9F0204E2B7F80CDC9C4101F8F792B686E5AC2CEE1D6D1FCF229848D3 +2BF2E940115EE1CBED4DED0EB9A57805037D92124A03F3750B21B633A1CB91F1 +A62504A20E63D93D6F504F36431A14AD355268BE490C90D67851A7C527379808 +1C4E42774A0E97819400EF939C69F5C45FFD14F04A546FCE1B927AF4B05017C8 +CBAE0BCACC94F1660E40A493A34CA5B39325259209D09EAC0C3342F4C4508687 +FB49285C7A49268B60A9384DF835A79D24954346C854C033A1BBEAC0DBCF5682 +A6E25960467011A1D594F9FDD3FF2E6133F47679259B1445DA68BD3AE4E609EA +8C3A730322B176195BA14C13C2C867491364D57119DE9D994558CC1A4F8BA05B +F4EADB44E6568EF1704E6CA60D1774E48FA186DD9C6A371FD36C80FCBE83B62D +CCC0A090270EF6B410D7431A79CE9ADD196DA187E37C930DD68C9DD396976956 +DC37D0A1AF36CA73F0274FA86491AFD607912408F17CD10947DEE04887001CD5 +0B760F70914696A7BD24629ADA33D46E968C096BD2B59BB74BFEF13AFFCDB4B2 +1E54033E02EAAFB0B27AA4A0E19D5FD519D9E111AF73D816CBD4695F794F087B +023363E3A5C048FEC738F84801ADCCE107A624033BADF6D86FC17A3D5FB823D7 +893239632144E3313CD15986D288315D5123A91D30C8DE870B14C732C93915F3 +AF57BD8382467DFE44E88EE24ED423FA9366CD074FF6977F7A92752FB55CDFE1 +D00CBC019A6E3A33777E2B5CBA7D7E7BABD8B7C191B2796A7672ABFAD8A0E6E0 +543C6BC5312A4D56D8154CAF94CA23892203527007145EF3E344A7A20CB27D67 +C5807A4AA045C640531F5E5B8F702D27757402E83AAAAFE4966BA885BE5235DD +3D50A5332AE2C457A2C7848EDC71D17A71530F250436270D47365D45E70C5E51 +FE4EDC6CDFB7D0DDE027849BA59F70939ADE4894BF36A317D699542AEE0C19B7 +D84109778F73820F99C82F94D32E1AC7E83B733D482100AFA168DA703E5526C8 +88DDE12057EE597E77D486D159064B8EF9053116194E625020B56DA1BEA002FD +41E0A53BFD6138EDBF43070BC392C905B89E456CF2AD1F7C8B0165BB593B8731 +354B872BF2C0BFDFA083B6512F7954BFFEB4B0D68DD18F4406AD9459756FFD8F +5C71225B69A2B2DAE2722FCD1C1B1B5518CC3FE1D4E398F015DCA2A94B5A8BCB +D4A5C099364D7C4FF94778282D3F3822EB425F396C8D54E3B043C69974C84711 +3B09C57DEA203DC8B6B1A41E8730A84DD6524A30DB6972368B7FBFC2902DDB98 +43E1BD0567637EDBE3895C4E7B3DE356FFEC90CFAA907DAB2AA2B453BADDE82D +88C8C0DE4ED8F7853E85D3B4A939545360E6A2BAA8096D5D15D99DF877EA14C5 +A0169689BCDA6525C35B175A6FA113F7E427E992F0F94B379DE46AB43A2E4B5E +97444065AC974779796CFFF55D0009242FDE6AAE4A8B7760829319C95757ED0E +54BB483F8358472EE4F6D347B2636645E6488BB7A286078BCEBC6D07A2A38620 +2C7708BB58CC8821DC4EDCF67B9D4C4DE6A38D9561E6832B9A48D229099C635B +9141E0A4C063F9B77AC66EF78C3451886FE7352CD15484C14A5C93C7DA0A77B9 +FE47B32F16617538D36792B8F9244DE19D75EADA387E7C0D6AACE0AFD24577D8 +A9C8235215980E635AC2EE59B8343EF850791DDF81662D8BA0B9143D19D72064 +752BD89C6FE4B519B9FE8F76F50D957D0108A7467598BC640B4ECC3FCCA3EDAE +23C39C62C3854E358D3EED44A41A2D1467F730726317DDBC543DBBACDD038E74 +E25164EC572BD52008BA77756AD40E704DF8B3E9C2190BAD524A2FD68F1A2CD4 +74FB4FCFE62A6B412F9FBA2D7218262B37A194E671F8048376D604F360F30580 +8CEB9BD6E08AAA72B4749DBFB0CAF953F00B01DF377CAF52034887368138328F +B60C988A9F02D9D3AAF31C2AFC29BB0727AA5FB2E416C4E428F414C57699C1E1 +A68667C4C42DDC9F7AC3A51BC16945370AD05472C33C523F93D29B32BFF27678 +597B870AEE83A4475CEAF64434C1F8941CA9BC0A19E8A3348F9E297EF70CEBD4 +10C65F5B887EC0E817EE83CF122CED3FFE42B5C7D78DE4D0D5BAAE8A4A4BF7CC +EFA471413D32BADF2FE050CDB6C3DC6BF965C8CC17A2884DAD18E0EB09FFF008 +59B3500AA6626CFA1D2C8D9F2F62F3EAAB6B83C21194D8601F2904FFDFC47257 +630C92770FC40666D91F1E8E8733E447B03C10760E587AACB0E431E03E170CBD +A9FF1FC234058F1B813F43FA03987F7CCD03D310B9ECA775B72B83B702613D56 +B94E058D1C1118716A77D1049AFE447C0A3B03C83FC4BF343443F2B9496B3AAE +AA48288A3818DFAC16EBDADC9BDE7B0E0699B2F10CFE04F2969E04BDAC98F463 +F9E234C13BE5D5861FF5DA96E5409D6261EF5051343DA41EF7DEDA1A84C8542C +3963B62C01A3039E9969CC04F55F83322736121551E49E7F7642785A87B9A26A +2191D763AFC09588F5EE57E8013859E42458EE6A9AC264CAA46AFBED21C71C6B +D2B618B3695A3D7F5A9FCC670D60B0D05B760719B5E4002B19904882579AABC9 +161307EE061CB4F460AD9C333DDF5AEA237BB8B5B2AAF59EE3232412E449DFF8 +8D61A32A729AAF572C4998A01B280870B95BAE53D0E64632B9FCAB8F189B37FA +FEC3EF8FCEC1A1B7FC77303BE9A0B5873B8B6739483D4072C5C5AE70093518AD +9000E3CE315A45D019B3C2E2B769844144DE624694FA3894A680A7A220DE0CC1 +F2CD3BBDFA87FDE5511796085996B99730BD1B359883C987339A2FF91E929A21 +8662A364AD55D1AAAF6A11E154452C4AF42A44BEA21E708B5E11CEE44DD1C2B2 +7200E233FA4EA43D258292F8578DB02464D1FF79615304A65FB7C4DADB7D5350 +419E822E60BB4553A5088E3B0088EE32CACACE97F2E345C1A7344ABEC0D139EB +A085A7D4E739C9818D6DD30C92CA794AF7BFA73F86C0C524A4CB8F29EC3AD93F +A9C3AD263BE4F8E963EE35F073005F4B13EC2D8FFC9BEC0C1836DF8B985223C5 +9D2CE7B7BB26FF08ED361E898D8D6FE65C93925D9241B808337F8907DD71B548 +8A941C64D12178A2B8DBB6040E07C628ADFA0BBD27CC95887840BAD1BC57B7E5 +C3D80FD1CDEE64F322776540C41188F416029A3A18F1EAE7C5B5574916DB0C7D +2F8FA27453DF91447D16995CC62334EB6FD4A28CD0DC56E9BC4B14FE8D65AFDC +98697D63FC27737640F3A294588DF91767DC7A412707B39C1C2FBC208B2D73E5 +CD6EC4DF7924D62EDFEB04EBAA1445531E1CF98E1CD9BCDEE596993FF175F747 +D268DE28F394F6FDCB6E34435AC61CF99CBBAF9B5A61D32621D5FAE49B3D8B81 +C61241B36D4CE6E1F57F7FB987E81C3147D42CDFB3B665F65B481A766DFB21A3 +6E4C642A07D20988E7A7DC6A88F5BD6D7ACB8A1F62468C7203ECC022C0120A16 +DD84FD33EA5F1B4F3D569FCCEE79D31A4AF6733B6246132C32DF5CC083CF926B +B118497BD332FBFED4BDB2158CE07717E98215C37D3EB3CEC9A6AF3310889438 +048C02DD5F5B323291939A34CD390BE03EBD13FA9C76F082FEFE54AD9C30ED8D +F04BBA6FD66ED1FC30CF49136625E77057F669992569E9AEDBD94269C2CBEFCE +0C191E92CBBC6408A9C824F9A2E394EE9589432DD04F968558C89D12E0158036 +7108B85B438D869CE8C7F8B077C2D91AA03C08EA55A8208B058DE6FBAF6CD275 +B5E46AB314067BDB1C51BBD2C4C1BBEBFBE8389D46908B07286B5AEEC6B30517 +B787EAB33C987F1FA2B6D8EFA5E502FB7EB698A4B700DCB2C667987A51DE0F5D +DFE93E9EB622F9D9770F069C0617AC4609A15B246ADD331478807B1EDAC16875 +81B6906948723B14D175945A3C89DCB80E953C84221C4A19FA7CC1FA84F0D42E +7A93B344F08FECE42E3B2998699D33E3C7C77416A7195039D8F91F4149195C4C +0FA45C5EB8C4CE8B85885E255C7E06ED9C9EBEDBFB6061F8B1DFA46199EA8888 +1CD76B0CC9A083B06F5AF66ED5A1053A77F4817FBCF046B7E3D686CF1864660A +46E551364122199525D77F9DF706FA92C15FA05E17E0DC93A95C4D46B4105E30 +21C3888F966D005B6FFF950A4911CF4FE9B3F0441C04FBB938830AD88DE3EC39 +7AF9D0BAFA2E17269DEA860D77F7ADBDBF3D8D348873F5C76E69F8AB52541562 +9F9DD4E29F24577C867FB162D97D3CD6C5C0FC37CAB195372FAE4B1D56F192CD +D6CBE2D7C555F849CB46EE4E8A549923ACED6ECB6872B5A4EF12D2954DD2D526 +3183F55C57108E2F23774698EFCBCBB6260AF63D7233E10A6C56AB5558A3B67B +5F96B6CA723CB16810453FB990F1E06217567E4237E9386C413401E2B1C99EE7 +8D73260B8DB9132F37E345D96F8182479992A3367E850F9D9D2208F49A456F1F +12AC4A6C56190A170D23BB304969B0857BFC16F30531FFC2D3463B820158D15C +9C050CD4ED2FD3D131CB5104577F675A4DD2EA85383D49E615B25D88F0F6601C +05369962E7EEE07A57FAA48B43B1A1D005D575C5CC4C592ED9167A5AA41B2D29 +A6E2AA2B176826D30FB249F02EEC1C0F44FDD4DF74A8F70C079AA25223AF3359 +A61E8E0569BBC5DE72D9D4BA55F2D3F8E8A7374AFE2BB1121234BC6E11CA3FB6 +EA6EDD6984BAB0B56007BF7CC58AD9A476727F3D33DD13B9FDC1B6B67463B18E +1975C9CFCC1A683AA3B3BABDA1DDA80E3BB53D78035EE6521D41AAC9B1A9ACC5 +F02B837DA85D258481C92987AFAF70467828ECBA2AC350044646AD370B0F1FA7 +D771403E154150F99DB1672296E2823BD2EE1629AE7A70CC048CA441BA58DF6A +8B3FCDB6613D3A0124F41EBE36A438361E21F854BD89CEAF1BEAEAA1AA4B118B +E85FA56E4B7AC108B4F0FA2804E0B8BFEAF848EC469D611E0EF07AA173DC6D1D +CBC67B8753AA3E658FF77B7565896687DD28431EE75598FAF5E9129EA14BA8FB +EDDFD071262E0838E33DCDD190F68D2E20757CA37AFCBF3AEF1FA9A2DEA357BA +4A89929F29AE099FB05610B99396D166EAA7C6598EC696CD7D58D8EA58DB48A1 +65A439409570DDF9A03CCD80180FC3378181D99026877FDFE438990E66EFACF8 +7F3698667ED21140E9054DDC6DB3FD91105FA0CD19EB71AA518F603FD1B6FDFE +F44126492149370676FF5A7212AFAE99B2399045A27A735BD32589AD2AD073CE +41E565D115026AD9C6B81C6F0EBFDC63445CC494D6189EA60612D4407DDBF831 +2F83E1F2F8BF6AB7845058AC9C9181B8F8D46486C6108D40C19312CEBED38842 +35306D53CB87CD3DE08AA4F174F5B2C4AB9B2B22D9F3F7695CE74A1FBCBA0225 +52BDC3FF4410786185C04F21DE4D460DB6E43B8529957A36890F3CFDAC387203 +3E6CA7B01BACD9FC35FB5C14DB4A44C1F3489647FAFF364F98B3319287500ECC +A91AF7655F64D923DAD3061B593BBE7A0BBE3F1109BEFC01623757144FCC244F +442411E096D44CA34B00B0F3D0125D1BBC15746C93C0BCD52F34F7043B31D5FE +6FC2A7316B6A73A4ADF8718B3E30CF0797DEE8A94B2DBAD869EADDDDFE0C86A1 +B5EE8B38337524D9FF5495F231E450080716ED92A9E6DD973555CEA06B5E9322 +B1A6CA9DC9E2ED3E9B0499E211834D7C78D4B260AA07B1D1AE328B395FD92966 +90CCC73AD6EA7834796250216CF1F4CD8ABF006B6A50A3DB3333B694B10CF339 +FF01F731DDC573AF3EE82DDC0BC62EF781CFAE3BD558D7026DB6D1E2CF5F084C +E3AB663C143A93AF46D470472C11D6E3C39A564DA23E9EA8DF8BF3A5E3F07DF0 +39E95FCB1DA44E2622631D967DD0B8B58E8E24D0224008C351F87809E70578BD +97E1D02402D631041D63D458C1DB8F222EFDDF2C4B915D4EEBE9B17608A32F44 +B26DA28481F353411F9774670DEBA48A53AC833F4251F04D159DA667468781C5 +231721BE1C76E177175CDA66BF46C25E84FDE4F468DBA0B9560D738A1CADD30B +07362C6495FCDCF725F793E1D5B4975437F7567191209F6B7916CD9B58424616 +77E8ED3B3DC028E715FC9967FEF0B00AB87330CD580EA19FC75066D873540863 +5CDCC0156BB105B6495EBB1A26462835C09E8235CDCA3224261089F5E99B17DC +C21F4C467F7FB83486FAB7E75099FDBDFC9E518A43713BA46ECB346BE217A2F3 +DF3E3CF74999B1CB02B5249208B442988AE5D9431A271BF6D16323ACEE55F1FA +62CF9AC0C97D5A2EBDA229F9630955F5E06F62F72BACC9B6558AA3E60D8FD4C2 +DF9BA1B8CD46D27DCD006B524919205F68F70D1081284AF072BE982CE3592DEC +D3A23016E5E1564AB11EE10C5B09E476E049996FB49464F74D0605FF377C5CCE +A06F0329E4A9DA39D4F6EC8605C490A58E18732D6E93B7070BAADCE2F9C95A76 +CD17A696DB07E68AF9089DEAACE0DADC5290ADE2BEFF9FC918F399773BA58BAE +417570D2B23AC1D16D0576111071F9843E7E405B5D57F356EF4AF05ABA3AF2BF +9C0EA3CCB2B7DC11D6579F1C95577ADCFDDC4A585780D02177F2F088D5CF0C73 +1EFBFF595EC6B1DB8B028342D5DA1DC1DC3AECADB99F18BDB43CB2164AA3649D +1BCC91AD95B811B91EF497A14237C3B5EE1F6785ADA67CB799C6D54471947110 +4FDEDDCDBA16CCD839D917D5C10B78C4A3466D34DF751FD9732B6831FE34FA75 +D0F69C92390E4AA06D22F07496BD4E3E80213634B10F7DBDE3F534AAAD5F9D61 +BC16E9E38A5A389180BC218B420B371607F5C2E7376B7BF06321F4026AADC529 +565CDA5CFDE66638344880CC6F85A6E4576CE5CA9BAED5748281E5AF0F1E4F89 +3C9187A47B4CD8A4945D046E0F7F825A0759523FDAD891125F7D1FBD0A60B14F +481665CDC62F4AE3766ACB71AD779ACF9A9A2BC3165FCA696BFE121E1D69CDEA +5149029A46B9E1B59954F7007CCE1AC4F1465E19F5BEE29A0514182B9B957365 +12ACCABDCDA1EA2EAC3C1C4257740EB8842322AE7DD3DE694AC27D5E787F70CF +E71FF2C0BD024F25E569BFDCCD456BCA6134F73F11CF8B9C160D3CFFF488CC65 +C440766587F62859D350DB066AD380471D52712B846F6977A815008BEF5AB6DA +89264846E4FE0C6A3936D0F99657223A0A35192F3A5B8292EAC86B9DC38637C6 +7400E0FBBEDB34B6AC1E4520E1A765BAFF3793FFEB5749E0AF065890A9267EFA +8B48A66C608F7CECE80469201E64134B6F0E06263CAB0ABE5EBD5FE2D26F7730 +D33F20FCFB008D737650D73C050BFABA8C25ECCF847B4FA9E9B3EB82A1277365 +AB26198523B43EEF9E9FD0EF852EB0AF79A5EB6A574B199F17717E8A36B9F577 +7C45E675842E9483EC5B3A2A45BECBAE73627C261A141D432524FF9BFE733F50 +A7FCDCEAAAC7E09BE1703B8FE781EE6D020E3A5A7C0D8E2A0870049D7AD9E574 +8FAB8C19C50BA2BE98552911AD5ED98DF3323A7A8ADDE84CCEB80AD00468239A +9079DD2FFFB98E6181432F3C28BFC2E503F0E1AF77CCD52BB8E3CB882833958C +A66E537F4DECD492A52B4D84F183AF761F112B5C25157E4D9109A2BE5A68E8C8 +E2BBB1FD203011B1BC2E1EBC71F5DF033FA446BBDBFB4A344F0A7750DE134EC4 +DB095A4E7D6A1512E1753B82E9A3484F89500A980FF5B0FDD7C26FFEE8887428 +4F7220EC96E7B534C21A1B3426AF9C77C744CB7FB9DFC30F0F781BFBC8E99339 +6B083C93E891FC6F543C670DFBAE15CE91EA3D89D7BACF8C6A5F33C568988701 +EAF0C4B0F61DFE6F39368C16F61F24BE1BDF1ED890D5328776F8B18AE46B65AD +01CE58A163E2E0753A66DCE85044D5A247AD2DDF5FA0E5F1E246CB946401926E +D334CF173666EF7B7465AF4DD5363D788F73437794836C78D3737C42B28588FB +5B0B3CA9789F2C7B3D24F81C40D1D1C9A93EB94D553D542AD31D6B6D72E59CCE +ADD4EFE91D35DF767B697F74BE531D3B1B7E41694B03D9959B42635197E55F03 +1964060151995222E14EC3674511D11C7E0D12B455E06B4C58F6E68F8EFD7D52 +C2A8058CF06EE121A7675E8F0AE43962FFA9B926ACEAB59CD22AED3C4BA274B7 +83740163AA31AA7AC5DFE1197F5F7B0AD6FAA5A61E49B2592F55D26422533DEC +D96F02C52E1FACA47658522BE4AE1C62CCE9402A35FAC32CECC210C2566B1037 +798938BD3FAD9A644A43B2497D9CFF8F3FE6FAAC42FD0E05506A827D20B9116B +2289C0C576DD84A2CF56F2216D58A02E35770875252E8CED1A0852A271019D39 +DB5E8E3AF2D53367B1E6EBD9A7569EC47F205BE79E4E04ABF82BD903F8E63B58 +A378BBED7CB6E46DA5D925A2DAE53876BA43045EAF35E317740E876E5B62CD35 +A5CA39882C6B0E221189A0700D8C5DD5A5F8DA3FB4477F133CEE733D2D8B60F2 +12402AB65F33C60FDB1228C5AD909FEC71E4C55AA8BC099745935F062BC327E3 +1DE39622A2029AFAB81DB3E7537C3F8E25BC29EBA7778C1D27AC5EC62364DA6E +0C5EC40A6450A33EA49B2859775D4D411FE04B82E49D2206783587C01C312732 +D86FD0CA9AB0073385ECB1C467CDE5B7D1E2FFB85160322A183FAB4D42E29B14 +68389BBF90BB149C68A54E8A86F6B312CF1062FE054FCCBAFCB1FB0EC2DE7A32 +DDC37F6523FD75BA74A5E081E6A953D42DF419FD475F9AD75D13D3F43680759C +54C91A0063A07FF5507A34F401D80161A57CC1CFD18A091D701E90C47E1A084C +CC8904BD693E1A090323A44ABF57AF10A716E899EAB7FB62C529885778458815 +0491DF470C278AC43E97DCC8E42E31FDF82448E35AFC5F90AA018BFD44E89BD8 +64CF63A653AE5F0301A06C16AE2DA06F85ECF5FCE8F7277436BC5777E2588F7C +4889627A5EBA53AF2DD411BE8E42D4B107335EF0887E795766249EA1ECCDC25C +60E8A3DF38F27B1A7A1DE94536A24AA61A47B1A58A5C8D82A4719B2A623EC9FC +FE5B319DE2507610DDDB610E0F68F85FA61A4A98EAEB075F254983510D1427FC +2BF3DEFED5B3F3E0842FDBF0B4BD869BA3570062C5AE28C23D313121A755CBCA +72C9373CC8A7F947B5895E3B48C808487ABA6CD967182D07C139A2F87C2614D3 +548AB2DEE5B8AC751E38519F5EF4AAD6612EB7C37A8506ECDB2AF78D7C582160 +35DD2D098D3372D464D2F80D67D92527F7A73A9BCF43682C3D5608ACAB6A0013 +74FE99A300E041D441ACC3DBAB6D518EEC5D8C382B31943816E86708A5D9EA50 +B80AD13C068C03F974AFFC81025F3634E5A4D27431B1DB18CCA974673C286186 +8DBEA1BE4201511C2196483CFDC0453807E41D058FE72F1C35C614E8EF883AF9 +7D367CDCFFB56C08BB3BA4E1DF255585CEEF4463EED877B19D9BFACBE40AF9D6 +A3ACA61B7267BB58C245637BDE582428E743699DD44EB86040D5140B74ABBBAB +05E14F6AD82E4E4E4FCA5A7920FD3AAFC7C279DA4B6D3BD167A542ED2E43D8F3 +0485FABFA601A1AC1544BE674E4BC9E312110746001D5988A53C0483DEF88E7D +5E04D3871C20F384777D027C71522BD15FB90240EA61D3372C8EC2A2714C544F +CABCE014D24F21CCC067636A69B1AF18796B7FCACC9105B202FFAB666A8C88D3 +FDD179F26B3D26D7F5B1FF2D9C5E8743F566EDAB756423433A1807BF02487078 +D0278A68E0FE15687AEB89B30376B33ECCA2F24B71243CECD91DC5AE4E7E7520 +FE5F6D7C8E3850373B811A70C4E6AD8D4A8251CFC397A4B4DE093E154C1CDA2C +40EF94409219099B7B5FFB13D6B3AC539802981F415B3B6C5F3F28CFCCFF76EE +84451C8758731207DBB578FD4B00DA83A4CC00B5599C78917D3094538081675B +0B825ED15589CE492D884C0ACF2BC4494DC0DF29342C28FA232E4AE96F51B5CA +0C0BBDB7D33C07FFF4A2ED31221E15D1673E1E8A73785BB35EB5FD10C2485C08 +BEDC0D02955A1DEE8764F4E855156D95730D32E9C705979394E136C12C193A6C +17512383CB27BA3B0A3E30210D2664BF91C73AD1A8116CF81E253CC1B2444C04 +CA2BBA3B85BB230DFA63D61677D2112421CC41EC1BFDA7241890659F18E99987 +62B6C788B98F89B305B1BCA2F63E8D2D7ED3404015B7A2A7EEA73ED0D6C2F4CA +215CB8B49D8A8C7A69B8FD123FABEF33D123FEB521824D87D8B4CDE4650B1163 +1704A068FEAFA32C01F50DD76557378CD7F561861F9DF1034DE2470D2D3CB01A +A1861DBF4B44AF32169DDC5089643986EB635B3386E362EC7CBA56DEADA4C60A +0A51B1A0A6C24980220873FF7F3C796FC5664490597DA5F2CAC7C0013B1B4F7F +7E929E57450B9765F71037620E73A80390902B271721AA252D0151D7DE2478A2 +B21D9E2966FA78AAA7B20AFAC4C8572A5A86D808F1DAF906C7334F8CCD3A80BA +07E9AE56AEEA8F908C92A64133024A5D562ED72A737596B2563B6865FC8ADBC9 +3BADDFEC1086D96CAE44574A91266178B2ADC607D752495F20DFBDB54D5D70DF +178A67A0BEA8293F44EFDFEA96C89165EBAE7082C8380BC3822DDC41E023D259 +F8606453E9EFCE8D0203D05AF8E86B2E02DFD3FD273E7BBFCF97DC03E4ED8094 +BE2CD5E3F1210A8ADB7F5E116DD1FB0641EEAD89438F3341909E4A774DC4D4E7 +764D973E2404098BBC33ED3C398CEA6B311E0F445D51E55F29045C839EE74BF7 +BD4F25A109C34DD931F1B59DBFBFD8AE904DA4FB0E42C960A28F18196605C38B +F30515A1C8919DA7FED3A6081AB5054879C509DFA61A3E4DC49C7C8CFE9373FB +F5F87E91C556B2CEC807E009E610CBF667B8F01104D4ED66484DC2458A29AA0C +CCFA596ECF3FA247231C3CDA0EE906C5A341D76525EF692D42A6EB876FB0559E +4BFD6EEB311F9C71D3840D3453236B8F2324F5FDDFA4F26EBA2E5A803D1A6917 +E6488BF7469089612BC578D3C0C8F85B49E54FBB28E2127A06C26FD439BDC798 +153083023E060292F9EACAA9DB8D45F1E9C9EB1816CBB6A93A5F188A3CB8AF2A +2A4F5C6A224E3E7405DA63B05F451A01A993B6641CE7A431F739AAD6452420E3 +6140620979205FA03535AF135263448E11EEAA9C42FCF442B147F012B77EDE09 +B538737124AB34397B5323ABDBE6267DE71E19FF4F6F07333E5E409CF9B0589D +C8378DF3BD4BD4BC1E8864C9C22485E46A2A1E295EA5F92691F48CB1CB2A2340 +094758795F33F5A80361682F6D838CEB488F17D7FAD781C77B1090B02F88666E +A23E30B3AB6456279DECFDBBAF8A34BBCBA6C09E2E8FBD40A040FEA55B70602F +800098F033DCA8C0AF1B92810779E16E88A263629C6C375ABA39B22002D97686 +805748E73146B462B0C69172AE17D6D6923243E9D94AB560158E090398D30A99 +5C2958D703B1359443E2C528A02E13A44A7F157A504E908773850F02E89503FC +4D5C87B43F60B3C465857507A4E38F0AC2431DEEC9C07444803E1D7D2B8C90FD +AC2EE8ECB4D53DCD3480134D1EAB291645748307DE1610FF94FEADD64D8BC6F4 +0326C7F478DDA036BA52BACD1B37C45E2B75F62B451FE15B3FE94019A96D8634 +369276C0308838BE235E25DA3D226C596FB81D4657B1720DB4702BF0B74B352E +A43F483463B01D37D363139490B630EE4DA9912E461EEBBBD33AB0C871AB4417 +7E4F68BA74334D45C4D65021E8B58D8287D6241D2D9C19F54D415227752D7D79 +AA1B89FA400DB65783286EC71D79EB1292E6BD02BB5C388195E801FD9036FCEE +385C1811F984E4B591F2B8775F3B6640F89349BEA0C53D690900696B7E925227 +205B20BC26151D66893E312892B18CC5189BF04B9F008088CF31AF7FF1EC792C +2392B10E3381F2284E4B4AC7C631DFBCE50B4075604E5AB320C2681ED768ED5D +FBBCC9D012809A2993780F5054D8BB60DCCACBE4ECF29B9F2A238886C06656B8 +12C6267CB9AB614FE75D2F96E1F6211BFCBC959D5B4B1FB77894E87D2F4D2657 +C64BBCF7A0477903CF2F3D58BD5426CC64C9A6BC49F41D3C2A0E058452170319 +28B5B8C1AB0D167E0872C810064F456FE97CB84139EAE7D0D2463DD455B6CDCE +9FD3142D5124E10E9DBABC8035E584840B3443B1DBE0E24173B967C2402ED0EF +37E1F832B804BC2F59133A3681403332451ABDCDB1C48D70BA565A6D4EDA8144 +E784A305885914FB1988E1E2734FCB76124092E8E4A28F16F8E9805BA1E816EE +9C9C3CE461C07435AAB8B16C688465240808C524116832D9597BAFA71D1982A8 +ECD3854244CD04C0D7EA50521D4867931F753EBE44B088014CABC94A95A9E281 +23273D528804530BE9B1FD33A0D3C3D21F72293ED3A231A099D34302E504EF27 +ACB5FA3BE4C9F3BC5AC4D3C354E86E8F460277672409B75AC1A596F4B54DFD41 +61260DC50D9A823679C5C6A54C0CFCC6AE6C08B6B69DAE76FD256E105FAA95DC +608117E4B8F212F5EBDBCD1D059EB9B938EDED6090827805580CFFA67D8BACF1 +15415321B15C46C571371DD8B809FB3664851171F1484EE1DB31EC8FF38DA7C1 +450AC79E75E81B8A2305925D54C8A5048F2C2750C7C26C6B3D476DD6D79A986C +F3F1131706DF7747C0CA6D9049DC6C3A7DF1549051AAB0C38E846F34CE7F4CEF +4E6B6918B78F4F1ECAE6A220130D68511235B3DA8EC4BEDA71B62BE15618351B +2E204656A182EF76C11033BA3F903CA4B7976EF7F29B0529D0094ED2067E5929 +9F22E19F8B0CEBDF0156E4AA918DE4B5AA7C0546EEFE2141A7A833332B08822D +8B28D23AF2A46B9879204B773DC4AA566AF9FA33CC1668386084C4B5FA223C90 +1B96EB26ED2C41751B7B27558341DAE930887DA88B44EC85586374C30DE69F41 +B8CDFD1E93A79579374E8ED14AF1EE15BEBD59347C3DD89DF2468D2595DC8A61 +FC3BD1720A252A0BDAF42BE2AF52203A72745A23C1B123DBE2FB5DB44953610B +2F858899EA9E3B76C1AC284908F08D684BBAF6366243BDCF27E2CAC4FFC4091C +4A83012FC8EC38BB341BC0FBDAF1DE7754ABC6EAE808D2DB7954F4E6E82BBFBC +B54A538A53914FAEE072847C5C723F3F9F222F06FBA3ED09A42D6082F8C37EEE +AF0241F07D3153372EF47802FAC2EE63F9C9744F5F9865C092592B075E4001DF +7627996B37FC44CF1DAF42501F6ADA9AFB94A521229267BD53CF08C274B617A1 +90B28997777000658F086521013E2B15E695B78D118369633B39DE354AF0CC2F +4608E1355492D289690A00EE5A04E8C7AF674B3DBE88C899514AFAAB6321C56A +E925A468F5C1596FB1C695EE448B9723C6CDBFB8AE2E0CAB7A4F734D58DA578C +1773437395B14824F0CF299322F7ED33CFA6496BD3B27137D36F9E3690AEE9D9 +24A38AF7B071E60BC0FB06BD84168662CE09F4A38DB14ED04B5133AFD91A323C +F4AE8A2054F2FFD1C4368FDA7A8D584AE68B5E48BA4496D75F380A4044522206 +9D03AB81695584DC74F612B98BBA19FA6BF1EC5DBD06D04F1B0D36D485991C09 +720325287B2A2C259F7A4E7D7BA2658331C8F987ED0D3EBAC5933E778D743DBF +83BACB647E014D8D770BF7878BA9A0164562652B960015CB654F0E69AF44EEF8 +C01495DC6092A55BDAC3C59EF50046ABBC79C963CC00F7C9D38252BD9ACF0FF3 +1A876CCB7EBA5E43A3F0A9FA5C65189E7BB448DFED141B06FB1669DC1055631E +88DF65DAE08A6ACF17ED8583065705A7550E81AFEEE7D0F18931878BE457C233 +53D510D5FC075CC13AF477F1FA021D670AFCE1784AC101C8819F550ADCADAB11 +4ACF42BE8CC829767363466DA50BEAB3D9ACE76368E2EDD239EFA59C713442C2 +594B4F18B6637C530FB9A64218B34C7D0AB4C60FFFA5FA6B6BE561C23B4BD263 +D0C86DAD4D6972FDA3F5C465AA59402AFFD1B15C57D9F6D0F37943059DDE6C62 +F678972AD507FAAB162ADABDA9A4FE19395C3DDEE1CC4892519E79C571E63B90 +9C6D068EEAA373F29A4B09A9949186086B9ABC743AE3E7D09B7313995933C117 +87C4EDD5BE67392EB08E48365893E8CCF4F8F2589C3E790FA8EB136BF5A4AEDC +B2E1009DE94CDAF8847BD9602957B17614F64A56E865CB1000F842F01C66D69C +06A1235756985ED1242F038821CD376A7814E05FF2B18D5B5DC353D4E45F5843 +52A68183C43629A34D30FED56BF5F514295D127E199CAB5DDCDABA9DF6B25EDA +5719D04ABBD212D7B6F66FE20EEBE1D7AAE0A9FCBA76E21432C9D509C7B6B045 +44A28AD70DEF21BD5D5D3B508F95A6E4896292AAABDC4E6BE5600F17726CFC28 +3BEB5BC500BD48BE92BCEE565843EDCE09FE678FABF061F21A2A15549F9C6969 +03C8EBD991DA56A7D88B7EEEDFD4AACE36D919399ABCDDB2141B81F19323F243 +20983527554313BB39029DA04422FC5C1E234F1A798179DE5486AA60231620CF +DE5D060268EA0CC2D1228A1EFE742504CF42F011767D814F587E1A4687EAA216 +C40A8D70172343198E91F9BDB69CCF84EFDE1727B9929A968AFFF1DE01D89461 +11EF6CB1382EA4AA5570B3C60C7C48F741E43F74F7168DE56F9791DCE5BE50DF +5FCC8E9EF7E4437397C8D0DB156020B2361BE557AB2AC3CCC1EA754DBD2AB2F9 +936F40BF0650299E3311D525EBDC48AB545F887B06CA0A075AC1069DBD6025C5 +9B801CD2CD0EB5B0EB2EDDDD24F5CD1C71D1EF56C1AD44F462526E9E2912EA73 +3320A3121FC6C37004639DFCC6067BAB7BD0DA3A2B3732B2A754C96495FBCB7D +CF1FC14D6B993126911642EA32C499AF92C436DF97DA55FCCA98E50CB0B4D38F +4C24DD07469C13A8DA1ABC054224FE9AA6DB6CEF0022CE55E083DB40611B22EF +8A40F84AC135951269C208F0DE9BDCD2E3785B1A99FFEB2996A8DFD71609DD12 +BD3B6FEA4DC242CFFAEFECC02EEDD6DAF26D6BC385CA2364B10678C12DA8B745 +DCD2833298C50E02CCEBFF5DEB9CE3DA2D5E84288D7F63DD283BD2180F7E58EB +B8CBA3CE2F39BF65B388956DD060150C42CCAF3B99888EEFD9DCD29C79E7637F +240743230CCBCB4A392206649C991CFA7645944316ED1760D926B0AD5F892A74 +9EEDE457282918A20279C5597E7A24164840547ED1C03D17A08B7B26F7EED905 +59DD0EC8C6995AC968860D26A728703F8C0262BC74D49A0F8DFC39A137B44FD1 +36B7068CB2A19F03B85C418BA3973AD00969E4DC1718F94E0A4D682BBF7123EC +0B8D695BD1DE6C9651A4EAB6B7DDF05FD53ABB642E4EFE3A6D4E81484C178CE7 +AF9E655E2B95D1EF90843DB9E454EAE423F714FC9DFE93D8EEC738A815A43C61 +9EB5A96A479EEB31534BDEAC74876F944322269C662A63AFD312A8BE2C36B011 +D0E68795A8280660C85266355BD0DF42993375DCB40440E6A1AE3EE46B1B000C +188AD7DA050CDB91F98F05E784DA742DC3119CFB702A2AA53C9580112F603C89 +E54C44F0523B91279DA3049E973009A42BB42D125C4E492A8D5E0F57D028E702 +D6D579DCBFB937F8B04D3321B7D8E92A17E171FCC33A720A01887958116BCD4C +0404668EE50A4C808524266EFAD3BBF8CB6D57FBCF9990666EE10E4155905C1D +B6300A7FB442E6EF4771C7CD7F26AF6901E8F5E1323DFA7E6B7C174FF61EC768 +242DA6B9B424D818197A9BFA73877CC3031ABEEB51F7A2B2371FF0FB3F661538 +7B679E5B1B00F00AE4D22ED641624B5E5644D13F8D0E14299D7FE9507F4B3D73 +CC6F243BDE8DC202701BC635FD0CBD4078D3E75148379C9D12FBE533FDA82928 +07879C39043D94CEE9E3980DFEA127C455631F6B0003421507F5DA1DC324E8B7 +1DD031605FC74F0630396FAE502DCD45D2913015A2E190F174E8236D94885897 +5727C25CA77DFD3403187DE17D622DD5DEE82298D78565A53E31B93750867BAB +ECB331596B5725B1DF9405CC4D3C090B0759B635EA78FAEF35876EFA867DD625 +F6C7326C7BAA4EC6CE5A2861F8B5D1434E24C639B6E398E7B190EC50299E2421 +358FDC085DC19CD5BCA32D32E8239280A581B384F2C8DB8A3020AE6CF5B05172 +043EEF80625ED5239EE5832F14677FF67B9488F1854D1DF35CEE7B02B9A66115 +5F851620DB80E3626F7CD2C097D330874FC3388F193F14729A7486744E6167E1 +7CF63919B80719F7255547EF214B703AD5ABA97F45085E34B7B57A7C2465C2BE +9B5807D20FE9B911DEA468718F80109507258C74077CCED9ED9D59194DBFCC1E +59941052F6CB81BD3E7D8BFAF1BFE23F3E3317103D210AE077ABAB51296F8636 +5CAE88E8ECAE9380E6E8B43168EECA559204EDC07B00BE4056FF54788B2471CF +C6FF72C5E47C50479CC2285BA2BE43D2F8F1E3CC07C06F08AE5D37F1F3C62908 +BE8DAC50F150B48503410F2EBE52C5830A34647669AD688D6F8D0E119BEFD431 +3BF06100271DA8239306D371C292083CEA44278C04D9951DE7ED8418AC1C4930 +4FCE12D1D47197A1E8B2EF5C3FF1F238C62EB1F420368534666729B09636AAA6 +EA37F4BA8A7257AB4163FA275B5400D64C77CECEAC9F4E9EC6EF748D7EB6FE02 +3577B34E9B182D30B13402B5E896775E29749033D84718E23AF2905046AC3585 +F98740FE96D894589AA3705E0CADBB7CF4FAD8F81437EF7A3C1C655B742844C8 +19E8F58EA5AE3F537DC7268640A9D51935A13EA788366A7DC48FFD746383BA34 +DB77DDDC99B11D3A0995F47B71A30DE32F3343E586890448C295B8119E2966C7 +133EDE8036795D0372CF72683E7E11B192023A05F3A9DFC0D38470D6A2EF2884 +43D4185FFAFBA55D5B51A73E32EAD43672D6F5EEA5530B41FFE5A9C7752110D0 +99254F9AE2EF587D73DB054474F3051B6475778AF9AC50DCFC4F1178EFF87067 +807096EFDF37598833C0ADFC0F51DEDD13CFB2934050B2D97FBC1807EB920627 +8319561BA81F29E528CB8452F013A5E63BD14BF07779F2EF4C9521144EC2C31E +ECFF8BC892406D370547B2F5809B5DB70B332C051410B2C31AD85B08C2B9A6E9 +BA08F7A237E17B7B2BE6F9499D1C59CBF66F1E97AFD5DDF2191F7927C7C2CF35 +AF1F47FB1D057A092926353C2B18353BAC388D0EAA43ED842FDFBC3656985B9B +C058C5017E42FFB4187E1D788D7319AE087E665F3336A1B74C809012C91DF448 +79F2B65DC51C16AF6106F8076AC760B12C2AA6750A3E32DE66DD05DD95F849E5 +4A54E3DB8FD43D152ACB6A365A4929732138DC3D840D1ECDD23B87F2AFA45CAE +52E23F1CA28109A895A39044D5DA9C36E57115D3C7BE2BF1ADB87A16D4884D0C +B668672B1668414165D4DDE0F0ACA82565F8289979B77D912726E6FDBBADB523 +05B4D7A6EBAF0B3B124DC3092AE4043F08AEDC5F6F5D339ED115BD4BB1602E72 +E5645422CB1810121E893CA5B3182BF0E720505F2A8A360BCA6ECB03E0BEC9CB +37A26717F10101597BACAC9191698F615E9A9EF8FD1FD0A762C52E5493BF8AB2 +5A74A3B0011D159FB0F8F17231BB1973913FAB2F5711A802F040503C897493B6 +3688EB894032A7B69956C3D5A43884F59EA0ED5937551FC62A42263F3CC5F7DF +0D4CD131370B84B6652FF35CF6B70B228238CC1E3F78F3DDD564C01553871225 +01754AB463E672829EB894824055C2B5F4E5E698ED89A0443C92226D0A9034EF +E217C6992C1DE2E8890DEC32EF16DE266BC5E549792AF65D4621CC50867276BE +B8E5C2C8EAF6A324CB5A87516AB3EBE991633E72D157CEA8A32AF8E53ED13F61 +F3F2047B1367538D70CBE32AD7B98B953E58C8E79B7207C1FED860D7C7D8F1F1 +8CD88242705CC52C92EF60A35AE1C61BEB1B77A0C487AB4E0A5C30948B1A0610 +84D6F2F7B37B28FF68AB3F8E91B548BA9BDE008DE9DC97654F1C2ABEE411FD64 +6CF09DDDADC6F93BDBFA53B31EACDA96EA4AD8E922A332756C0006BF6C350D49 +7A5966E8BA66AE7DCFB88EDE0611AF2434D8BABC47016D64496502CF2DEC222B +D033C59EB3272DD5E67767764A562705F430AEDCA24CAB0C1642E0DBB48E254A +CD5762CA1EE26BA6D3DCDCB3AFEC1C124CE85829A0E77A942A270889C611A304 +8880CA94FB8A2282F3E7F61AD66D7EDCEC35914C07B3C0895D71624757DD1F01 +B7552C8508CCE29352A9AB9C5388C395C8F8EB57DFD931C3A41859EDC85EFD7B +C57613CB8BFE25D53611B17B9D401715B887A052B7FDC6F834CFF5323229A332 +AC6570ACD495062C2959080CDA2EB1F3089E371A400932E83C061E2F5AA1CF81 +2D5074EFCA6D62C63BBC33A7BCEA326A645BB8D65908B194F49E7A194662757C +84149FDF3B5AA99C7FE890F770F24BF0EDD5B6D4A207BA9D7C30863A9FD4FE9B +00125EF4043596384C7ECA3F5FF605EE38FC54D5588F254793B05D6787051E17 +11D7FB845CDF9A696CC7166D08686C54A202073C576E43EC98F5C293F2C310D9 +EECFA6296E8EE0A258F3E45AF80E6FC65E79455D0243B21C6203E779B35DDA40 +430FB12885F84939528F277AB246CAA870F2BDA764594B4B5D018ED197522D81 +81892FC14D5D5704327672FFC0853CD3A78CA9E16607961AF80E54169185BFDE +C0471010F66F61AA7D33264E13AF5428E8B4D43BF350AD2D0D736849CF74F08C +2E595B5CB46473453F08E31005F5A8C56634AAC2322B3DC6CDC2ED0D384BFD63 +B0B0FBF27333756B134F5DC44CC7C4204FA2CCE365DE53D05A048EAD143B02DE +C5669CBFAF7BF803F4649745CF3D16576281AA8303719A3EEB388ACF8E781A6E +2F0819B2F8C633018F40C7B670BD8548138D965CD5BFF295296C07D8181C98DE +D1600C5FE9BD673959E43F5A816C55F844853A43A1390905B9A1247B481F4894 +4E36B9AF0F05ADE224F9ADD39B63F25C7C26581396009192965D7D3E73A86FB6 +61F8DAC86B4B5F992B20F69D69100F848A9C50C6F14427E0C840D8981AD4943D +6726680F4DBAD325DAC1F9C82B1AC95E322B183535F88800D6CB97FBEC126991 +0A53F325F457388B3212E2B5E1DEAD71D8D051EE0995E1658ED294AD0C6C19F2 +B45AD05846CE0148629B2622979167033973BAF86726AF20C1F20CE696E27313 +E0E7906D0CF0B9E799D413ECA041BBC4DDCE755BD5DAC2B76E1CCBC67F0732CA +74C2A42C6AA8CA2D2FBAD6F3DBF0A8254A24305F046B238D2CE008BD7A0F7673 +125B6D7DBD8CD9246F133714159FC9EAC5B1C43081E5382CB8D3E447DB71386D +805F013F539AFBF51B8A2235AF34DDE24868B51AF494C8E42A6958C7943DD81C +4DFE6FEDBFE8B163376419F75DB2F539196F2EF384D56F65B38BAE191B81C8E3 +E1E7726F8FB8BE6874BF7213B32725EEE143F5ED8275FBA233697EEFCFDC5A92 +CF27705B2209729B15E3FCA7CD96EBBE0DB9122207C65BD7633246F522FB2D46 +B6FE50C19EA2D0BC5133A1BBDCF1DE22F402EC2C37C485FFE5C0358C4FA18B8F +CEC354103878B1F6BAD6AA0A485E9888A434D3CF691C8329D2B7AB0D9DB2FC7C +61552C0856078B0D73F09B7E99254FEEFA8C2A8671D4E200AAF52229414E20E8 +AF5925EE7B0C61D6AE22147AC6E5CED1265812E10CFAD2F366C7FAC2958E8AB9 +14827AF3147F4D3DED4DC6A8AF569682F9B17BD67A54841914ED59B33D7E40E3 +DBF5A8BBBE86C3B7E5CCC067053FB9218B9F0876247F3A0C3CE06444409C391A +43BBBF008A587B8A09924ED83279DBAB133F41AE117648EC9FF59C170DB53BAE +8D49D7FFD80E874C0D0B9AD7B694FA085F2933272227CB20C3F2CDA00A96C665 +CD059F9D2E438861E1DC923821C411B8CA8DA5A21612FAC30EA3D869B01EEC8F +8D45AACFD0D0298D739C52FBD2B0BC8C96C8386A392ABCDA29051F9D8F5EA844 +8D83F9EECA7B6DB7CF3EB1F81F85FEB96A471CE0A5B899851097AB3D63131BE1 +6086D914B3986307EEAF0D0BD650C2F0F7C50175868E4864557DC8790794393E +9D57D1B9D0726CC14B48982B45CA14769BA0E0FBC25830B1A8341324F31460BE +88E6AA3592A3E5630F9A5A7DF736365C978747E396D4B7A59ED56E897B9CD8CA +94ED805D4B979F672EDF9D01A156EBD6F759BFB0BD9E5014CF59B6164406EB86 +108FDA4C92ED3369056F515952EBC711B48A11AA75DD9EAA736B48B2C8E05F59 +8FAD1DCAFD29FCCEDC072A4497E0BCEC768DD7F7326A83A8762C5F07050190D0 +3F765F9A23E49B75DC5CE283BF407B61C41FC8FAE5B6063502BBB511A88B53E6 +50E53F218FE3B8EB0CE7A3DE17DEF300A74F6E5CD29B1A9783A7EFE52715290F +60E78618AE931B23B8AF61945CD3EF4BF7A363128D2D2CC0E0BE3E927E785844 +73B0EDEA9CB3BB8778A34676F9DC31DC48229F7B61428ECC8436DFF41A63D274 +6DD5A0E19F82BE2ED721E25AAD9AD7D55D9AB1D817D7D3BC7FD5C64D3A16402F +E5F1494D4DCDCEA0F7265B72EE4FBF8B6B783F2051585205EA4D2723A1AAC86D +E8945BA2670B0DF1CFD4CF47966424A2B570900F5ED0ECFEE4EB534BFA54E2A7 +654F8122BAF46191F03F02E29351E2E7D6216CD5A633DCD52D9D63FBF8DF6779 +276781BB7C5A850F5F5530E41CEA047D0D2C807CD433780E85BB852F4544ACCF +E4C6FBB366F7A62C5F2F7C85D405C70A393F19ED723D596FE895DBA8555BFF42 +AF22453A88DE11127877EED1E653CBCBB37CFE724C74C13C1FBD430C0985BCC1 +AF8CEBE773F16264A8EA498C2CEA83FAB54AEEE9237EB6994DD36D172ABD4630 +7FE3917C571B55225EECD22A4BF03D4F47E483CC610E517C5FCD8986E6EF5472 +8671720DF6D159DC239CE689E60BA4F963A061099C65CE43E10796555B004357 +923373FA1666448B261FA14697B7287DD24AEB4F2E6D004204D31C2DEC90F7E3 +7C5B329F2AC730EF375262773306D20014DC28EB842EB2216C71D2BDF8600B71 +4E5D9506D215816FDA6AB7A0B8E98C5022D70F27770D1EF50B49601586E35ACA +3E7C3E54F289F4F8449DECE1CED8DF3945B80DF9732AB827AB6CBB0868E054E6 +099A81A50646FD437A021DD43D19F307CCC435457E0522CBC740A4B832D4894F +A6E93662ED89F434EEC68384EC374E5666E0089F246AA367D8CF416BA95B9207 +574CCD04AFA4009F6AEC51A24C3F3C4CB3C8B2E0A1868C8DC50E32BC88EE206B +F5A9AF7ABED45C44642D6E12E2BCD765D4BB68E5B02749884DC6695D76E9AC93 +D5B6C0B6F294CA9CE5A51CEBFBE78F072EF2E1374EAA8B74A89F8DFDA665E984 +266C686B3CBCD0CA5CFF0BD82F8AAF903A033CA7EAA8988817B526D38C76F0EB +1D7A62B5FD190723C24BC9E051F379CF7A681F938E504032AB465EF32FDCB4BA +8A1ADA22D5C86F704FB070771CDB8F1E061450ACEB3442A12EFEFC021D086CA1 +CDB8336CA04FFF6204B44B89EABB5EC6F251FA6BDDC4C550EB0C92FADDAE7374 +791F256E229BC0EB7F13FD2D007538B53D86CF7CFA0F7EEFE463E8ED1EC24CE7 +FD39DA67C23143CE793178162D7BCDB1A1A98B81C6DC7AFC814777A5821149E5 +0391037A6EA0FDACA0BF93EC305655AFD2A018AF0787921CC75B1810E86D7378 +DA8DB8A352EC697CD9815A4781CC2E0E7A961E5F961294FDF18D8C1C4F74CFBD +68DEE0CBF24326C67CBE64092201B0BBF54BBA02F57C80452654C0D8B4DF013D +771CC70762314D160850EB1165FB6603EBDD8303C398D3F545CC3C326B32A288 +FC73B1D805F020BB9CD98993C0362AA367F1EBC369AAAA6ACA878034CFA6120F +3437E24DACFD95C89953954D025BC501DBD78BD77526650B80380E7F39F724DB +957616303A0F8D9668DB0E55C07E4B7AC99E5FC7E639543B6AB14B3A44994CF6 +A038E33DF3007700DCC225679D861DCA1D43A289624D771EC6DE5AA0A6514F2F +298E27DB25DC8D45D2F192136441C66E4793DE91C917AF060774E76C767F7106 +2A709223A78EFA80093852F303477EF202502FD3B5021750669C4AA4A63D84BE +B56B1A178F537FDDBF77742E3269A086D5E8C244A7C1EE575EBD6D652770488C +BAE29DC2FBBEAC5D77CD6EC7AA078105D60BCF0F8035B4DCBF75DAF21766211F +3A9DAE4BDC772163D801E831E45BE3B57764BFB7AF0B905FA1DB9BDBE39ED7A7 +E85ADB3F07668ADCA70F406C9C0E2CB0BC33B93824C58C038F2256ECD2ECC6FE +8D1A422AFBF33412A2716B74E1FE44F1D5F782AF6D72D69360E760703DAD5E2A +F0B4BFE753AABAD641B8FC4B5CAA3CFC155685B608BE3891C762F36090812A85 +3453492C1D2E2C2755CBF0F4E2400B4A9AA8403A6CD8A72C274A30657DB76782 +A5610A85C44892C7ACCF2B30A3EFCB4FE58D01DFC828B9F160027EE9BAFE2514 +92690FC5F1E2930A0FAB61F15F4208CF9AB05B5AF4A1EDAF9BEEF7698C1CABAD +86E92A6C312DECF312C75EC0DEA63A66201395DE2B607FF56E476335A942CF53 +C5414165F5CA4B20D61F21E5960547378FA8AE0351394615B7025D334E31F153 +84A7A642AD5626F4E130C99C50CFA2FE032E096EA1ECC01DDE98232806CEDBE7 +FEB6A7FACDC53653952B3342C9C0FAC7F46CF70E0C2F6DA8D3146394A477E9BF +5F1F0D559702F812FF59C546E60B92B410CACC1D780C565D322936B25E422205 +D1B77761708D28CDCDCE30683A9AF46046DA59F7EEC548B78BB55A2EF07A9BD4 +AC9807320B94E8BB7F2EB39DCB5D89C48FBDBE17003C511D858DADEB923A180B +B67E7E1346B9B5236C2CE21BD33644447B1E0BE7920ECD96FCD032EAA5E628D9 +2F0EB758B3D942FE1DA935C0E09C4AFE72D5707EE97763C7F7CF7DF022248B00 +93140D8061FBBC867002E1E40E195D553494446639B9957F568C9CD266FFFCF5 +401622EF74732D2AB1E86DDCDD93B5D9AEF7B2EF6812162823A1A1B8AF1CECD5 +0B34D6E99CE3AC269095E4DE4D4BFCB7A12726601F8DDCC5A88C122E9373C38E +EEDF1477B87175CE1354BF2CEA55B879248AC756C06AFB27711B3F61379B4041 +ABCB1AF86404F1C92AF8FBB995C0745390F34A22C7D574CE5C2771D9AB025A1E +B5AB1FB004A6FCBB3DF83C8DF8C863815B2397D4059F891203C9C0C3EB8DFD92 +B6F8C706C80A3C7C6704E656B19CB89C40BD83B7E823F6E286AC1CAAF5526F6A +74A23D4376B6D9751BB6BA608A24AA26154E254660A3734A82095A68BC7E2084 +595BFE7FFB7285EF65114248F76545727830FE9E3A0B471FA4372AAC1C9840A0 +854624D0C02FBB5C20279AF5DC062A2573EFD6481E8DA57A7739EE3E7F7837B9 +E2CAAF0AC1AAC13B812205E7C1A65A98F0313294B740673300073214BE66FEB3 +B555649EB823D7B528261CC968997B56CB8C90E5FA4F04E7933FB396C4E5871F +C316DD9522EA73C1202E300DC5E4E743B24BB915302B467DC4059D1837F95E55 +D08D783616A2C868F222ACE2881E31EA5B3B57FC62ABBCE9288450CC64BA50BE +9F4BEA29CFC75695F77BFADEC65EF4561CD570E966834CAB6D731D196B24E14F +ADF86E74643E09135188AD6F9508D9D6DD31E5BA9FA92DB0AC1E1875A7222A53 +458103F5CAB00B70666EDD2EB08E83E7CD7A700237CFEC61CED095981D7A82E9 +929CBD909852365A49030A593BD266017EDD740010A50A9F001CA3EDBCD79646 +AD489A55FC9B48A7C765FCF9B212584CE1619D9037948A8D22702F2F36A5788E +974C88CBAA776EB4844506C7A9DE71F0D0325970B57916BD006B4C939ECEA725 +3BA14AA99BAE0C91D0DAEDCEBF1D915349CB9D3AEFC36A99B69857A73077FAAD +B6FF4F3B47C4F1C0AF1364CCC46DD4840819ECD0955CDF610F8A574A8BC0A3A5 +9B704870001860A888FB046784788324B83B2710D38B18186F59BAD37BC77794 +FD7B73ECB5A060B8992C419F9337453C130677A14DD23E9C1A092EA099E28A06 +D2EA0CE381936E033F2E48F33D9A18ECCE3AFACAE0CE118891B767FA3DBD9D49 +3ED3182A68E4E056D420ACEE2C7B20F6C2AE042D3DF60D70B2DA4527EBC0B3FF +927CA3BDA84FCC1ED450F8847FA4E59E0030969C215477B5D7BC0CBD674B6B79 +7C28FB5A2CB25405DD82892FAF806F2D0025232973DB70F7E345510BD782D5BB +8C722232ECBC8C0740175347D50B214DCBCBEC16B7E5725017234460C9B81BF9 +2D8441CABAEB6B853CB003F35FD3D05E40B5AD32EDC899C59F8F78529C62B312 +06E076F73C4F7D1E3F862418D9E4F7803BCA1052E06678CCC594A960320FA393 +B82D738D1BEDAFFBE013BDF91C6D524A44081FEBB7CE82124EF5B2731A382F21 +A5C6249D1BA59E2728D647FB7BF75217CF621643E0B912D4989BE54870E38FE2 +EE63C4EECA31FD1BD041D85FACBF80B65C37727F3C72D40A453365CB1A92439F +63D54E599FA5A9BA4F71D3F5D5AAE42DBADBA4AACFD13CC0841788FA7D186F64 +859914B0BD0C95DE30D5830B29C1DA1403A61A289B2699B527D3EA8A585DB2C1 +CC4FF7AB42AD22B0E09463F035F0FE3636E7DF92964D57DD0952A1504AC5B470 +556095A0D35DC150ECB425F2B14ED3769705D986F4E6EF548D7FF38F88EBF58E +EBC22E73B03BDDC535173ED753ADC75A9A203BA4A542B9B76D27A64531377915 +10C9A36DFE9F07010768E5B60CCF4F8737CDE22C42D8DE22A3AB17CF3E2832E5 +781D795EE5C86435BBEF93E1E41918F05C3F34316229DF91B1602005DA7C3AF8 +E3F60FC7D693DAEEBFBF9A322E0BD7A9995520780A9A476C1FCDFE428FAA9C7D +11808AEC9032A5F43FEE05692F80362554761D9950F2EC0FCC435A05B4EE4B02 +446DC2E3ADC7C77B3E937BF5138301563B4368CC8A26A95652F8E936EB6264EB +D68F59788449C59D6E1749E130501FBA420A986C887B9A31E80958CDCFDF2B1B +A0E8F6A327D5EC034F68ED4DE7AE84AEFBAC9A049B6E1A1681826F810FB76121 +0ABD0C23B1075F9658273D50C63426666A9D3481C8F54E2610C0887A472B2F8F +8ECF37A7C16D199C537502EC19D83C5B0C1477F2563BC63039494DA44534FCB3 +7856234BD559DA460F6BF425C7626833D8E3428BA27C255548F9D9B908E55C16 +92605D8A029C885A66C726B7C14A5AB5575E147E2F1E4DEA56E0162E13852AD3 +C1ADC5EB43FAF32DC34B5F832224C507DE8D0B1A54C3E7A0535EBB8CAD5B5E1A +0A35DD0FB5B640E8AAE2FA839E3942C917957B71F1E15BA194551DBB2C48F0A0 +B215560D0BAFCF472AB90C8FED6048116D4E4B9B1479D989F0610B52DC35AA61 +B33EA7F891617456085BE32C1A355A660E7B81CEA13DAE58911A8E3873B5AC87 +4D1331B59ADF9E7E7DD4BDDF990FE579C739D369B34B4E055C4EEB0FED255789 +62884C298FD09816AF32AC86844031C3196B94DDE55A65053457B48592D58F5C +DC9D02CD76A8CAF9F5B1D0B8A15A57587968C95E06C46FA5DA93BFA967B61A85 +2D98E3533C7E4F3A3A0D9D99AC57208DDEB2F7F308ECC94E0C38EF22520526DB +106C28133E996049672A9A459A0255D8B1A39AE4F8CD80195D32243F228213A8 +3A248402801919AB7BEA2D8172EC6CDC51F859E582D3C582B777DB87E611BEB2 +04612A51C1D8C49B60E3C2CA075BAC4939905AC87073A9AABAF7DAD58F48129F +C20F48B98B7C3B7C61AA456CBFF697549AC5B5A92E9098871525C351ECC5DF1F +805917FD1E6752A813275443401BFB15C3DD6BADB72DBCEA8098E6E684DC5A61 +78B8957BCD40A6D78D948700B9175F461A228F1ABCE8692FE132FFADAAF785CE +735647BDA0E0D4D76A351DECF6DEC5A75F744DCEFBCB719D18F41AE53A69DA67 +C1C273563496E7EB5C2001556FE2C13EDB5D4989B0C70B6EE4C6761C691A2733 +A856C41F48485604D55E91FD3311F7A977648556578335B8CE526BE651E3C4D2 +19F136CFE68D9F482C210011E7C0E8D8D6D713E7D9842FC6ED651035C1F557F3 +F4AD3F4ABBE2CDDB93811C851A52AF4D1A5FFCAF88C8BBF3FCE9D392F84B420F +FD686BE038D120621B39B6C36FF9F41AC870D41417A62F524DE5F01E4C7463F3 +CED218E47C45A05C0603FD0DB14DCB7C5596B773E35AB131172AE4C4C36A8D73 +BB0F0E5154C66EA3394915015FAB552EB5684D815E992626D4C11DC0917E0278 +1AEBAA02983EF1BEFC51E14FAF087E591637D3B958E183655BD18EA0553E44F4 +248CE59A8F41AF272C3BF63C77B27AE7EE4B1B681C62D320DF9988207BEC27CF +2FD1AB93BB73D36BE1D4E56542D35F163ED5569C37C781963D750C0741F574A9 +890414D07491A43AB08F0C34FA335DBDF5F065BD59D81464CC473F036B8B71E4 +2D5FFD9FB9D4B5381D0FC5A98FA307952457E70078A7FEB334BA92168D7BCFAD +FC72B67AAC7256D42C83C1F48AB790B8B2EAF786890F3A173BB3320F64E08382 +AA87596C71CC8D5B5B3220C228492F9D04FB56FC30E6828B480EA062276032C9 +6EECF8B5E1BE45F33595918DB888F0210F6E01E1E0214B420B03A34E772E8DC1 +5F416D10B82D4ECEFA523444EAC25B498111301DC293CDF1D528655874BD5731 +B9292437438FFEBF2E1D0FF2348C2C2EE98C512194D280A0F72A706A92838B22 +4E5DA2731965C70204EFAC38C124FE457D75ECC9DE58BA373B06C7C93775AECF +B09C9087D73035A3670ECB8FA0FC27DAEF125BA9E5B9FFEC9789E416B3236533 +8025389B8788202BE24BBCAE79E653DDC8BFB610FB30BBE572FA93D1FB41CF26 +6F60BFE555F51310B54009B2C506DB45B36B2C14B01A96B2FF29D2245CDD26CA +6C9023AF71A0182FE468177B38038878C1F803943F101B0F419AA3704859E23E +BC719FA3E86B211743C5479A1D9078208E9A0A7CEB80AE36C78F3CF3A73D6CD0 +EB8D4220A64069675AB13D6086244E91A13A7C92C909DC1BA14441DE4F542677 +33DF8B5ACA7A45C9FB84FED7A5522897C9CA1FFF1E9FC97A039118BE269F65CB +F130E31BE70112D7DEE5790A3F7EB0973BCCC5934E0DDCA04E5DDFD4926D4283 +7053B8DED0E2666753EC895672838461DC8E177B97B3BC64E6F076D0392FBEA3 +02A9B77F200594A136A7EFAD8A069E7F2B4CBF512C026EBED81BA4645FDF946E +EBABE659E725F26A0F8FCEE44DBBEDF2A8033AF58047FC2710C9A8E06AA4C008 +F7D4D49D9DD8E945DB7BE0BF2571BDF09094B591743CEBFEBFEABD525B497378 +E46753CD17122B72197CE7420672E118C80A06F7D263EDCF0D7997D42A2ED30F +4B909D456CFC2F90936FDA2D375665A2ACEE28D28DB6EAB9E1D9ED722D051A00 +99E7433BF2149829FE59DDBDBB60266AC6D57B81DE28BB1D747DB435ADD9A09B +97028959DC620CE7C90A01DCC8D264DE2AF4B2DD5DE46A17D0D841B5E022080B +717E959E18E862F254C3305330DF9B0AC282355A10871545332D7A3F +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMSLTT10 +%!PS-AdobeFont-1.0: CMSLTT10 003.002 +%%Title: CMSLTT10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSLTT10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSLTT10 known{/CMSLTT10 findfont dup/UniqueID known{dup +/UniqueID get 5000800 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSLTT10 def +/FontBBox {-20 -233 617 696 }readonly def +/UniqueID 5000800 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSLTT10.) readonly def +/FullName (CMSLTT10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -9.46 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 36 /dollar put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE33C33655F6FF751F340A8D6C01E3 +2E02C24E186BA91B34A1F538959D4450CB683EAE5B034D030186901B458D3777 +6B3942BD2E07121385120248891AEC2EB33C4E3A0CF00828D0F130C31A918C18 +979FE94379C648EF21ABF659253E43CD1253866F157F1DF85AE7E8714F061B1E +ABA3AD094FE8D6293916FA82EE4F486C7E513A06D4C9BE44306A8287970B4ABF +B6D1F9274A5A0BB6ECF713ADBD1260D5D6C4420D357FD486470A74B2F0621B59 +A9373ABECDBF32FA68AABB66FAB0C970A3354A335FEDDA1C288245E6C890B8DA +3D0EB953283ABFE372221EEB1586B0167F634E3F29CADCAB484B81A243CE1E3F +D5106AD6BDB1AEC91123377F816711CB9D5140120FEA84B8205B79D1569509FC +6B671211985CEF51691C45A168740BD826464B2CB0ABC575E7D453161328F80F +3AF1C99EC219010EC6C95E0A8D1909719CF18BE424967E90DF67537220E60C3C +4345B154D08F9EA684710E659DFFB0BA1B7FDDCD519305900A5E1CDA219A6C90 +DF8BD712A3686DAB90344E8784C7A9AF3318550285039B701B9FA1D3A3C3B6C2 +753F1E794A3463A173C99A9EC0E2AB5737134CEC2C97CD6A37E38692ADB4B131 +54697B7BBBB23680C72CE96066D8007B90AF0FC5958232AB4F21826691E9874D +107F47DAC1026298D787989BD77CB43A09FC95F6997DB00D8483AE9C2716CBD3 +7CDF02DA34FDA2F0754ED0968270E118DDD8BAAAA65C41D699E2BCC2556AA231 +328187D2F50FD518CF458B0BA1F7DBAF4B231CFD61D5DC56335B53C3013BCCC9 +85690E19E992ACE55EEF2BA7A75DEE6DC33933C226FC1494269B7CA4CBAE987C +2C787386400172AE3F44AE47115F4117EED866713BDDCA4A7AF658C49F913CB7 +308635000043F63BA210410A66E192289592882C477B2EEA0B2A339F0E7CF450 +CA0EF79D3A6C28598825CA03FD688DA60C95EF707C6E67CB7E57DE7A80545195 +739ACBDF27069F34C9E0216C3D17CFE7A652B910FCC9B9AECC2E646809C22D93 +FAFAD465DE794755AFF5BEC17160C9563B5C51D07022E2D3A256FB5CACE131D6 +F4B30F591A0419D957D8F0DCAA0A8D65A8D83422AD7C2613FF13A302E152B312 +3F1ABB45E42084EAC894FE335C07324849C9736D00C872C4551997DB889AF17A +A52C5AA77DEB548B0103B77F65717F70B90C1BBAEA7BCB4959F32851A9882A3F +55673F24103D6BF7FB3AD3EC3CC50FD8FBB4A6B13C3D278174320713A7B327CC +A71F01E50840B33D0FC3F5F6A6F2B0F2D0E38494B1C73096A430510F927235FB +69E931DA8CE5415EE88D0248565E3347353621A48F7948AC9EAB5F5057541B50 +82BA955D90BBC82E582FD71904445A59186022FB928015235B60830DA59813D0 +8DA3FC306C43FF8BB2CB6772B1F7BA3C1AA4B2343E7DA7E065EA53A4E5E28DC8 +0790F2D5CFB203CB135A08DCC9702B59A63290444F202756E55B9FB053F773D6 +0F69C63E74DE593E49186FF4304E8FA76C3E3006358DE549E946DB69431981E8 +1261C9C9A884E4EC708F69E6AF5D22C5BAC49F2AE85903E3D48D03B7B97054F1 +D2937A0C685D912D6D20A75A77712164DCBF8FE4D5460DACE139C5A934EEA09F +B94DBF168A4BC03A9D689936D833018FF43837DF9519AD10F357F00BC068E737 +170FC9FC6715165F733A0B6FADB9ABB48B845167DBE6D771C916577FC2132863 +767DC6E3D460E779254194AA690983184D934F5E858C1176B3862B69B42EBE7D +EC9AC4E020085D474093F7694C8A8C2025D4B0163E29320C384D62A9F3FBCB1F +AB5A374EF3DBA48AC2147A207AEFE8B78BECEBC55C97B538F3A0FF4589D171E3 +826342C8A5186224FEE54E4C6AD5EB02BCB4088B132FA1A48362824BEF161235 +8E661DCFDFD8429C65CCEF63902D0E07C2FEC1DC2756D942F13FECCB7E8A8048 +345338F24B7808E46A04A915C111F939E2669A12FAC0BA4F74B832EAC83EABEE +67E2817C058E69C2010F2572FDD15194CD8DF0FE9F827D349C0444A18D1A86FD +802BC120A5114FA3523C221242C7E767B0AAF6AD15DA1561CE8EB18A2401D71E +20481FA5F1E247CB5288F47795A6A3A3BB186E89EAAC4A54AC91405427136127 +5B151203426830F7CADABDB3FF63B40CA29CF8E667E71615869978E99E6F3F07 +0170EACDE3DC62DC05681D7680E2E96C30002AE34A4E5EAEDF88577601A82C36 +22D625A03B0451D7BBAAAE0C396711500E94A482EA787495073F16A76D1657DC +4EA7C7B83BC30CE7F145B65B6E2ADC207D192CE3B5FEF7031F4BD64F57E1BEFF +CCFFE06F1E4ECA48B442DF413766A70DA626359183A9B24C70419487423C816B +4BCB067E661E47E172563090D6328BD738D2B0FE41A0C1D7A47576A79BAFC880 +0473229D134F998909898301CEF50A82B627A9A06DF59D0B9C530EC5D877F1E5 +220D3A1ABD2ACBFDF1933F92B3137B22B9F95A961D93B729307749A50D8A6403 +7AD0F9C40743E39B8D198CFCF7C033D99440D46D821D97545B930EF92E7AE005 +27F2FC766FDD4790FD1913C7A13328E73E587618ABD9008022C5C6C23935CEFE +B5ECA2CEBA1D25DD846B48423F7186E03B1F61C8F1D5AC95CE03C83B2F221300 +7A761D6CB5F7F9251D3F9A7F4B25B99EE7A1347ED3059A811A82A35A033E9B07 +A4FB2A95009576F48665605C478E5F6C1B135016FEB4AE6A6BE4B4359836E04D +45AA11366992162973FB6266547C2E570B8F56F6D992D2C0F63950A16839FE10 +F56E59D93A37573E3268C5892C9F3358753D1FAD6379E82BE740FA17236E96F7 +C53A2FF785FAB86AD17EB1DE8A6AA9C69B91C9D9B43B5188E51F6939FEC21B65 +AF17DCE95DD3BA4F1DD51F0BD5E5869A1ECA7398B6E664EB0D189181E9C23012 +DC1E54C146842A90909DBEC03B79B58909205F2CB2A7F83C66B437D7F7DB9781 +FF0C67F004E979C95B706D8D85255CCD827CF6196D847DB380B56980109E96CA +997157BE78A4F758CE59D78158A854EF2C20099438F74777D3B0298D45BA86D4 +3C0AC30C984718FD62ABA0567AF0A70C1DD41953E3E7212D5C562085177E650A +2ACD49940551E3F7619B4CC31DBF67AC15D938619B95DBF66E6D1300B1BB8605 +31C4011379FB5388CA49E4A9BD6C921560CB8D513F8716A0733D2A7D77E62D22 +A69B54E9048CA168D210816E613CF6357706EF6B118A1263B858B7E19AA98891 +43BD675B06C893579957BAB97199ACB82C080593ECB8B66A7334779CC16E4D0D +4AF365CA6AF9727AE29417B61A5FD52452873B1D666044F8E7C1F6C6AA3397B5 +94A5780F4005FB5E41698FADD1594B505A58253D68D2AE3320E22165D198050E +425820CC0A43FF1D61F168D87CDD30C14D387610B6CDB63BAA39B3EC9B3CA616 +FF1CC679227749DED3DDEA26B4D97C633090DCB8D8A6E5E07E3579E4A99BF1D5 +51E43D1D7F139C9CB1D76D8F693A3F23A74EFBE79F01E0B850BC6B6C7F62C2E9 +859469A144853434895D73DA6BD2B348A48BA80E79327ABD96539F2EA2209852 +E1BF6B0B819D7C68A9A1D0F6F39416E3EC4AC21DCD3C51D3B5B8D417EFAE165F +2A7E0B76E558AC9F685A76FEC7E3C73CD607D9025DE6113BE5D0401887A53910 +82A813B026A502B51D484797D9D7E79A25B6624940AEDB4A15F2C73CA1AF60FA +22D15BFBF268EB044FAE17822511AC6580D1D74DBA3C3335217780B29FEE792D +200B00B8CD888A8BFF15D938FC758BB5CD9B3E08E1AC6CD1669E663BE86711A5 +892684DFCAF70C11E803164994BDAD89128AAD6461D4558AC2ECA3E05EB56D32 +0290AB16A6DF7133DDCBDEAE89C6CD83552792E23CBF567D57E46548EEB0A140 +437492B53C14419B6FE7E64AC23923A9E85F56A9DF209DC4E6BCAF1E045F9CA3 +BB904BFA150F4083C18B0CB5580450CDB657EA768E71222C71DA911A722AB9D9 +E18B6847F417125C40EA8A0CA1F551A4548712D098209C78DF9C3F78605E5402 +DA2DBE2218E49B819296D5AC88D17DDBA982E171733D1E9E295B3157C9B90BF1 +CE68CB185947D1E3D7544155B741296D14B064BEFD3E6AF25C74006CF6800551 +80FCAAEE6FC9105E1674EDFE68C45617D8D3E2264CD395EE94EDD017EB85884F +FDF530EDF4F3F14750CA066F149E688FAF8EF4B5FE6AB515CD298E8D170346CA +9B32BAD1D86DC147BD12EBEDF6CE1E749C5B48314F512470A568C172C35CFA41 +031E34586A89404CB5372D7B2C7A6D96F420D4D7C2D4C08184F4AF86B4536A90 +9367598424112A7B05D7107B23695CBCD569002290599E0FF4EC5C852C31F5F3 +9BD56BB840DC17DEEA579E7A7A9F764788D4E3774BD523D21267869224D68891 +4523070E80A123B58F7B579866332FC38A41A5915EC06F2D14FBE4A6CAF59AEB +57E98D661637EBB885AA5D74AD429CCFF64E5149815E7350118E6385F4C74E0B +2EB474A6DED021D429F01C9B0634A09250C40E22B3BFE1B7246D18116D585F39 +0E06E9B5F27A6CB77C8E9462189CB900CFEF08F798CAE15FBD94587F33816EE9 +03FB2DA6826EB69D8C284AB9F7B00630D0420EB6E35E0E288BA25F5C2345C067 +22412633898AF99C2FB232D1469025BF262B567F29A05F4816FE8EEF5F02BD79 +06202F6A1E3E5D4B3C91BA8D5FF53D5136BF70E5FAEF441A7310CA83721711FC +39EE48BFB2FF287234B1A6102AF146B10A632A53AF97E11FFAC3A2A86BBAE3BD +E0459ECF0305366078066F2CC628A3918E775E4236651B3D817AF1684B07A163 +A0142D16F55D2FB5F2255A8813B8E54EF3E801E95A4A226AB8C0476AC5EDCAD6 +9258ACB6F7C0CBDD298A0B816560622A1871FBE2FAEBFE697A8216A0D8FE30C6 +B1BA6C3E975F78182743842E7F851064037394142AC91B2530FB1D511EB20F3F +79EDD8B7E1579D35F6E7B2883C47A46B6C1A458BECD6BE58AAFD834A7D82A553 +2FE4E66878E4699856DEDE964F454638F768AEDB595A883E380408F558015FB5 +8720954ECE2704AFAD4D62E8BB2657C4FA920D72248B3F762B2F12D125B796AA +1C4BD6B42D766EC1C9B2C7AA4B6A3474BF753742DE8AB76D0AB0DD9A20EE2DCA +0F34CB25995ED3183759CA83ABC32B8BDF0B06EF169252587971F7D37463BFA2 +BE36B2E45559DD73DE7CBE29DE92B9BE6B9F8093F934BA311D81E18A8DA92FC3 +312E3FAB43C53E803975981F0076EBB8F257C123908450661B6FA79E7ECE98F3 +B0A94E0DE3A4DCC8E0FEC106CDEDAA297A75BF1E40F3C2419BF72A644F452E2F +9A8793810319885EB3AB23B1E80E8B62A889311355C73722C18E62711A7E6A16 +A5B923408444B13F6522FECA9A60B067EE332B83E1A69CD835C9D69B5D8859D6 +91F9276863D2E2E8193641E4239F4ED15E2C482C735BF5434BAA454EC2830C1F +7CF766DAC9E924F17F03093132627673BA3D99DC2DBFC89E5BA032C16D3C1C8D +78B3C464081044DB53C7A29E925F4157EEEE928C8E28EDA5F0A4BB6E0042D8AC +7595C350645118172D04FBF06B2C9A9F3603A54B57999E2960C993724CCD6A09 +766BDF73F66E07FCA9BD09079CE8010E6CFECBE2E5DE1EA4E280AB78D5184C11 +016385007CB5AC0BC95955A1E88EA1A1D8EFEA886007708BA063F556D9284D4D +C764E75CECA51BEE3D35DFCEBF6175953D30FDAC00F23B1721A1DD577945B5E3 +8176A21A649D907B5F63C71718ECF32ECCF1B26BF15AF694F1045CF98FC75278 +E9782ACD3D83CBDBEE690D29B3176E745AAE436382D258CB22F3DEDD02E441FC +6A9931AC2F61156DE258DAAD5EDAD41E6C0DFC902173168BB4F51DFA7EA615C8 +B0F92FDB118378CBAC3D56B6B9BB0883C0C14EAA67396AAA7987222A132B7959 +44FC1E9D6DB6D549DFBEF8D2DD8C53DD3B66935FC239E74E2C440CCA13C068EB +C4A3B69F499F573D076E2C92E24F2C69B806591B0807CD903E078683854963EE +5125C3640860CEF37BE186DB781475554BFE6C528A9633AD5772BD53244E24AB +42CA2D1123AF45FA257940CE611D83014DF04E60220E9AF27CB2A2247BBB004A +F5722A5EF058FDC7DC2B6ED1406649DBAA58DF2ED3A91483D60F11C4A39BAF57 +CB1E320A987B790672CDD3E3BEF4A67032244DED2FF4588B2072CDABFEB36009 +9F4BCBEE16F811A44CEC77F8AE873C90C0F4C975E51014ECBD45A56A63F034C2 +82212977023A132E5C88AAA826D841FDE9CBCE7A01E4B6F0EBDDB9A69EFEBD72 +0B41EDA807CEDB791084047624BC11CE10B7A0A311272EFC9E013FA374D97EA5 +F7998FD908748CA72D8CABFD0F01220C2114D3B462B22FB71A23B284B1CBC7D9 +EA20BE71F8ACCED21F096009A14A7C7B51450BA51514707EB46B9FAAB31CFBEA +E1DDA6F5D9AF0B6E7D05A1EEEEECD606427B0F2363D1B882B50140466B9D3CBD +D00DB06DDD1BD4681E367DAA4B7C405C6281B67FFF794041738FC6A01D261CDD +F6E0A330985F2CA782CBCC02B6F4EE5993434F656B91A51CC03B1D73FFA6629F +14F6075EBFD83B702D8844A96CFB5C14051595BC7DB2218156A6DEDA5C98CAD8 +BEB5284D9D9F86406A8C1AE85857185991C360E5F44DEF352A1F301207BE94C2 +9A3A11BA468FACB3FA2D683419C44EFDD7C8F1079659F3ABD89D7F168B1591E5 +6105F9B3FA481BA953CD34CCFE73E427D3AFC46E5C58C2981198BA284DB8B37A +6647BEAA561799877DD6858FCA71CA6003F2961FAA529906673EA94D82D78116 +4DAC81011FD175DA707C1E15D4B6FF19F8720A4E05E6E103E2DE880FA9C192BE +C5ABE7C311C2ECCBCE8F9713DBA74AEC37A61C8F21F271B35F0F7C88B182525B +A4183377597ACDA9A6E2F181725D427795B975BC4168A408D292CAA484BD1B8C +9DC62E737ABC805C8FCB7E96454DA032B601345570EAE0379BDA84BB6D15D780 +42FA1E068A7D62F152B43B788513E13724666FAB4E2B4F04B0448194E46582CE +7389BAF0D1DD4435BAA6B82AC305C04686B89FD51197C721D941BD2893596024 +1598E6C2BD84527EDA6FAB782033E4BB4F964FBACD96CAEC3F3CF89CBABF6B4D +4D3AD14A03D4BE931632BB03BC2B92842FAD51A19A756892D5B978DB695D0540 +CC9D030C612E2B201D60D09F56332DD0BA1351EE62816C21A35C33DC11B37BE4 +D2F164ACD836A5CA1553CBC733E3B159860454B17064B4E22D3764FF6293BC81 +CFA3B2325C8E072857F6FF4ADAA8818247D431A28D3C5FDFBFB24A6CAA327AC1 +0B3630C84ED9F0D33B8255A3CAA9C5A0C79F7BF6BA3B9801C3BD0B30AEF7CCA9 +92F25E332EA97A7CC653C93D1497992D6B76363885B92ADE34C2A33E30A3B1A0 +57E9C16D8CEC189565808D3FAC92973C71CDE74DE9D8781CCAF88747758014C4 +5B62667D4D2CC5EBEBE77C5AD00C6A69D1819F5A786964501E077EB3BBEA52A4 +57729AEDF35253F7E1D31F2DD1587BC15CCFC1B0CA930DA83E2031B099A38158 +8D1849E7145AC74777A3C7136DEABB0C787E5A218309A65EC7D128147EDE3AE0 +C0AC039B56F767A22555CFCC12DCBC7F5A5A3B4E86EF5A69EEA93DF0BAF2A3F3 +7504F5C6A7A67388D2F9045BD755BEB7DFBC2EED679497EBEC808BE20FDCB5C7 +B586463BBB898DECCCF7249E9047DA943FAF0718A2050FCFDF8A4C2029FBA674 +EA64003AC03A847185936FC375CC67B3006EA681F61F640C3640A78D0C7FF521 +D477981E23E5956BAF42252463FDBEC49BB560A9428D248B0C5250CFA2A49CD9 +DBCEF73123C13BA382D3CF6A7B8A8CA3191D379A659F0E2C6E9CAFE9DA2AC074 +F622E397A2F7C73347364AE249B11AE2C34AA7F0D27B5F35D548D5AD1228597D +D16A478C901D3A34D870BA39F770885B7DE62298F50E61F93CAF0D7545BB7EBD +09108386B1C00698760DAAFC48C3BD1142A8282CB16C25820B538AF606A1E5B4 +F1998A4D4D40C21D76436C4D515C85B28BD56725C28744061815182C7E3FE4F4 +251B986069EA94FE262D75AA093A73EB508502215C8BA4DFA1E72BBFFA5E1F3A +A78084E517EFA309EBF60E7BCFDC5B180497282008F2F7D11B61DEAD80B3E65F +64A3281BF61C46FF25270AA6CE3BD1F4C5348EFB09382FD79729C24A70D52CD5 +0B8D87A62D5B64C557FE91108FD95B83052A3947A20E022728605E972B912CB9 +A8BE14A4F6D361469F207F540A44ED6C8A2E97F509CD3381942CA2EA9567E62A +92A067A760B44B28E99EABA1B9B9A58AFFACCF9767D04DC6FACF090D37AAE7DD +57B2E2FF7B7C99FAF127E3AE31281CFD9843390C916F2CFC957E85BDF2A2AF2A +87AC977228174603669CFC14BF64A093635CC13AC11D53FD312BCEC8B01D9AB4 +16CFE17DC23417D083871E1BCC9400ECDFB5ABC0D39BFAFE5460D3CC5B4B4E1A +1C32E4067CD47EDB8A5EE9B3886A8FA564F286F5B1149497260C8B1878518BBC +C095CF37D1FBA0D727789A877AACA3CCBA168289A7D76EA207D8761AE17F8CF9 +5BBA7DD8D3FA215C24D4874B93D802B373C4DB21CEF62DACB1815AD2EAD72D24 +172A27DA07A7B183B5F43B69EEAE06A50090EBBD94DE0F1FDDC3238C4D5EE4CB +F020B209D9C4516603C6D6F2D9CBE5448C1EBD6A597350DC37994E +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSS8 +%!PS-AdobeFont-1.0: CMSS8 003.002 +%%Title: CMSS8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSS8 known{/CMSS8 findfont dup/UniqueID known{dup +/UniqueID get 5000801 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSS8 def +/FontBBox {-65 -250 1062 761 }readonly def +/UniqueID 5000801 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS8.) readonly def +/FullName (CMSS8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 100 /d put +dup 101 /e put +dup 103 /g put +dup 105 /i put +dup 112 /p put +dup 114 /r put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C6258F0D99DCD775 +734480114DD0CD2931DC18782C4CCB90B6906CE08BF4CAEC2D4283CD44730A2C +28919598227F98FC5524B0CC92540E349C5B190DF5F2317AE46FFB97221BDFA5 +114C21D5E8FB0D1C298EDFF8836AD72A9B2AA132F52DD5D3F30427563C97CC46 +D241B7024B4CD9F1E0037FFABCC88D8CCFDF3BC6EED778074F9590733CD147B2 +5B68387E0F19E6A81961077BB7640A3C0E27ADD72556CF84ECD981ECCB64184C +EAB8BD9B96A873D80E3E0D5B4F5925983C80EBC3A8A12FBC452582A0B37D3C42 +4DFD22E9BADDCD2E69644AA271EECF366D63FCC29522FD72D6C1EFDB3597E866 +61443179872395E99024F152F6D6A4FD71BF1C7383BC1CC27AFD2DE3DAEFC06B +6BA837BBEBD0BE09F6AEA31A83B1B45255DFD6FF33362AF8BCABEBB0D944B3FA +B85FFBA0B370B9035460905432EE87395E518B4B670246FAFD535774467C059F +DC30EA01C95EFBA4ABB41711818E23D7E69D32BD63243A6D98666BD46E234155 +BD6ABC76F551C31B6CE2E52323A9DAD5C003FB116AC8A82B46ACFC45EECCCAA9 +E12C2C8E3CEEFD98D49ECFB824E8677BC9CE9B682BB5A7117174E4B2A0B925EE +553713780CDF3A3A4AF1560343A8A448C0B5DCC4E11EDF5ACBBA0BA8E5B899A3 +7321AA7D4B283AC9234978C2DD81813653A96F2BD129FA5F355D56C4E50310D2 +0FAA8F304D8BF333F97A6CD20CA4BA7BE6DC1446759683933BB1F1617AEAD131 +1C9EF2212EE7EA9B64E5ABFF45E1727EE82C00FD371BE1387987236F9BDBA4ED +A966658ADF028B5DAD1F0878064221D0469BF17CB4E738258FB5D92E9D380C64 +16E95BBA6A2BD9EEB1A187A7231C53BD8ABC9BAC46CA4AFA94A4920FA805F67A +A0C61940F6826CC4539A6CD1F9900EDC3F720AE4FA097F1D7510746BCE2E67B6 +EA2F2046613785AAB89915655408AC9D03201838BBA44F421D5F25CFD88E56E8 +1CA23CBEE9C2E323DF1866D31F309C92281E514A87A9631F33B238AC6520A20A +346DD6A206C3CAF2830FE244F2AC5D894686CAD5F4BD1CC51EC0B547603BFFC4 +F008FDAEBC93542A43B7C907CC85046313348CC8A017C585CC370604E40AC820 +8B9D8F57A01868FDC93551DE10FA83DDA3E49E44C32118ED90FA67AB1C66B3F9 +F80CF71131977ACCF4DB44CF1EC26AB363C5F95FC2523B5DFBF4D60647EB23AC +89CB971DCDAB3BA26846BA9317C051011C37468B21B159412E69DCB84A9F5876 +F418908678F38880B95A4BFD3566A6EDE93AE05BBDCB3C4E240A5C0A06301896 +69FCCC0B65BB269F2E10609B6446A68E2DECA905FC26D4F502CAF0EE9AB15E60 +CF42CEB376D92D80A6AEE55BCAB006999BF4415815D0F5BA3B1FF9D2E60201B5 +833FABE8B883847ADACF9B032721DEEE7FEBB583B89066ED9608F1EFBCDD09D4 +3F3C2B7B03154676151753DFF53815F2EC1517C094B0D2CC5EC483AA93772D24 +AD3B0084537B91BE1913A31C70750C6DD707761DD733F9ECA552D3F26825B2B8 +3EA263488892C929DEC07E2F988B7F7657D53CFA5542CE336D35B462E5E8649E +05973AA54C0A4E63552004E3C77E5FA77F821D820B1620CC8CB3EC5B1D7BA751 +16CC155DEDD4DB0FFD3009729F365670DF9472435557201D8E82341B4056D2FC +5D2F7C57599249DA2A99A522868716B076320350FA7415C3B10D77A6E1DC77EE +2D929A038DE3EB4735A4D4F5C8C340D6D293D57E83C2F379ED0EEB16AA3A2A2C +ECD664E526D918A3D0A934170B6E1493843E6AAE87E850D70DE65D34AA2A36DE +8687D57A6B6B1447F9A4380CC3D4D11D54CBE762258426C46B8DE6059E6A2F31 +E748549310FF4362129080CD98E70817A06422743780B86E11101BED14BB6569 +D36903BA8BEBC24A478CD430801082CCF49382D6F04DE270D51CA5BAFEBD0F8D +901CDBCF10DB97E2B059C8CF7CDB45BF931203D5F8CA4622DF19682DE2BA7924 +47F78908BDA23C4E21C0ACD2DA259B23648B6F233EEE830E7B82DF4371F55C30 +71993EC2BCC7BD6411690B9B1621903F358450976D6B6EC6B505A593A9FB7D92 +7223E2424DD5AABEFF254FBCEF934A4D51949BA0E8CD614AAA3AE6C3ED7B37BF +5324BD4998D8D5DA95E4741B753AEE580FB3913770C00277C9F609B4DF3D618F +148E0EC7A75218AD788F98D35989F3DB94413E70955EF586C0995A450BC75820 +F5490EB55E5D0D21343565E1FA94FA64A74377F87E55EE0EDDC8F4286951A4EC +ED6FB3B444206D89BA71A9723E41E93A9F6C80240437019F3C23DFC2491A19D5 +29762876AC60A14404493D04B5537C1E6FCA67B69DC1CD859F9C956FECF4461E +EC8B6CD5B5A89A8A838660A6C3F47B79ACE3B05C0AA2F17CF2DA947B893B42FF +749E2CD5E7B56823A119629931B1ECF65C51000A10412668877178F589B4DBCD +24D39F9219C46BDDD6F101C6AECFD3876056CBB858FE0C4BA2BD0B5FC26AD5BC +7FA9E295E72BEEEC721300567B6894FC48FFE5E3067C538CBB3B77E386F50D22 +F8DCFDD0E335060CDFA49231D157981925F1CB36110809C12BA28D2D116116DE +01898E311FAACEE0E5402CA30B64D3D5A0CA33E417FC322F2F0BB7AD3FEE2039 +56A15DD6D1E86971AD3A5A9A27F33AB62A5A3BF5660B59235398926D6BDA33BA +BC43B062EEF199E4ED991518A62AC374EE21E8F1E1C954BA6D1493388F708D0C +961612444BAE019E1DC18BDE900BD7A781835580A74DC696BC512F7BBDBA2D0C +ECE5D83A049F7A3286B94FC446DB5C3F33CA2CD3DDE2D0E774A579831CFDAC37 +9612858EA613AE6939CED001EE662DB17642D0357B80BA0F82ED306218DA8505 +A613CD622FA998EBCDFB7BC70F4E4C8F1F43241FC22FC5BB208F4B20311A98B2 +73F30E4DFCEC93875CBD1ABD29ACF80585F59947F23A96D218C0CB8BDC1C49F5 +70DF3D49704CBA9A23294A88A2AD61811450921B1E5C3C86435C55AF87AAF6A3 +A13709082DA9C47D372A4226116342DECB14E4A4ADB7598321516DD637B64148 +12AB17AC5B2EB25718856D50BFC8D64C78DA6E5C145187DB0325C30A42013A81 +590E58E74094610207FC70BBF1A497395939B42A6EFCFABFD9D43221DE484753 +DFE5311F1845592B4484B1CDFCC32B4E068B11A82BA189D2268D88FE63B9C6E9 +20C9E40B543B5C401265D92A932476DAEADD4D3E2BD6E4DBEC0B30FA90A1924B +41D2EE9D8AF2D8CA79D15518141665B542C696C2507DD2F4D987EE5E22397FA8 +FD80743186872DD67BE58103321467CF3F4B8898E66584DBB9688B9C78873CA2 +9B72AD7406CDFE8B58FACA2904869FB0EF126DE299CAC08CB89F60561939D75C +2722CA57853372C14F5BCCA5C4FEBCEB0728BF9E30140E6B0D6C034195FCCC89 +291CD818CF66757EAEB0AB5A9D5710988EBB052850DDE97BA0DC0B054BDF5172 +2002AD6FFA44AA5D9D4EBDB6B2C04E8EF38660D9BC4C995BF37DE078C279328F +4C360B8EB337D798962CACBBDEA517A5EDFAADF0D445FBD1099837F9D689CD2C +E330CF587246387EDDED64A2F4C397C1B2BFC325B39114609EF57DDCD7B93C53 +811ADEFA323C59441ABC447F683B5EC43870C057463DD502E9B9DA7084C3BBFB +2FB864D26DF1BA41ACC815F2A71E96D2C6F572E1F7E4A224FE57CD605682F98B +AC7BDE4B85A4C11D58981E981E9FC43B87A368BAEF78AD87B7DA0FE403AABFD1 +CF414CBE75C0E9E257DADCBA035E1BF05C4E17FE92309F18633D93DF885956A9 +6C27E77540F888B8336B61598CAB04F3B5A1767C1ACFE15D32A25E5B1BF51FFB +CF3CFB25CEE7DC95203CC44805A935D5A9154A89FBD4E465F0E599EED4033365 +0A31612F37BDAE8CC85BBC67F7E375EA68C2982FFD89284B027501184C4D2232 +CE0FE4E905C4B504EAD009F047FE627C79AF9EEDD65D00A3858F88E699E5EB45 +4957086CB22776AD06C317DEA41880D88F0EDCF71B4ED76BEE665B7937D5D0F0 +E568C7615025172086BDBD69670EA154CC52C85CBFFE88C1A4D1AFB6624EE667 +1B5BE2A31FCE8B2A4B03BC5DC57280199CC0970EBB636DDF8DF54C4A8CC8805C +AD63CE866FB20C64725AE4BC9F0EB275BD83EC89F2F9CE23A084B45694D8C3E9 +3F3D3C1A678690877E8B1B77ED85D4F6E03DBF1F3B1D177E330475F172E0E729 +63EAD8034E6100B2A5773E2605180629972DE6BAC0A8C2F9580E9F1D2E77791F +E1D33C2DBED3FAC47DDF1B74FD02583C3CFDBB2D1CC2B735C02B14B7AD3733CA +1682944ECFAD673A9AD5E80B6248FBB6E5036EA7FE5CA8C34FBCA6DBD0E76EB6 +C2CB89D9815DB3C45742170DA926E03493AD86BB19A1D3FC623BDF1C920684FB +7414EF69CF39713A9495D8CB678BD4592B53C36BC6CF93505B8E32311D42532B +5661051B855F01A9B3D77AE38879853AF0FFE2448368DDFA3EF1DEB88AA055B7 +91459586DD2DFEDA192306DF7143F998CC5D67C1CED313430E5CC3F9CE265747 +8582102111E7AF9FB94D95B82D8E1DF01F04F2A2C22A20207B59C8976D56833F +E3B79DCB727EE7537476A052E92F7C3D6A625AAED8F026F22AB59EC0F86E541F +BC082D8E35234A18192862EFD232C9950B1FE0BCB91209FB540DC5729B9E36B9 +94D0913A8F01FB6CB16DE85E6B89F144111B1D911DC527C24917D909F1CF501C +1AF2923EF71530F21F9BF049A56C7AB3249A420C28954E981EC464F61FA167A5 +C6084661808089EE7DBD80A2D92FF4040B37B2D81A2F5A568D461BE1C62B0FD1 +BF6D1063D2B5DB9CD48BB2B2AC9CEFA543E0AC5C86C462399C1E82F25A157282 +D32D538029ED22CC5935E63FA076BE22D3F53B7D7CCDD344D68B4E73F87A5F2C +691FE68C981FF7CCFB124506FEF93F36F7181075D7BC6FEEC0E35AF57855BAB2 +44AF021C7AD8912D884424E8BAEC68A5562B881793A1B47FD338B1EE4C0B8583 +2867C78DBC2EFC8BA1431DB1C8622C99BB2C2D4D5475BFCE87B11762427867B5 +7253463C6F2E1CF5F1DC1F7851F2EF6A957CAB0C0A55076C59A6FF9237917C08 +5F97C2CB4B5CC903B76BE8C057018CD962EF90E1C0CCEECD52F2AE35A94C6EF2 +D99DF4DA88247C920623978A1DBB81D8F171B588D617AFA8285F6147E889523F +CF11EF4BE498842D3BF8E811B4B33131416658E03293AD911516D8AED556F7E8 +0181391AF36D862F5F8B4588BC99585BFF0F1ADE4BF73320158DBACB2784768D +D9794E2B0F2C0696E5ECE5C7A7DE78EB5CAE85EEA244D43D0280D4C87B6B93F4 +803718596FBCDB61A0BFC2DC666128E56F3133B9D4F16305940B50ECF66D80BA +06C0A73C02F689314F1B4FAC22D16BB1E414C6F0A1A548AAB1364D2CD9DDFE5E +C8887964D26BE84986A6B1246BC306E6343CA376F990B77BE8D68A4E54304C3F +250B2311586A1D1EAD2C0221FE1828CE8396DEDEF13E70E0AA75FFB6089DBA9E +9FC3FAB43B3633C8EE7598619A0C6FAE2F25274787348E3660D0EB7212F5CB38 +032A41A54FDF14B32E721819AEEC54E8FDE3AB8F0ACEA267B01081F284B008C0 +5861CEB5C236729AA17DC78E92FE1EF9F047B53A59F2D1D6A6734D0413D1A51F +75B03234F4775523A55978C73D5BF9031EE8BC6BF9E2637DAC07F5AAF2A6C41F +77620B272300A78E86F71F16EBCE2DBFEF4920BD3F16C282E0BA4C872E5F7E52 +7ED2B663FE45D4A36A588D228D32E2861F26AA6FA8DDBC8110F4417D0DF29285 +F06B57B1720D0D13828A4DD68D57BD530FEB9C3CF305594B70E4394BD60C82DE +A64EC17661977B18199BA661C48860919CBEB56AB6C32848D51733F1E959EA35 +DFFD823D92F11065C643AA69776F71163A60D4941B753BBB4A4C0C47BB1D965D +06C9BA1FDAE47926F37C0C5B591058F68FC1DF3933B2BE014F99A53A617A19CD +8BE011234D48CB7E14D31B02B1FC47C8BFBF04C4409D32CB454E8FA0EF9AF16B +8AFE9FDDC41F6A23D700D4AA922A0316A895D240C5595F21FEBA98FE0E74B762 +77FCC80F4950A8C55B4A008FD381E9C0EDF4427CB324BE4ABFC790CEB53E8BBE +AA90163A7BB19E2840FDA404E830F5478DD69B85C5E69573D8CDBBDFF41A8126 +24A6AB66333C749C35BE314777CC222D54FF2C4C75717FB938724EEDDFC2EC1A +8DA77B5482E760B68F0A2D240332BD48803004BC157C6E8E192D512CE83D5572 +D388BAE80AAF5E7240A73CDA7CFF7F8CDAA4ABE1D3BF6ECC3641B6BD1C2CC703 +275D48D62A15E5A85F003E76D1EA7DB65E3476CCCF6B504514AEB1FF1263FDB9 +81FBF1A1873FC287FC6B6DB11F0FB463637D4F3280EBD19976588F900B956FB4 +36AAA8C1F040300CAB9C4F624B22C1D3D6414B7CAD36B5AEEC90105B5A5C2129 +4CD540B9D0129813BE7E20870365F8C46FEC92DDB64D0A6C7C5B9867A4592B7C +124B1B47899CE2D1C03811AD1B8BA253B0D29DAF2B53E312827478DBA274010F +C919D122DF24C1E372F7F3CA77A2C0EDCDB2635F4136EA0C202D4011346902E5 +1524609DC031656660302CA36D376245A64135890C13A11C0085861792384787 +D0831FA01C11F1E7B4429DDAA0B3A7EC1DC3CFEA24C34DA4BC993300F12A953E +80C8BDA360789FCB0F1AEEA7AAC310D0C3C56F43F7914C3B037DA02C31EB740F +2B1A696E0E5553656942BA567DC9C4D3CA06E45EA615B7B5674016DCFA07C0B4 +285BFD9D551117A357F4BEFD58BCE60661187A5FF20D27D685B24BEEF563F0C2 +B2CFA2565112F7F49023CDD405AF3E54FF994630BE678B0D6E1CED514FC93F7F +63710D289026CEE4B074253E7E0AB1DCCAB57DA7A1E2050D2B8D3D75F2AD7423 +0B0A7081DB1FA44055620B0A2CAA54666C5EEE3C01540D96ACAAE98644E1D210 +E0E020214550D723431813C031DC7DF0D177E82AE49798F8E0E5AE0BB8FF664E +4793F857BA380297AFB977065B7500E4C0AA1735AF4E15703C860A016F19E593 +319D14C497F24ED8E42F3FFEBE976DF33D697656DC11A8A7C6A60219BF63F186 +E0FFE55594B31E5C312DBCCA08E84E94E8BF57CD5F5B70EBE59F0D41DD3F6B05 +F7635EA92FA9E082C80075A5A5F684160AADAD501BBFA7746327E3E606D1FAC8 +EF7AE7C612371BB52FFF41A97A349D111E861A83C9C48B0145ABC3582FCE43C5 +D121F0EB6F5D219E52E2BB660AA1DA5551D6B66A732628D640BF9D8BDE2BB3BA +046FBFE2E28DB31AEA2ED8F9405A39C16C3800E9B5611B460BE0F6716F2BF79C +902AD4FA3B6656E13E9DD7A785C17F28BD4D646D66058721610CD756E0D18D32 +F09C740B6023DFAD45A718BBFB2E65544D4754A5DB23CC7988A3EF45CD3786F9 +E100D9684549A16BC2DB736D43C293097E082A968C27F0C120C41A53E3464381 +F7DCFA8B36344EDA85F53FF65BCDACCDE7EAA41A6D38C1F420F8F2E287AB0F98 +A0DF7D8A6CF2E4C78D606569BFB7C51495493FACED57CF2D507DDD366247D807 +28D73CBBDE2F4F666099411B1FD2CF7B93D0E9AA161024C58892285BCAA65E55 +9FB37468777706D2C57A0DF6D520844B56D62CD10F2D7B02D17F97E4F87C16F3 +9BA09013FBD7ED8C2DBBB432288E598241369B9DA6E3EE324290D73BDBFB5448 +E9D7142036C0FE538F18E866A50DD23152E2C096E1045E7777888AF5CEFB83B1 +C6FCA18A26E83D75AB66291A5A5A285DBB1B9525919564600D71A767BB03A8BC +7BF24CC3B318BBC0F40C79835DE62366A937B938AD46D69C26DD0B38A2B21A60 +104698E9BC23BDC80D270FAF3C4DFF677E60CFD7F9AFB62B4BC36E171C079402 +E2BD9735E69C47AB8322FB722E8DBA6CDEA87DF40A827AB2618F74F1C441DFC5 +171FA17A96860BDD648B85699CC06CC8F3C38638084F8F4F7DA8B4AEEED92199 +14290A07373ACE6F9ED34CF5FD1C81292D7ECE91DB3F7B7E87BD9D405F2E29BF +660674457A70FD024FB9194EB0FD85A1955EF983606F5D58FB6BFB03A0FD7DCC +0F4E58304AAC2D9AD27F8A67E78A4A413A276F5D3160BB73DB27646EA4213C00 +A70E288F036EA3BD1FB35B49B9AA26C0FA6F8742178B15884E33D4CE17497C21 +3ADF16D6CA98017C7C118D8C67F71A4BC3C8794BDB049DD5A6892643F78B7CD6 +D91DE5FD6796E198D7C6AFC58D3403A416F243F1B58CF54E94F3DBC93516338F +CCFE3E5EBA9218379428AAAE8017F3F246E5094B6F93A337BD182780389CA09F +38B773F2A3EC4464CBC4C2E8772A73892309E2F12284A4CAC143C758C697B723 +0F54DCD8AA3CCE6DC74199B5AC793F7177BD0C29C80062C6EFADB667852739CD +23068352E3437128DACB7A9C1D2890EA23B029909722C465EE332C62F779FC6D +59D29B1E3C2319B57042C306ABE1171AD84F093F5664EEF387BFDF093DF2A295 +910569FE6DD519F7E7258236ECD89FA8C8DD43BFC4C135EEE52000479AA0AC52 +2A7777B9DE9EF13472F24B9410617088E264AB294BAD93820364B32BDB1B1627 +E7A086E354A118D9912324A8CBDA7F65AD20C836FCB3799CA31128C125601282 +80421422F0542D3AD57E3D1C70D93B159578BCE7D8DADA6395C634B6ED993FDC +F1EE90835DABD16A1F78C77D6FE4AF0D3BA0F9D0306FF7DC0132894BD4D1396B +1086FBB683925846AFAC5AD11C78A13CD9516826C19838B484C9E1DE1C793104 +4A3F6EC93C85AC329F1B59CA370EB0681089D4F3AE0A093011ACC94EC85807E2 +E2DA16DD14531CAA23573ADB8768BDA2313C2F6A4E53BF077361DE9B5051A00C +D4D7A1CA6443D300761CB8440B6A25DA6A2FE422FEF37C0EBC8773088E8441A2 +E5B28AC4777E2523E108942B0A76A49F673B0EEFDDD37E9A339EC21B37B7CE59 +B56B57CFA4FC20B24DD06941DC5B82642FAFBC699A41F624FECE54780B6D892B +CD80777ED127D7D9E7BA4758361288AA7DD59EA03F4EA29C6A70B82E1768AA34 +5ED9374131C8B17F1148D14D1B06E5B5384E2A4B132BBC49BEAB37F17A955D65 +777C90E18AA96BB5B34F38EEE2CCC5F1829B4140177CE1F01FF376F316E8842D +24F809A54F6259792190778C2199904F693E8FD2A3E670A4249E88B67A1903B2 +92BFD626072910FD793A97DB2CBAC5A8228FAC4299810E04B46A3C414C61B8CC +A6C009249E82856ED045E949E25F10F21F31FB630AC45D0DB3E81E337E0F7B77 +A23112F4F74F19A47831D05AC6A1E326B94D8BE832CEA49100E3BA8168AF92BD +C50314402AC261E30ADDC7D87D9476278D3DA524CC03D2AAA14A906F762EEAC4 +5CE83F1B97500428171417C5338A0BF1A200713CE6328DC449AAC552BFC0B40F +BFCA7694DFC4B4854F1D30C54D32DA1D4F0F1778FA5A98C9ACCF847122E2698B +93F934E1D5416B340F186B36DA515B92B100C95F5C448491BC70945D55F763DB +2E0EE939654A57C456249109D71348D48E475B6F14EAD34B961EDFC6C567EEE6 +4D1FB17DD8587BD01A95EA1AB2C506906E4DA2D3552DFE4518829FFEF2DDC513 +82077503D150DF80EBBD2354FD10 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMITT10 +%!PS-AdobeFont-1.0: CMITT10 003.002 +%%Title: CMITT10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMITT10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMITT10 known{/CMITT10 findfont dup/UniqueID known{dup +/UniqueID get 5000779 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMITT10 def +/FontBBox {11 -233 669 696 }readonly def +/UniqueID 5000779 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMITT10.) readonly def +/FullName (CMITT10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 34 /quotedbl put +dup 35 /numbersign put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 48 /zero put +dup 56 /eight put +dup 59 /semicolon put +dup 61 /equal put +dup 63 /question put +dup 65 /A put +dup 68 /D put +dup 70 /F put +dup 73 /I put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 83 /S put +dup 84 /T put +dup 87 /W put +dup 88 /X put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE33C33655F6FF751F340A8D6C01E3 +2E02C24E186BA91B34A1F538959D4450CB683EAE5B034D030186901B458D3777 +6B3942BD2E07121385120248891AEC2EB33C4E3A0CF00828D0F130C31A918C18 +979FE94379C648EF21ABF659253E43CD1253866F157F1DF85AE7E8714F061B1E +ABA3AD094FE8D6293916FA82EE4F486C7E513A06D4C9BE44306A8287970B4ABF +B6D1F9274A5A0BB6ECF713ADBD1260D5D6C4420D357FD486470A74B2F0621B59 +A9373ABECDBF32FA68AABB66FAB0C970A3354A335FEDD513EB6237AC8EFFB213 +218B5D59505B920425C46EA55A185ED268DBAE2AD127742473FD1018459B7E12 +C21514D99DABAD554C53B868D24B881AE68B52684362D1AC0E86836194E335DF +BB6D37A7215F8F4F5C816783BCBD4DB6838DB92C13E514A1CC344B43D8B8121F +7C69BF2259D61B264AB5259DF53B7CADF565BABC47F75C56305448CDFF06E869 +91043B33C8FF9455A99BF35290E48EA7FEE38D35BC1A968A6B9489068F78E17D +B4634A84F0ED0F884BA33B46FCE57168E787167E0A1E8EF21F7698BBBE25E23E +F3D6F8957E9C3E858BA10AB9CCC45271F2B23D423AC0AF934ACE0FF6FDC79523 +20408F919B960A276FA88933B9920825E602C570CCE4C18BC4035BC59BF4F87E +6D05BE7CB7D0A77A6C8E666D73D216F04AB820F477809B8410941E00F743FB6A +55F98519E4B6DB552CCC264132BA31893928998BD1B95EA83246E90359D02566 +715AC489733A797E2532AEEA34F3702B8FD10B35803063296A3FAD8DC11C0D62 +13B2882C4C9B090AEA4097302239EC457537EE7B3BE94AFD5A8672E6069433AD +EA5F9A60B8DF0DE474067A65F1A845949CD12CC4E0919CB7C50C0C23AF8D6365 +083C3D64103949AAD9A71FEA2C70100FCEE6E7DCF19A7AEF7584F329DD12DCF2 +E02635F8710D976F815E76D3F3CF476655494394B44FADD9A9524EF08FC31EFD +A32B97875B55234F019F32EE4AD722B6669E27C2A629C3F170012C9AC62F612F +2A54F7B1EAB87B8ECE7B64A3BDA7B6BFD5B6F3F964656AE949F91F216FB70770 +DB9F68C91878C624762DE0E5F88FDDEE03953A97BCF473464EE216293D360ED0 +33AD04799EB9F1BF212DA7B9CF1F5E648ECFC0AFB4D935B09F36A752451930A1 +D4B662BC214513D17885D824D250AC3F036BF6377691E603F12241E2EBD2713B +E665433EE1E6728C071FC10EF177EC0C2D3AAD49BD2A0BF511A722FDCCD196FD +BE73113298371228B82129BE4B0CA0D614270821AC770E51AE71C71E6B7796B6 +B54F27FEB1D9FF8F6C4F3FB28AF32DFCD79B8B834EF8E02A818F8917A3DEA452 +AD22FF83BD86F4D5D05CF44F93CC4055A7F3D323621F49470260A559E346CB46 +37E3ACF70887051D7B58356067AA200838AB1CE93B7CFAA89CE01362B0D57A16 +FCFB51D3FBC0B1E1925EE1764C0FDDB0439971FBE93C7C6381716EA9FD252391 +84BAF2C3F2C230523E09D068507E1808C86B789333535065B889436A12A7DA91 +EE838E04D98F00B23379C9535692FF3D4F8A2CBC448342B37D781CFF7771D83B +A1D1B19CBD3CD6EFF51B850E502194EC0E275B1AD49FB345F4F5103FC5FBC605 +1F5BCE0423D467836A3D70DCEAC117EA056D12D37D4009D7EE630434645AD290 +F47482AB1E4868B8F195B876A8847F88919FCAF40768F2D927A5D2971B0BD728 +68369BD17075201EBA992B0C155B0BAF00D0B109B4BA239646CC5716E1BDA9EE +EBB5A34B7FF0AEA47595024C13A8EF233C8CBEDC7EFABA8CF1D4B73E42E667B9 +D86D0D3B042A018B01203B3C7434F18AC4B93D02759E42B7691D56D778153D83 +BC3D10964C98F4371C933E0BD5E18C56DA806976AA4D80E4FB8CBD6858DB904D +E862E5951CCE95656600AE399C5BFE7FD3ED380701745BEDC642CC77539DB46C +17F1DB0C16ADFB6D50FFC3964B0FDF9D207C7377F69D7B741A15E04136BD7124 +1433FEA5650A3BE38EDAB4CADA541EA9D47C16D1EB3140FEE88AC4F896F98D9E +0F97731290739BA9D456D7792C5A6B15321A1CE74E8E170368C832649C98597D +DCDE2338D52D430C98369B134B12FD3F58EC66073444696753911B058178FD52 +698FD8C279E72DC10D3E619D64CA5A8B2A08519B37FB9DA7FAD1CDCD5298D261 +BB988DB9257C3EEFA39A52F70D5D33342E841BBF95A075284816114283199CDD +CD7C85CA388002E4267F22AFEC408D0DB62647CA3741741C12EB8DD8F1042988 +EEB4ED6B9E8C1CD526559EB4529872E9CE833E8E3949AE5CDECB34B15661C4F4 +6CB3912678D23E0BB8E9B5A6C4A479150433961C0871947AC4E7F8AB76C7C339 +670A8943754870BB59B5359D0982277C777C5470A18E9BB14E9740C3A92C6855 +B78FC3F38C258C810449A3F69251CDDE108067F925474B768FD781881DDE45C0 +A9D198362CA8A8046E9C8F8A6AC3E40301D7B54244076020C677035317AE1F88 +6F337E2DB69E60D5699A8B6E5EF7CCB2E504C66D3786A00E4F4EA4D46F3AA868 +F66FCEDF67B7FFA9EC39E8E12B867019CDA6605563B120689CCC71A787B93093 +639146C052D9A294D4A2F17C135C760937EA22BBDA1F900318DDB515B4B7AE2E +AD4BB9310DC5394B9EE5F40AA5E201CEF58FA477EECF0B90C2CFEFF17DB458A4 +0558525C20BBCC84647D7F4FD233F1CC8760AE8ECD99A60A0D3138C8AEBF18B5 +9B59D86468814143CADDD50EE8D03928D541F8BF6340B1C6214C18D1590D09B8 +51355A8BECC452CAD2A1D8712BC2B1CF0032853B240492E1D6C7B13C39106279 +61F948E5D69EB4350AF3901B264510F415048C3931465A26E998B1A498B8EDD2 +08200ACF62EF22F5CD31753E7D6478FE111E8FF405E11F9FB8484A7B52703F13 +E672BED8D131D79389F63F2A6FCA03FB36EF736114BF629074E722C91A3F3641 +98012261143E1CB15BD8DF3D67DDAA46C3C718169126667A219433163017D553 +63CBFC93F6D1F338A1D0439734ACB2EBADFC1F4D5C11D4AA5EA25E52F853E5FA +087DD7A45F307A399702949DBC2267409500EEF8AFA9354308DE44869CB51198 +CFD8AA07005125202E564E6F548E296E698D2CA5B8793D86E28166682ADCA61E +334D861042393BA0857D77C5BCCEB9A4A16D44C95801E4D2512D7ECAD02C4776 +5139247AF495DEABD00BD787B028AD7DE9FE827DFAF22763D59799FCFB003278 +6D512F913A924460D9FB6C2AC27062219817E3A79DD96841DED1FB4397D38A66 +56B7A083F5C4AC70ABABB3D98324381F6109BC553D29553B36827886D80013A5 +E0407423A6745D0760BEB65A5FCDD6C00D68268DEEC4882B2F6D0D52C0D2EDC3 +86DE1767436A743C1772B963F081BA723ECE4B5E740D473BDA10658E0E2CC014 +93D6F59E3695BA3F5F7AB913653E3CE63C5F1C172B6E1AD1EDD719F163F2F3EC +E73A5C91FF854A1A309C72BFD7F8E56BD46BE7943B06A5700A7FA1CB86D3B09F +98F29BB2585868D5C8F9247A610D75FB3BEBD6068A735DEEA92A2F8D46E5399A +4CCCC1F0270A34FF5C489DA83F90237211BB3A4840EFBB296911F2A373C220B4 +EA4B811F943D2DCD7C395A84619F10C2B622676033B6B743CEE9D147EC25F602 +D216DC6A00064D707727AC08B732A6E313F16F8ED7A76103822F8FE73F1A9804 +AE575AFFCCEC79CE105D7BC648495256A25D68F812C1E3AF93A50CF06CF669E4 +13C5104578193CF37360A69E249B9E8B4CF71E8BFE41C510CE8019A0611C8382 +281B8A193856CBECBD5CE2DCEFC29E093ACDF69E5652B2751F52E70B175022D1 +BBDCCB0E16E467836D2A68580376144B0C6ECA9D5879450D5AACA9A8FFF0DAB0 +482692E8C4487E1F0902D0898DD4905A0C2C9173DF0C1CE8D10E17653F2B0017 +E57BF148D72721A58ECE5D5A3757E1DBBC36BEA533C945A1136396ECB94EA14D +8847136B3397625949620845A15F5E15C110CF69345EB01130E68607D0F01E6A +DE3D2997685BF59ABBF4DDBEBC433257D6A153B98848C484E1035D24D0C586C5 +E8970357946667E6E14FFF34110380A23E1DE7A26F7C56C6CA2BC3437DC0BCFA +9EB6784FAD114A2D1B0F967BCCC3C4F5704390EE3A34EAA95B05424EAA00838E +95877D86D1765BAE85E5CE593D4FFC2BB6FE3167A8EC85FCDA0C11F49A63DC4D +2CA32766196C626385461E059D1A750C7BB45ED32ED87668FBC8C82664FA1FB4 +4C8FFE345E9D80DCE8C7AFCB7654729E36FD5244E388AE3718F3E70E1BBF68E1 +D66EB6A79A9877412A789B433D0DA428F9AE2452688715298E99DAB167B481F0 +BDCE3A0489E87F400B95F63CC3D406C4781F159E58A51CC9FB92BE53B9A88687 +34B44308D25271A599E911091F0DD6C57D33B9240D81B20D1FA452A70D88F4AC +6698DE4C12CFF027D351EE01B0C942C9A2C856D485C765798647A48832FA8437 +A56A59CB5739CC359FDB3423246D62D276E51CDFB0D715D9CAA7BFEB877266ED +1A657D7508CA17EEB1F43243681BBB839B16F2028FF098A7998BEFE83F8174E8 +E16B6F9299DFE74FAEFF7725F09BEC6EF729D79723380458DFF9187124B7C95A +560BD01CBB70548DE318F722541BBF9B21AF2978708223A49DA2068463A6AFB0 +9DDC0EB5AFDFAA600F3D01EA01784D0D4FFE844E66D720E4B4FE52A85756A47E +AD5258D6AD5C4AFB3FFFC2130FE8E7CA62C025954CD07209444130C46CBDEB2C +306825F673A8B2EA21E19CE893C0130C8058FB540E74C6C1EE60BDAFC2458431 +C1043B152D45C754CCF7A9CA3DDB7510B381D65A54B692CF4AA2F97794E5C34D +FE40B6AEF0802A4C0899B96F88E3947FBC6B085F652C5060DC6C4E1300B55130 +ABE326D755DB1AB573892E3B95378B61961DBA504A06C3C94E5A8442EA736A9E +FD8B0EFD03765C03E452DF5E7B5479E36C3C2A6069D339D136994A4269A53ADC +B94E399A2E485CD1B93B78328998D397B2AB3AEE029D2024DF1BD5B1B4737AD5 +2783C573965210BB4C5CE107A3289C3E62005773989F7C0A567653914575525D +EA963D199A5BC15B51C476883D21A88BBE47AF7260BF79460784CF3BB43D91EC +88BFA515416602EB8EE0251CBD7A260750960EB6858C4DA72E7DBE9FB154F55A +192D587A289F4DA7142AC9CCB5EF2E8BAA32306EBD3A5C4B223BCDF76D2CD755 +AE8D3849D5CAB17F2BC3ED236D337677644D84637A7A8893F875D4F1FFEA107D +390133EB3C284A1A9387909F020A0A71CF5D2592EF725B1D56A7DB6F0012E15C +D6783FD87ACD23CB822BE885CF88D2C0306BA6E9934C391131CACB5342CF94D4 +D3E11C31A4211389DECB2E7E01152C6CDDE845A1005D4464F20A58B53DBCB387 +D80467A6F9A44DDA77B87C228DE8D64941CB2B5A65FEE919CF1502DE6CB7E74F +013A53B152384719B18482317A1D11BE5D145C1B47CAC346C4C055DBC7A158C6 +F3A12CB7D4C4933C322ECF307D6D4356976014149A79522C36FA8265BA16729A +52A854CBC9D0D5B106D1D779387A32B12706CC32A654D61E7F0176A52DEC82BD +41D70CB9150AA7C4ACDB5C42215C9DA636A234ED410DFAC4C1C060F2ABABB5EA +4F9031F8C40EF27B1995136AE9A838D09E09F5C8EDF2822456C7A41A9BA87961 +F7EF52BA00B2115C6799124A831F57FEB0A15B4F96A6711298C9116986E02C63 +897D9AB5D159EB0962B3488D8A98FC9445E7CA31D6960BFA096C64ABFC328D42 +55D0AD525F3BA2F14E79A113BCD777F68970429C004A3ABC3677C6FDE06EB833 +790A44D0BB2455C5FC00C580BABD4AF387A417BD2D7204CB6E350D0037656E21 +81E6039D7FB4C355CE6A09A7F78FCDA2776C440526AC54D8914EF719FC211DBF +057EB1AA66BA8915DBCF98E288367B6F58567D31B5224D81046C233B250C8C7C +D4D569C41A66EE217B5412BC27F26A5A3389398C32A56DCD1A189D4DE50A9D02 +4BEF161B623C3608A0E11F32B8465269DA1E2C71BD638F8D11F0457CFFC479D3 +1AFFEDE80B57666E1DAE68A50F6CF5C06C969BCDB7CE2FAFAE08FA5F4214EB46 +7F764CC35AB80A29FF6802AE1B4B3107037C0B6D0718EC0D9A6AF76F38D6BDE5 +895CE345CA945FAD6222E40DA0BE2CEF83814BF3A65576A4E2A5B9C7CE4E9D0F +7F89E869AA44BF1A15BA420D1BEED71B81776AA09CA6C181294138BF934C4997 +61AA57E0E61377ACF8B802EAA64287CB2CA0E116219D8E594A4620A310B61DE6 +C9999AD5C8B34880357D08A06B7E64E68CD0F58CE1D6F2D513A144C8806EB397 +BEA5B4597A261732DD02C59A13895917653129D50056EC73EAAD8F1B3E304995 +D692B02721C570066B060B118512F9B9D09F9E902F8A690CE75045C373569FE1 +9F5A85282D9A30A010DA980044E64F3AAE61EEE5754C50C409C703955460708D +7F57D60146F7A53744A83D50A31D366154C31754B3D3882517F972BE3A5927CE +E1E7B75A2C33D1287F160B19D992959946ABDE9F5A6A434FEE6B46DC281992E6 +9652A6858DFEFE69191D456BCA62ADF1C43366B746E1A82CED283245A19FB291 +9E2793F17452AE2956F925F5D3887A0F0C08B4C50A99811D08ED0552CA11194B +DF3E5D552BA139CB93B244293FFE22B833536BB129269610277EBF4623BE23C8 +38EE659F613195F7C62CB914FA11718E85527EBFB0CB852ABCDDBC54EDE764A0 +3F41012035100097EC0CC4BEBD54BD06F9A3BB5C9132CABE02E255CB22524739 +416659984EDBF9E7CAD30EB1D13229EB122482F87852C2F3490D8BDF228D7E6F +93A0BE686AAE8E0A8B577F18D3565747C52F1880A6731198461EA1E471B41BC9 +4189432510882EECB417092DE18AA3441D8EE6601C6DF2F2550BA217D2B7F313 +FE5901211116053FA76C0E8831EF0BC518290011A8FDC6AFF1A7AAD8D5F8D099 +E2738D337B1036FDCFF0940A2D6A177BC16F58C376DF77E3A18DF704151BA955 +8D371AB77B00A1DDD514DA96F8A5667D461632AD04A6AFCE6DB1ECF002C14067 +3FF64B7DEF336C983EA344A775E0A5DC7FEA870FCA06E23FBBAEA8D1139F21FA +4E625E12BD6B01174E8EA73F1898D3EBE14D897222B07A2BF0E133024FFBA7EC +A21C802447C59D1A71B401BA628DA184184F50E1CD27B107DC705DC1811315CB +58B423CBB5A34FD14743DE9C0276D0DE8AEB9715DA111AB6116645A2B5769F47 +F1F6618C375D1EC39DF7401B7CED996443E9E7E9CBBEDD2E75140BD1B3C08C38 +2C66E8874646580C332C4F98CD1245686EB5C2E79D5BC215B3795A6FA8D3CAAD +EA8719843D0081AF71A50F6C2572FBED7EF26D4C052D46C8296CF0F0612AA8BE +102E0E620B6192CF434F338D99527CCCE7C8EFFF29041423632D64DE939FAA68 +4992B22D98F16A5D9239C8D7C490F47C413A86067FC7CE66015F58C938284CD3 +00736728CC912135ACD20F9603F4D408F2924AD1B26054A9A63C758E769BDBE9 +7FF65425BF8FDDD95F5A02C8DA912FD44FD20EFFD3028B2C07BC5D3124DED2A4 +46ED8F3FBAB326FA3DF0CF872CB5F14E14BAD50434D0E530C651E5FF723660C7 +3F1235439764C95C9A2884E34F26ECAB833B1D1E159AC119769AB9B4E5EA5C24 +7DF1CBB85592C24E9E6FE50620DC4C9467DDAB08CAC6F066AEDBF3BF04EDCFAC +BE0CF1EA585539E6459239B804469C909F45C381338DEBBF8EB842690574EF2C +1CEBCD9AE367A1C18462124A6C3F1C03E37B00F91822CCF7AE24DDBC7F4B5217 +05762DEB3C714038988BA01BA1F73061EBB1D34BADA2F4BF09B41B59C45E4BCB +62705505F87BDCC02101531A222B51EFF297389F57C2479BEDF28C5B7B5D7FCE +6A9554840C7EF2F6B250EF594EFA56D7183BCF8E9A33B2604564F4A376EF8329 +1B4CCE80649BCF3110944DF9A1C72FD0B65CD37A29A466A1D31C752FD08E122F +7B074184549DA6D9D876F0569D0C2B86A5A5C848D0F552BB5AF9A293B82B32A7 +3879B225C78680BA17D91E80E5A76ACABC6A7DC3D9110067F9BC696CE5EEA593 +5DFD15F5C18165343534EC7410EE8729AA31455924F61734C54D3EBF7D332539 +C3531920117BA15A287D3CB108201A59C487148A6C01C5F6A9F2D18B3C73289C +A33BD156C4E4CDEE8624360372A8748F872EA85474D152AE12CA034E3B262C7B +4F5D0E7BA3B7FA0EA12C3F4B0C7C9DEA6DAD3DD844A1ADDF2B45A8B5CD33FA90 +B342D0EA6D0A182353DA3A33E6DAB7D1D4F655904A21171503AE6AA82DB4C4F8 +46868797B1D19FD7BB8290608AADA6CDE17853E4A40005EFD6D2075A3EF22C10 +4BAF20BE7A99EEB407C02FE60158DFE05AD51A5CF212F1C37E2EC49F9560FFBE +E85507801BF6AABFC9F5AD40CD7CD3DA5243DAA91F14C5A3F32333FBE9CFD0B7 +A7BD3CDBB66EC4FC6507421A6F3A37D988ED10174CD5175CCFE22D7ED00C7527 +2EF9EAB7242C20A0BED0E64E38E7A70D55B9A57C0723016DD8A837CCF12FECB1 +AB0CD1AE3A11548436BA9E6E874E502E4A0F36A96B1B1F31AFE2879BD8A9817C +CA4E2B049A42A9F1E6A351C415BAB1678012E6FCB1D4E733D245E113AD1FA768 +DC4B56CDBA5F3D9115C8BBA3E90F515FC15F83464808A21950CCEA6ED2E2A165 +DBC41BF969DAF43DF004160ECC4CE3F67A69B38567B94A6C09E13987E1464319 +AAC24C977D72CF57C4F87BC9C3EDD83314751D7C2EEC3AF2C40C4DE11E8FE15C +F6B650F7337C7E33D8B740309BE4BB0E27A8C1BCA482692935F79CE6FB10DCFF +ED074B6F2967683845C39A0D6784985AD5D78D98C5020F6BE49032ABA5F6565B +966BF6507FCB7E7DE6BCDA1D2CE323E493AE9A9997BD46CF70C1E5DC301B7182 +73E63696DA75B2A2483DE3F53538635846473D8F5F7C0D86FE126B9F815C83E0 +0B269FA3C953C13CEA2D3A428DC41460B34D5A3EC9ABE2C8AF0B8A11BE4ABAC2 +4223C328D29771239E08526B50ED7FFB72DEA8F9A434E1E456CB2B34C3A1F531 +51EEF42A0D0FDC6D2A5FA9765F80CD73399E25D71E7D553F4E7A765B92FA611D +574CA4DCF5B9895E11F026F946B01C0B8D24DB1488986E9DCFFC590BD4D1D3E1 +FC0EACB7465363EED630B3B7817EF0B7B25AA32CD704F14E59F04B1C0E4D4451 +A2117A9A23C944697D0ABEF7C0683231162DDC48BEB97CFEB075E6ADE14269D4 +6B6723B5DF43E00168296298B0ADB3BC8A57547263ED05307A569C9542FB8732 +0B6616B43DF924DA975FD5956CF3F85833598EB7239C93ACB88F717666A6D229 +455263E9226F2B53D21FDF11DAE4AFF77C927359B8CE1F8D308F968C6035655B +E7A819FCBAD24BD6CE41278F4B6C75E472F3220F73F0A46082EF70EF7FB1F54B +02A88EA84B9CF6D684B0FE38758D3EB85A957F226BA676FBFD17CD24689D08FA +4B5028811DEAEF67F0A6EA17C7ACE31E36837DF32DD95281B6FC38C02F07F11E +0EC27FB641B7E1A9A2FA5FDAF24A54DA3F6EB573FD2A591EAB0A4A5F5E56AD93 +68FF099BC6D9C4E90B8E3BE34B052622B6C2D2B146B90303D20FE8708C596C04 +4BC6BED65D9F8A00E31A2876891BA9D9625D253E070874FFCCC8D6784D8BCD51 +AA9D57004C7836E0812714E29ADB2842CE605B8E99089E9FCF6F393DF515B9AB +2B0330936F02AB2B41250BE345405FEF07DEBB4CF0C08A00BFDD223115B0D84F +4E57F0554F87B79AC4DD27D560A52F39E5E9BE1DFFF97342E2EDE580239B5D97 +0E5C68E458B223EBCFCC5F3AAC6E501258FC4B84474BF0AD8B6406A28FE60E32 +20BB0CD632603D68F59756870FB41C93885FF7999A41569A851DDFBE1149BE98 +A9A2E79CA963E62AB1C7906956E12F5FCFB38B12F46237C44931431CAD13A4C5 +E4B564D2F1CEE05D3FE24A94997919F27B189ACCFA1CBC8E05E15D0079CBF1BE +BA2C314B8B12CCCED98176FA5C562835B1774ADE0B5E26E82F802E20B9BDCD53 +25BBC7D9300233EB5BE091BF42C3233875E06FA28E404E3F1AFBCAB621552C28 +43C7713D9B90D05840A9846411FE3687973E55E5A265572977F6F1BE69857E7B +1BB9467A1CBFDA0DCE935B9248784BCDB0E740830D7CBD32E22486A6886FC5CF +98DC3D80484F60E59AED44ED28AE3BD61B761E53B62D59E98D09E9E73D951F8E +80C656677F12660D8AEC57205AF1495B070C45A0694C47495171264985937838 +78C05525FA1115737059AFD385342DD30BD3C753ABE029B71A74E5FD0A2B45A7 +02E0E4218BC9AF4462F926588E28905E30847EAA04CECD11BFC21DC9862BEC1C +75B2891303A6F290A5C43D06A72DD5D71314E6943C55951A7407E4FFC56A4EBC +8E80769A51F6D020FC1BA944580986430AFC68FD0E5D8E63C2F90E57A050B2FF +387E08EFC3430A7D9FF419A9C144D8E626E4661608525ABD1BC971E98353768B +7A91889E852D1B808BFC9FCE07F7E505A43DD02B21B42C07D896C99A1BFE2B22 +DC5C3B6F80D82EE4A66D421DFD912D222C4FFF7CE3A5A0C6A725F25DB75F88A4 +E00E271AB9E8FE69C7012495BD1DFEB452842ABE7FC161B6ADC546882BE28189 +5EC6A8FD669D67E0514F2D6F2F2D0AD50DDA16982A7A83EF2BF785835CCEEECD +6FF5A5BBE859F4AF8DBD170EC4017A039FB4BE8EFE6D09CFCBBF37BF3E7ADE7F +416DD40EED0CFCC96A9453269D92A530970ECF8A11D69F31123FA1F71C8BD41C +3A3B61A5A16C8646764585D2A6D922A02AEEA72576FA71819FD8F12FD4D59A65 +FC50F7331EFA99CBA19BE1EE65F0F0BEAAED8C3BF9C45D9002E066EDFD837CB1 +5EA78E6110CADA7D19AA441094D37A082504ED39C40E46B06F427CFCCACBD9ED +FB375A70C331EBF778B2176D7911353670B34F12E7BD805B4297FA47FF73057E +B2491D481341C045E902807444523460C25E89C4B2B9F2337112B21E3A70DDAF +7F7D7067777880FCAF0FF0CC042CE500AFB94BE2F5E83EC1E5F85B387455BD55 +9ABC735189DE24D26909E48F60A7F89380ACD3A16EA0811D5DCB6DD109F488CD +380A9E7322AA979E32E48A6D9EC49B83FF3E1C152FD1DD1A11958C7530E237A6 +FD33C428620D206AC91AF7470D433161ADEA3B038CBD26BCA69F748A7C2DC8E1 +DA0D4BA2AF6FFFB2102796A1A0E2828B71D43217F33BC1D06CE5D7954853922F +8DEE6C532D88BCAD38540093246DA783BDEBD0648513DA6CF9816CE3DC1E9861 +C87F692023A748943BAA5220E04479A56B7C5111CFC322A0AF133387EC50B9B7 +4D74BF8F6C497935F4F39FD93259B9492706AC524AAC11B257EC36C06D37FA9B +FB6FD8FB82298ACC54AA345B454E667614F4CD6B43FF664F93CA507782A7AE51 +607124F7004F233A534E5677867B29A94A78EE2897A6D64338D7960415106FC1 +97F3B94564393F96C9E82920198913CAFDD83DAF4AB7036BAA645BB8DC2B4898 +A2B4393403C3CE3C925D246DD8971937F35009D36D04A13802EA81B268660CB8 +6F5468A1DC1FA08298CA499B750707E121B1B40FA9281E46C6C12CDCFA23F93A +0CC67C81E2EABF5EE58FAB3CC807E449AAE706D13FB17E582406588033EEFFAD +5B19299C6BA7954414B60557821CA100528CF893EA8ADA83E5462924CDDAE047 +39D0A947C3AA1040AF4C11FA13CED02BD6319F647EDB882E6E52A55E6D38A2A1 +49913970C75570006662AF9F2D8A92C56E138196DBD3F04A5A224DD0368DBB04 +E0307C5524E4D517D56A49863161DF8E8D60C599E002C6B4C26C9E1EBFDFDAB5 +8BFFEA70C221049E862656873684C0D212DD113CA2356308F0BF24878D534908 +1122491EA6638FA3912D0D396E7FD7AF53170ADFDAC3C9C5898D4F9243BE0751 +06B1631927C4E8EA2F092977FB5FD2BC6AB9EE791793A41E4AB142FF487D25D7 +257BF329D6422696B3AA5130788DA1EBF4A96FC04644CC0F08EC4BF8B277DB8A +6A83E30D0CA5844EA6D39192F2401C26791E1438012248B51729485EE2398737 +BED715EA8052EDD273613EFE8DCD8CE6DED097666EDF893299BCC03E16248700 +6015D0042D0DE34D14644730B4C4B24FDFF6C300E8F37D5DEF781B41C82DEE9B +1B0181B64817203AEA242BCBC543D42F3B1EED234C2B96E99334ECA28AB4B5FA +3008DDC93FE1EFB9A3C780AC89294E6D07320376128DA2E59BB5779A10562F6C +16B1FE6B0DD05B48F0FA0B933687DF1DE992B9E65581F4E20C2C4B04B4658A00 +4B6532CA4846E088DA32EEC1BC4AB81C130DBF0CB47813BC40B5FEDDEE2730FB +6861E3F1F1DA9EFF60052F7E7B35CBA8EDBBAE0334DA0E2A0D4EA928A2D96354 +6394F31559E29DB0B7ACCFF23C9C4A130F8B93BB45318DA94160379FA92920FA +AB70CE10C36D3732AFD97DC65B08274C42564AEF5CA53301A44FE8525EB16359 +C93BAAAA5754288399F3EDE223C0C1B5F1325AA4F0202BB97F65F59957D396A0 +BE2B83D14B99F5382B8294E2C2217B8332983D910CE669E2645D753E403970DB +F4FAB8D7B23F095F5CC0E7BFBB9AC3789AB3D9F9D28D8563CC15CA3110D0ACE1 +54D7F94F39B32BDBF1E5F7463416E287C950FB7F4722224A6792C841D4198869 +076325A5C1178FDA69B967423D8EF30B6193CB00C30F5D96B7C4FE8D6771CB06 +7DCB824B2022EAA5E4C181AF1EC5DB82263571F0FD2B5BC55C8C5B850EE7FA1D +1FD9440D61F8CDC85D5E657C877B5423680668018A57998152CF0A17146BB18E +F9B355252AA69389BD731BBF272FA451CE014B507C3B3FD3E04EA3AD67CC6CD8 +DB254A575AE74B98B7EC2797BBD3CA3537501E709D00DD7488AAA9A4CC2CAD6B +B6B6874294E77913EABBC7CAE4DB767B21B850D121 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTT8 +%!PS-AdobeFont-1.0: CMTT8 003.002 +%%Title: CMTT8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT8 known{/CMTT8 findfont dup/UniqueID known{dup +/UniqueID get 5000830 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT8 def +/FontBBox {-5 -232 545 699 }readonly def +/UniqueID 5000830 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT8.) readonly def +/FullName (CMTT8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 36 /dollar put +dup 45 /hyphen put +dup 47 /slash put +dup 69 /E put +dup 72 /H put +dup 77 /M put +dup 79 /O put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 116 /t put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D06E82116C79486D8 +C5C32DADDFCB2CBD26FE85FFCB176AA09FBE325434B8B9D358B7C180AEC54F8D +24A1AB4D5EE5375B963A221F060453E01768F0A398352CB2C76E6E70BA017570 +BE1C3D3A86E803B10B506FD9DB49DF5CC7BE17133234D7BE9230BE8B7481B357 +08595FAE04D04B14C633C52E303B06EDEEF7CDDF20F34D7F08D991DFE2C4261F +298E0A818EBFF29D3B29D1D0CE2F071B49B0622F65F936F6C1D4C6AA2860E56C +9140A4FA23BA31888345142DBFA79825662511437347767D4A13A976FCF67EA6 +7882D7B391B37FC1E22787E484D19BB252C4D73AA3D73EFA5C6341CF6F127033 +2B91079B5FF8A164666CCC65D0002EF7E374098745C84E3037324B4248C5385C +FCF0539F8C04CBC52404BDC6ABD1474617D06377A69F4851838F462E82A86BC6 +F8DB2E740B5270AECB0B922D4493A75422349138B539B6067C040F3007F04191 +CB545ACC01B4F28AF811266260FEEC04057287BB5C26C077946DDF23322FD99F +2B3DFFB62AB8BF12000AA81ADAA6A064F9C34D5F36CB7F66A5EEB7B494FA1AAE +32B380163AEE08F5BD270FAAD8DAF0CC5B6979B8D4FB6AD723E011DCFE119092 +D1025BB62280B745BB0FB140E82325F1FDFC029100F922BF206E5527B7D8F60C +3F3E3AE2184CB954391D10A1618FA0940F12159167494E29A46125CB911B19C4 +97B4DC76FF53B7F79E380D7375FAB6C30A467E02E48BA73403D3900FBB440C9E +951C081C8D5E04DC0C8E1BC7D552075CC360B7D1007367C655069324713715BF +F8182AEB6F401A1F029FB3962BB3A0B2775979FDFFD834D5559EE20CF54D789B +E46484073B059ED1980C4CB2AB70DC74D6673DA37D8D9214E6FDC7C29FA55AE0 +A01A0D23A71396BA0A0F332D36B7AA70C37462134C3A8CFBDFC91360CDDCEDD1 +9C2E12C44D52953E509CD6DF4FAA624CAF95D585BC4A036D73CCD5220B9D12A4 +FB00F763274628831334E1E727FEE9079E42B7F676EBD85E5F21FA095C1BDD30 +5F557EE701707CAD347208550DF890CF5924BC50D349A546ADD81969BB7B6E75 +FE0CCA1D5EF9F69BBD6D58247C321C91DA2EF7558D272A4646327AFCA6D3D93B +F6990BA00B058A1C5C34638E09A21350BF64E29AF803F2A1A4E4D5FE16E7B05D +FF63FCF02B6F39C7484424A71D27F93D308C1C112A64C85A041DA3CA11A19FBC +6D656A4ED57030284B10206538F39266CAFFDF5AAF91F50D9A6BA8FF51608A56 +13A89CCDCFB03D10E3F4F8A4BCBE617A937B5AF882F2B7E1EF7F8ADB5F1C3FAF +46BBEBEDB26000567125BACF48771094CC9AAD358E053C433223EC39ECB0BC90 +95B885CDFDAC14CF4FF78A8EF358BE6DE152A62D3F2897CEF469E030F4477687 +2B1355D84DC33C713ADD2C62E9C6E04786F6FA9343C144A726004BB7BA12AC18 +7BF664B09CB859A443C2CC51E96B0AD3F60B1A9F649B315955E6308171F95321 +94833FA1195B6363F5CB80CE85C7D8D5851D473C428D00451B66FAE160D207C7 +6BA5E1A19CAB4CB283DE71082DB5E9DA38DF26061B7B8753BC3A26666F053DAC +761A9FE0AED478D9B5EFCE77458A9AD93741F8080159429CCB04EC0B52232A36 +1127C9B9BE80084428DA88EFF6F702A40E825B5D91D1F64842E88A08932F9B1F +AA347F45EE7E093729A48FD29EEB58E419C6D0FFC13E3AD8101B820F3380A4F3 +4B44854426302753008E54FB23D8136CBE2BC7474753A387E4FFA47E3DB9F94D +B0287E8253DF368AFD908E5C4D73B0F1ED5729E1364DBB38CAF033517EE593A1 +04F3E0B2B554D8CE8A89DF73B96CF93DC899C5687B8AD59BD40B534D0906D720 +E39A6B0B6E1E2041751C6199AF63AEF60C5C175F1F84A78466557177B583398C +1A7B838DD8E67B4784374D2051B800629BE02B9C840EC6CAC22E5235A2CFE4D8 +DE0085985741DEA306E98D627163768433D79C03E31729367DCFEBCF37DF2CD2 +847215C1A654B4EF9C7FF50E4BE8838CB944BF4BE0D36FD32ACB1575811DA29E +571993E8E45FAEEDADCB497FFBB84678B2E3C4AD3BC7B758AC7F6156B92EA3AA +790CEB4603FA4C151EAD20813FFB71E3CAFBF339EA948AFAFB3637FEAD381799 +F73DF2A45E49215E870E047CA409DA46AA38682656AA8B3E9A6DD928EFEA7F99 +83B60E3065BCC04CDB941C0A317FAF418152EEF5C06663F89C6BDA2A3D97609D +7F07E0974A46413A136BB51AC8E935279D88DC5935C3DEAB4E2E324086D2CD07 +E96BB4CC990364BF6FC72F4F9001B7B31139F7D1F29A545CA18E352ACFCDD797 +D81A4ABF220AF57349B5D78FDB338D5BFDFEDCE28832C31C8B2D46860FF169A9 +6A1318ED69AD19C1A38FA4FE7C1FCDDD561EAD27B834F1F9A4296669B1AC6FBC +D6B319F7E67C8DB0617307300BE080225400C9BB1D968F0D39666ACB246F4D71 +CE127F962298628C5E987EA9CB44B09617FDB542F1A2678A797C51A18BAF9973 +610C610767F17D7265C7CD2065363E77D9ABF5C2CA88907CBE9B86E9468C45B8 +1A9ED80F02C434763BA33665BE8B12682B9AE96FA4BE35CFB14E6BB329180900 +848FB45E6C7B39EE7593DE7813DFF9747869D839579421585EAD074FF431B742 +3170DCD0D5DAB6684D96AAFB98D0DD9D5272C475FA1F593A0CB6910A4072C474 +65F4815A03E86F6E6FB41D9E106DF431BA84951698495F0AE5721D95F3A7A1B4 +97124903A3E97BC27CC6178959CBD214C686DA29BC4307F6E1E7E1BBBC0FB5BC +552D5F0792250A035B367300BF9346BD15EBC1811AE4D0D17CBA989EF7EA17B6 +E211853CA1BF1C54B28FEDCC327A30B7D2EBBC99897BD46A3F3C526D2DCE5A30 +46A3E68D37344569781839F1A5CFB96A8D90A35F5471280C9F3B3B55C23026AD +681FB8AF96E850F64C82BA46F3CCE17A3E747D0C39786BD50208F80AEA26F6B9 +618A40A213A1B2FE497CD9C9A55B4D96C203B84244618D891515AC7E92D73E36 +D8081D6450836D2129DA7C19CB9CFC75A56AC492DC18BC171A3EA4736733E416 +6E66993CFD194EB75D4AA2E4517EABDDFAD35E934C655845611681D451E9D788 +9D5BD13602BE1668A1E39B7CC4551D5A5E6014EB21B4082AE1B0D79DDC07A3D3 +C4746E30FB61C3968DED6852BEA3AE38D08E8F10976BB174C508E3E6F2CB5DBB +34B6A51D212EDE7364374292B61AC064BF43F0AF63D3211245CBF25FC6272A1D +707BAD29412AEA36217D4BD0458CA1D2D8C722F9BBED96C6210AA3C2C6203DD1 +509F5EB7107CACA76036CF52AC1EC6F6CC45BCB928E991A076645B7959BD32BF +FC8361EDEC8CEDFA461C70D8E9D31EC5418A82219679BDDF8D0F59D6E5F5667E +4CF7EE7E8FABCD622F9B0C79E463F523A970B2C4D2DAE7F7696A042FE46A0E8E +32847DA015D276E169F999CA3E0AB75C5F5978DA8D2E318AB3EE431404C88D22 +AB8AD890044AB19D3E984787C4C8AAFFEBFF9C8730760DA54C793FC0E17BB65C +D869E829CD0DA97E34E7AB9099B17445556C79CD9E40D7F723E6AF69636C06EB +195DCD1C2E67C1898852EB82FDB1FFB1BD5F88CD65754BFDAE478A95F1653D58 +035DB41ABA4FFBFDBC210B68AA720DBAF87716B84A41EA716AFD4FFEA6D89501 +991913C95BD95DEE04A29D8E9C9B4CC75244D3C699DD20FFAAABB9 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR8 +%!PS-AdobeFont-1.0: CMR8 003.002 +%%Title: CMR8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup +/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR8 def +/FontBBox {-36 -250 1070 750 }readonly def +/UniqueID 5000791 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR8.) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 49 /one put +dup 50 /two put +dup 52 /four put +dup 59 /semicolon put +dup 69 /E put +dup 79 /O put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 88 /X put +dup 91 /bracketleft put +dup 93 /bracketright put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B +8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF +27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF +18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB +7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A +DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 +6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 +B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 +2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 +3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 +9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 +7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D +25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 +CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD +A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 +DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE +EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB +16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 +07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E +B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B +B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C +F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 +762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 +D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 +CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C +74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 +1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 +E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 +3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE +37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 +7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 +C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 +A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D +7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 +CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD +3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC +FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 +59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 +6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 +79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 +F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B +49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 +2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B +29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F +2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 +5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 +EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 +5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E +293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF +F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 +568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 +64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C +DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 +A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 +267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D +136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 +A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 +80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 +D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB +46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A +E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 +66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 +2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 +CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF +2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 +DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C +DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B +C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 +CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B +0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F +CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E +F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 +CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 +7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF +6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 +6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C +72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 +13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE +6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 +1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 +86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 +D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B +70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 +0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 +FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 +52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 +7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B +F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA +09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 +401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 +74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 +3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 +ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 +93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 +301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 +F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 +1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E +36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 +34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C +CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 +ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B +9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 +E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A +893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 +E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE +0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 +B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB +A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 +B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F +3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 +AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 +98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF +4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B +F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 +AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E +015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A +167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F +9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 +CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 +130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 +2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D +A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 +C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 +ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A +CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 +3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 +E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 +3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 +3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D +947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 +26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 +0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 +984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E +FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 +44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 +603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B +6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C +D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE +276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF +809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 +08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 +3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF +76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 +A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 +3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 +966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 +CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 +2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF +94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 +DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 +9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 +FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E +1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 +24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C +06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC +6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 +F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 +26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 +D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 +49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 +064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A +E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A +D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 +8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 +2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 +52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 +17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF +145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F +2AED1652A132D66117071CADB8603969B3A2F97270CF2AA8EC2AB890662FDBD5 +00EDD53F16FD0CE199660202373E2EA28D29245A4AFD3A63695F6178406A7234 +AB0C0FB1B19CB408E047BF014BBEAF4C9C19445C7819748F082C19E6E355EFDA +BF1C2DC348AC0AE6777F679E2F62A0A3EB19B7F08114AE0E56A3D310D6958AA2 +348E1D304BA8C4389E525553A8791632EAE32B6E8D2193932B44D230FA17EDC5 +7D407CB83D2501B0D2C9E86FD23E21F26DBAE2550DD4ACA051EA0A0030107676 +3643176BAFB7DF0A157151F7625E63296E325E2C3E74BCC92CA51ED191C856B6 +18914ECA6E39CA863FE26BADDDC128FC2D93DEA074991B1CA4C58F5C2F130A11 +8C2635ACD45A97284B8A8C849D61C34C2493201FDE2D2E1EA7349E324829A88C +D39230C99A36EB3FD38729F6E87567247A57B89115DB90A7C793A65BC09DF9CF +7AC51625202CDE53409BCECAE9060CC7F94604002D6AEBC8E4F8995AA5159E80 +FF68EDD097E9C7A0A15DCD491B2BA4CE696D64CA9316BA11FF882E061CA00527 +A9AE9EFF421C06A05C51319B0BB9EDC297782117CD123EF850D070796E1CD971 +3DB1C79252DA025440137D76B38F03908F665998048275AFFE792AEB358FA7C9 +97F8D566BB268A6DC6D2A3AE7C5DD973C82A1D6893821C185FF334810834D557 +46262BC7B8AAFA5E443719FCD40C4F8487A9920B0EF0C116A96A4D3051E7F2C2 +FB867C01A727976FE08894B78165783FA6ACF68FD72D1FA23CEB77EBBD42035E +A75885AC26DF4C016D5F477B5AF9A7368D6D413FD83DCAE72B47A5F3E38B7332 +5C287361732F62B402670992B46BDE004EBAB61CA6C1F710437959CA327264E0 +19B694A8FDF7CF308B1BD99F65F1ABFE0DB563C998D14A8B3BFB8FDB36D5C669 +0884CAA7AF68201FAA62C59338824F44A4F776532D93E0C1D8C3EFCC9103C3D2 +96E77521FE15B6A355A170BD284704B886CA257577753F351CD22D33E5124A32 +4A7C2EDCAA556B945A937DACBD7CB5E1D0006DB7CF4666394DC1FDAB26F00786 +A431AA06923F883C6AADBA44249EBD151FC495D00BA12A092840A740F32BCA7F +9DA1532F7D78D20B6E2F54EE758EE592EA85B46FD7B76BC912F403357EE201FF +3DE88CF23A60C87DEDBF7A4613799561268B474551FDD5B701E67D7664012557 +4E0DB36E3D8F3AC87135FD81D34A87986C3004ACDCB337FFADE5FE7BB711B098 +D7FE261BC332BE993658AA66880B72FE98A07F023586A96CA090BB954BA3546B +5AB4B13C36AE5B311FC5322289585B57BE42166149B7A63CA2801DBF0E90B524 +07B03DB1D677857BCB6DF4F71B9F903AC4CFFB76B248E1D79BBAA2902587FC54 +22C0140358A7522766F56A7F6324488BBEE069623004025EDDB15D6ED6762966 +040F6D31337118AA3C43DD8FCA3BD1A58B8D5B3D36B5C61B12F3B05B62168721 +6CC42B6A590C227C30570E092BD553734BD4E10E27B7A3E0CB02D5C23CA7659B +E3330CEC14AFAE4C5E3ECD9515AB7CD1E06B7AA6A6531C6FE583C7E671CB3E68 +CB6057D3BAE3D9B68F0BE3251BC9894A0150195A355BA323EBD14794C3EC6653 +CB51FB13213902D7F1B84FAB1EE3D42CD3B30F4355099B5A1F92D5E47E5C4C2E +38D0F8C8404CCC6D13705021F04159C65225F3323EEDC10D2DCE9F0EE37464F5 +C29F395B046906B9B5A1B902018DC35C49F459A7FE70E1D4EE122ADDA5B9ABA7 +F5EB2E0E0AD4DB14A1B7113927CA09F2F1D2958F0DCDA388AD35330F29662744 +9059B660399BDAB3BDAF7E4B00B539C470751FB9268267827F56A40096E524CD +9E1018E453784CA82AB4B08E4F64DF90D5EA5F3F84CF5EA209767F2CEFE99622 +E88B0B550BE54BE5FEE68ECFF71EED21EEFCEEB08C3E062942C5DF0372E4E796 +FA3DE37246CCA18DA4B9ECAB36B30CFD8BC9E8CD4737ED1EF988F9221374D8BC +AB28B28334D50B4C59D5D4A4CACDA92EC66A5B381A511E87F36CCFB0657442F1 +E7FA2F8BC0455D36C3DAE3426A243F15E0376BACE2980DF6AB3AF25DFC03E36D +A82C0DE500F21173DF399AB2F9AAD5A9E587B37E0BAD35873775010E5542A389 +EA9340F54881DCE356A9A6772E839972D46420182D98EF366A94184E9A168F0C +26B01E21F27230E151DEE4710EC35FBA674A435A27B6DFB21E4821A02F3BA11E +2BFCD46312BAB85188FF4F4A6CEC5D8F106EF59575506325CDB199E6EB7FEECF +C957B5771F193BA46422C49A14E505C143B811BA45CC1B90DB7B3EB53D3FA717 +700CE3E1FC2DFCD925675379569A1D7CE17AD63A8E2C9633A377D1E273FB6C5C +E4841EBF35E9897083E328C7F0DB96D54D6F3651897735A0FA1110802B169E2F +A5744C6C1B45C82C6851F667D11FB189B0F0528A739F2A71133EC8B444B7E711 +CDE5821E0C8656564ECB12DE756BE5B2B3EC054DA54DD12F92CE8ECEAA4ED7C2 +75F114932AC85B4A82FDFDCF6713413F461353DC798B271CB1805A81342DD63F +DA131C9D1E3315C625267E6F4CC7900DFD1289294FCC0CDAEE952CFE6DBA5E5B +F6B6DD431905C1369F49DF54435E0D803253462A670B1767F0EFCB1D4B15AF44 +FF0701A40A5A26727F94FA20ED2095D8757BC72492B381E4D3186AD502C188E5 +5094F1A18BA52B0C0A5D7F1949E9D7F5F8E63C93FBEB2BA054D7647A4FA834E5 +4149A36E71FC815A42A6DF5A998A4A2DB247F7DE247F5E398B777F11832782E8 +02387FA1AC4A904668AEBA0CB42AC9AD89A8AC777066A33A8A9858FF9AC5EC35 +CF119695D031A5C3C727CC8D70A06394EA9FFFBE07C0992903F303CEB2224D8F +C1B52F19F43D69DD0D7BB448B56699B532298A8C1C1D307DF2C7DFAFC7CF0845 +341EA8364F3D0FB352D5F5952F8FA6EA73D1EA278AA25FB6D0AB4A1DA260B03E +A0D9986CDDD715B08911CE1F2D90C64FC0793B173CD80241F9CF9DAC6B484334 +827E9234A0FD8AEAAC3C76F9ECD4B8C0472E7C7E22BF2D0C1C9134E9F0736B7C +66BAE6B32512E1D23B3B8FBCA3722679C78AF0FD890B85C04C9A8462BC1729E3 +4671C1A80F54B3ADD68DADAEE17C849C102B70458E0D4D61DE1FC178CA3DBA97 +4DFF6C65518FAE1CCDFBC35E9A76E9BC90A44324359CF9CDED052E5F6DA1E1C2 +A067F1CE3CCFD36E1C7C52C492B3B8EFBD1C7CE8AB315D7CF0A4B9305F737A91 +6BFCD0DF41B492BF2885441AAB735B8C7ED39E4118F1AE1806BE73E7DAD86051 +8D9606DAB119360D4BA5C307CEF9A3AEC0ADC03B85A4FA10F723106F5BF3E3F3 +95A90A9FE33BB17855A07156EA6EB8F44EE2E9B84327102BE39687C5911F01B3 +7894D4D4771543497A49022A4351A9D6B98B7B3FD5F270A68C8DF53FFA9759C0 +D090252E0567CF4ECB2A447D8A57298B0D0B06D4345EE6A50826CB3F1A51F0AE +ABD4642B448C358E2DDDB3EF95EABDC622C9913F0BC128F791824226596CC73E +37780011AAF2527D251A824FAD26B18DB548D5EB84B271E2EB96D2142D5A2CC5 +7BAF36342A20EA18BF5A5D75A545630F995F1F32718A2194EAB3EFF7E77D70E6 +80452467AEA36D370ED69C6C3B8299E085BDF38639734328493A1E8FFE424223 +3ADDD99E17CB94BB788153B10921FC7477D3AC140F68851988B91AA6889DAEB0 +BEB2EA5548873F12C10AA44306CA85D373D51CDF8B5AB244AE1E512FACD3DAB2 +39FCBDCE3CC8BA1F43BFBF5715190F14F76E54E6C6CA999E4B2012C4334FF565 +6D24E0DA26323CF96D36F0261CC2B39E627D31866E0E8A51C4B8B084C58A96A0 +5844A9F28A452D9CE40FE5C3DC4FB19ACE79A2F7490E33A59B5F7E38D392BDE1 +77FB621AD89DE7AA67F1DE5B3D2A75EF3E55E1539E2C71729C8C277C78BF4992 +95A3DEB8B0FD941D4F1EE8EDC3CACB2E74ADEE26454CCFD866D44FCD6D373246 +804B195427B6B4E8C1963315829CC4B7B75AD58022BDC55FBEC89595614093AE +1E044DFDECAA906F83CF87C567E77007061B4021E4372B1595D7D2AA9C0305D7 +17B43110D987B1B77F6ED66085D89C978799926D64CF184FB3FB66E3A9AE66B4 +1B55B65DA1046627030E7FCBD2F106991D866CAD497073A2B4394E55B9445B33 +16F91AA745231413E764A3388231D9A418B4549EB573821FB2C66B4051CC3A96 +D8CC6F0DE20C0A732B877EA2DED6A76F28088FE22315F6996B792A4362D353F1 +4E26BE1A59927C44F40B6FAB0920F833644D1C90E4C0E227A7E125ED247B90DA +F0A439EB3CD53F49E458CE0A4DE720ABAB15E8DE0743FD08A08AB67A94D90639 +765EF07C2E6A645DAA9AAD3FCB2CF51D281E4AF6337297B2AD2E47D3EF4E1501 +BCFD65703C546C949A93E63813B8FDABA9F21C42B588CF95DCCE8DA62EA5BD6D +8875D901C9EFEBFE00DDACC8D2BCF0065418EB619A0BD823A04D762F4A5CC004 +CD4A85855EA187158896DAEE40A3EEFE1F2A496A97C63EC52BDB7671809578CC +A6F162F2AFF1B980A746DEAD80B3E89F25DCEB0E3C20236EC2FFBC6E6D49FE33 +E7DCCEBE819FD7CA16EC75A1376D815948C1CC021BAE328F54D62003FE97F060 +47FC1EADA686DF87BCB53ACD1C6CD9C22771B6906A871192BC12DD6AC23913F9 +C7E0C10808736F1500BEC48191553BEC81A77F8A035BCC7FD1C8829702FE720D +F0DC7ECE0EF11D2263AB769E75074E58F1D241C95CF887F120C0987E6AA703DF +1DB8126CF132C1A76EDE5A35CBFFD483A753521BB874D6F08F9BEBD70542B5AD +C456DC1683BF1752483241CFD533F8339F2C9C402D64E614E48F7D27CCAC04A3 +1826653E500FD39B28FA22B8D97714FC6DF15C5715F358515E609F28F9276F93 +C4C9EF722780CB57F17B428675AA9CF55557A95B55AA7F9C783CD7997236B15D +4EE7E2FE6104E6DBE07D09902108D7DEE7A738B848A0CF270CE900B7658D68C9 +DC91E6F9BA956D44756D3168365F3247C289C99CAF82F19523FC65BD589F04B6 +93CBADFADFC8BCE85D2A7EE8CFAFCB3E107575D0D1C9081D1D79469B538998F0 +800C4FD416132EE7F6CD62F7141FC36C6593F0A3D526C31F7BAB3E8230B80304 +FB74387CB74327E9A38D3D7BA0B7EF3675E81BD5965A10428E06FE35671A91CA +D00C4973C46333E6AAC55832B3D5E2897CEA72738E5D4E38994E17E870A736A8 +8FEA7B2966A4FE3299179213DD3099F6D277FECB10F2AA3C5B275E527E6BF455 +293EC2D19B652FC13AD92ADB1A144B6457B085F21B63D215F6C72AA1B6D6F960 +15CE3667790FE2601CE0B31FF54B453AF82955C77D305FBE913FD08F0E973906 +D82D6FB2C4FC362092ACEF2399014DF2579A375C01ECBB41A14CBD617C334372 +A057A50A42DB951DA03A578534B40D0D0F67CA6362798A713959A1F5DAAFF645 +561848E557FE312123027694F5AD4D5716869B913F4411A5CE2D7107D0072279 +51DC4E0B2BA4194BE440C4F7FD07D8A80DBDB46BDD38CA1663197AEE6171EAB9 +52FB11AFBC2DA620A35845BE3ADCA18E06D623B6EE7CF770FAD579903191E951 +9EBEB78A47EEEBDAC0D01AE68401F89A92A33198D9AC91984E51D1945E0D7256 +619A0E5FD9359D36443CA14E326EC51D99516B2F835349A8CA5EE5F9D9634284 +9A2B226CE2AD57B945B86ED81813084AFA818F4DC547647EA60146F7A3F548A0 +3B0A22019AC46853C240E374DB0F79DE4A3039BD9E822B0746C76D9DAA37BB6E +B2659C6E82132E097A867FE109EA2306A67A49F359873DFDFBE84C1D4ECDC066 +584B60B442D25DBE1272908480DD5D056405E1285FD0B638077F93C14DE31F24 +F82173AAD507FBA6CAC274CD3732DE20BFD71179DE7888E64529336EAD0742D6 +D39EBB4231CB3EC41529F5CB51EB5508F533DF6B6B2A5969D4F380C98932319E +34FA15687F78572CE53AF7C87E370EEC5FB4367F0B4DC6FD96FAA69C1C5C354D +E56088E4D60E523F9F677600B52B78C3F4CBF6E7C10BB8E23D1AFF57AF249068 +6FA744DFEE25538233A0241C79BAC11A2D2A7AF0D30A4EF76759B608A1EAB0BF +F3498D14D0A03302CDCB1A5E901CB1A4B25FE8512D982E9BA815140863F898AC +51908BCBA2BB6FF49F1DA48E28E046C615B231FD5BD2442F6A7BFB97B7BAF060 +0AC2A0D7B59EA9A067B0FE96005513BF1BCF6ACA51832435DC6167391923C0FF +730BF17878663DD75BEECA6C197CA506B3B5D1ED535788D1BA6AEDE713B8442A +126F06CC772762D411E251E7CDC2E0E6FED4D817504C85C7EFE7274DAA663C76 +A6F9CB7276EE2EA9B7D8F01DC2299D45837AAB25EB3BEBD1138D0BF1E05C7722 +CB4E5F45B2C43B7ABD619E19416E0A91600B7FB078F27F8F4B8867300CDA64E9 +6F61C99C32FD6703B20DF82E6CC478A0271871106A8C03BD976187277770D418 +275C382B340F82BDEB75882D81AC197327A5B24D29D2AF644DF9DA89D95CA28C +0A4D09EA1C6704E12F033E0DB3AFD5E2CBFCC472FEBC6BFFC7E87656093349FF +AE1B24D89C50C3C5F55D54CD1DB23B5EAAA8FA87AB50BE495C07072685604BD1 +292BBA51C1524722EC59E7AC4EECF63B2ECE0A6837B1720B38125C8BA424DBC1 +39BC12125E46B3625B529DEA989027E71BF3890BA3AAD751CADF9229E5551425 +03541E9250E011C1270F5D53F4FEAF1937FA1C7D5A6E46F8AA36864B8777A633 +D190C41EDADD6B1C7F365E7B1106B4E6FEF13C940927D5E3D77781D6D7CA1853 +C80794F3044184841D601137494F6C609E3D51BFC28B4AE5F5914B51336C6026 +637676A01C6468F756D65FE9D1542C53F356CF0955D31EC1C871694196613223 +28BB4F6D62982D813E4595CB8E0940582BA9372F0D60A66143E9ACE9B9221C84 +3CB75E843E2898355DE33B028D1D3E83037A4E1E44988AE40948415190395EEF +87B6ACB433618A02ED350C2032FB6EFCF8A7FDA373062DC18EFFA35AB897620A +EB90A37A43EE06DE4F9F48D5B6BFCCC2C0975ACC623AA591E6031F9B9FD2F7AD +14F20089DE5050393917ED13BD0B6CD53DB9C6586F64A6EEC11FFA6B569193B5 +613317FA55E5E2FF4B7D5366357B6D6768C0DEA68268B2B37D17D0D9A6112BF0 +6E7C680065D23F593529A23398AED64D8FE63B0033FD89AC15125A63EA3471CF +3BFDCABDA06BC70B98EF141B8B05B9402191919AC97E3A474233C6E8152A94C3 +9173BA15DB0F3494CF3ED90FB7AF8D469802786D5254654C9A9E7ED152E076CB +C9897861AC7689184D04D4ECBEE43705FA98FC9D3F8D68E4FF18C12B9731E243 +C1700FDC6286D375B6F069E6D936EA1AB1639F803C79952CF5B39B97CC6ECD52 +4BFFCFCBB205E17E838FA8467E332D3C40CD605252F34DCFF956887472B293E0 +C665A022AB5F9A3D74162C8529437C995D57531747DCB18AE3480B6C8B4F9A5E +73CF815567E990D679DEED7F565C0ECB2D3DE8EEF0BC19778918F29D497136F2 +AB9444523A550D6488CAFE85154EEC0895FAEA91F32E195FAB5AB3CE3C0C630E +37A660756C0E287B9E4E636832BC3430F3D5998AEF862B54B2C6C6C00E3C0197 +D863F4E5987035F164F5ACB4A7D6C45C305D4E5E971901EB7CE36B49F3C701DC +43C0BE135848DB557CA513A06B5BA43E29770270330F75DC28AE7571BBB548CA +B2185CCC9F90FC945DE255975B36B1AAC142A138415F511FBC897403C6159ADE +4D669517678D19FD225AB3823FB020736F29FD30C7EAB33EF65BAD50CBECEE39 +FE70862534E87E0CDC8B95BE9F75EF724B32ECC869ACAF90B75699B60D90E320 +D9643E070921C41D061929300BCD6F13F2D648D81ADE3F0F73EC56F6A2C2EB26 +2A6A1A90FFD5E3DBC3E198CA65841533DE02E769964F3168FCD1850CF5205542 +55E88C39A168C0FC88D640CF8C44A09F54FB3FF695A39200A88FD646C7D14377 +9B957EEC68989CB9E4ACD9CA63AFBB943849870F2F601601F37ABC7782E8320A +5784E9E3161E38DA3B1EF3947688304C5C661ABA92B352F9C90C2F6AC39287C5 +57B3B8B06911CB800F40F3440331BD1E5A47DDA7ED8AC34CBB175311B92EA3A6 +A30B38A94351C236230DF2369ACF7EE9C1C1791274FBC35B3CA40EA249F92FD8 +4E1FB94F2B2731F0C73B2600CEC1403462289B3FE25639D9F986484C73A233CD +592BFC72C52801168528EC619CC550575FA25A549BF5932B729273633C50D677 +97986668F3AD4A7F332C241E77EE9D7109B0434629BA0EA77F303EEFF632FCF7 +F6DB0CE0AB85D6CAE07E0744349A960231CD27F3B166EC48199D3976A3F77262 +0672ABE2976B110167DD78737D5B2958ACFB1BA0D64FE649FC2A05036B7A471B +A96E661CD26D4A86C46B263EEB636B50FB21D6712DFB039846CC5716E1BDA9EE +E3D823361A477253E781603BA74284530B2DC454FDA90024AD6A1DBB492D4752 +4A42E96073E5F8CAADCF9E03C2B7F221757FA43669F251635BB9896B30BF5129 +05313E1F98305E6A1DD4E08F7ED3E5DFD83A159206CFD2297D9F8F527F97671C +9D7CE412D5859E1225EF896B845DBC70C6DE79F4502D863BA5AE9E05F6CA6992 +5CB1B5BE3229E2C4F90B1C1BE069692E8D13A68DB31E09B7C753465F2420358A +897F5D4B519EB8E0B1986A39A59F8A04FADE16CFFCFB37FC590640A4F674750D +B7209C9F3DDD62067EB9EB72BD8F6DAD70F11493BD7DFA5E49D1214E32FC49AB +906C68E76440CCC9FB4D20707CC7897BCE007EF0CA959B944B684F5538C04174 +60A031194ABDD91154D5446D0DDA83B31A86B50D9EE806BCC8CF8A362C2BD926 +BC3397BD029F6B56DC9969E389C18988518D2F40D19170037D086FE6DFCB5C3A +2A455B099E4204B45BDA862131B2D767DC0738A1068EA3CD727D33AF056A7C8C +AAFCBC89DA9AC006FB1E35CA103979DEC54F587405440A5D3002E2448CBEACE6 +C464F246A53D14D74A3871A89D0166736AEE894685B758500AC9FBEECC6415A4 +882B9C63DDF04B2631CFA1EC0649E559E711EA07BF1BE1ADD82A07F6655AD808 +F32966482F595A64ABABB8BC6F2F8BE766C954642274E65AAF4DC49400DC7113 +A5DFDFEDC7FE5ABE78FDBE6730A7339111C954199A4A60B51AE16B414B0883D2 +DC43BDB6843747352E2D8026B411FF736F8921EFCBEFB37230C68C25DF7B225C +7EFD3E4124859898D445D3B62A87F36B96345336655BCFD2EC4DC81AAF07DE10 +A653695C63A9EC0E3D166E633FBBF2E299C8F939D867AB5D4CECB172948B1456 +6F5FA58A6F4E15FF7711465DE7761F909F34A9A2069F7A5685A2B9965AF8D85D +B419B02B56B50E4CC5B15D3D08EB3411C45F620F06BEDF097BCD9B4E61E7505E +1EC8565750C0280663B7ABEE61D2CAF0BE6E20CA603B983A9B573FECCD0AF58C +15FBDDCA5211541C0D5C3B7E94698DE3B12F5D1999BB2565ABBA03F0B7D44A77 +894974F3914DE580A66E612A5B1E69035757F3ACFE358510A3AFD0A066646CC0 +317B88892B5F0B776C9BA5F864269115C5EB6C25B9CDD811753743CEE30E8AC9 +288C4B5190F1618B1DFE5835447F799BD7076B4D39935FA3E10A2029865F5724 +E26C9019FDEABCD97F2A911D59BA21618883B517781EA8DF63457A7FBE0F9321 +F2BB8646D359A5DAD798D5CFB5061EFF4B9740FCBE7F1485F135EC49ED0FBCB7 +A72B5B661784A868E7F1B6D533B11193EDB0A00F1DB2B2241F31B8105340C683 +2A3D8B624CD4D37732303AAAC4739172DE4782DAFD71DDA834EED62B1DB3A159 +F55D00AAF0D4B7FEE79D10AFF1BE3969A0541CF5DACFF99DF963E33650EA6304 +1D189643F8D8CDAB853953969AFBC16639ABB00FCD40ACC6426858DEE194AD32 +0BA160C1296C25A5683C40BCF2CCC733780A7FAFA632B02AA6D7654D741EB9DA +D075A7A7FE90FC38CF08BA6BF138E297A34A2E02310A793271AE99EAC6A8F2A5 +31EE3F6ACFCD2297BB2D19370840BD8D576AB96C30EB41FB84F0C4E87A209966 +988E5B825CC5FD02CFD6B1C747D7A632E6A04096EFFC89690A08CA569FF80027 +EA0D595518631E3D18EF6735AE8DE94714A27BDB66748EDEA879946084304479 +F1683EA776AE954A62183CF6AA8376A36C64583E297681D3F986B0B64EB6BE50 +037C854053C8F54204F907A403BF9207BAB85351640CA0D6E1862570A3A8DA19 +8414DEFF22E70C9CB28FD6F568DEA39BB1F9A8C264A4013385BAC2EDB5400B4C +53D2A5072ADCFD20920702BCAA9203631A30FB8EED635F81EB4E6BB924CFC46B +5E5171F68D6F04DB5FA3C8894AA9C3B730924D501A4AE9AE4BE0790E7362DD49 +2BDB07C72A052BBB +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR6 +%!PS-AdobeFont-1.0: CMR6 003.002 +%%Title: CMR6 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR6. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR6 known{/CMR6 findfont dup/UniqueID known{dup +/UniqueID get 5000789 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR6 def +/FontBBox {-20 -250 1193 750 }readonly def +/UniqueID 5000789 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR6.) readonly def +/FullName (CMR6) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DAE339BA29C1C6F656 +1DEF13780383DAE38A868377CC7D396B2A05F341AEE0F8BD0A0191F51AD11A4D +2E927B848A1EF2BA15CFBE57A51E3AF07598275195C9613041F71C1AF39E61F9 +EFD5F6512FBDA76E29DE6B508F62F5CF9F73F5288DF1C7B0B82C92D3B6358BAD +EC3CA20BDE55DAA7CC58004AA86B6CBF8C410D8287E88BF20588A39309C2B703 +CED322F030AA6069869064486CA651DA054FF3F5E56534CA358B0829A6B954D8 +9103436E6B06DAD1658BD4A95AB41343B01F5866FC87C4EDFC71F1477C98F8E1 +1DCF27EF743FF90BF918AB8C4E5AC35841E2F745480E5EDE1C1DEAFAD8D0018D +2C1F1CFCAD9F6609859DEDFD1648A6CD23D8ABB80747F94899F17C8F3E6CA55A +E176F19CDFDAA0D7C920B3A72051A4745560AC81978C92459EEE5AFE85AB247A +32981139CBE352B248F4BE5F73503A084A3E91F05328EE521D9669E44E202584 +5407E7846F9FEE3D54EA18FFB144BF2D6803BF65AE402034B3CDBB40DD24217A +3CE0E95E2717CACD603A958187C42B3558AA38D6B6390EEEDD396F96E6041FCF +6F8888221AFA87EAD79F46E0E32CAED91E6C8500879AB6E580C581E8C8CE9B68 +2BB5EFE2604E8DCB2432D39D75EE556969F1B2FBDF6A4BC72D106AA7CF22C268 +464027898B311613E06E1584707F262F71D9F49D2149306A88E02BC60BBD6BDB +EF41D90F19197BA9AEF32B5E63D5B9FF41B5602F9F786E76621DA54D574981AB +87A72081EA05D6C6BA940EFEBD0904EA4E77BBCE17E20B42E1722617E0F6EF32 +F1ACDE9D758594E9C81049CCC10605A27C2A06872FBA9F159CB155609B496ADA +4886F478E44029B5E620DE8319E257697E93E1CDFD27D560E2E4D34507020E2C +D9FF06BFA14E056D81DF701FAC3ACE4BE6C098AE116E079F0044391EC1661F6E +7A93B9320BD7F91E8FD2E8EB3F5CAE997D5CDD35107A1D35302260D1499B8B65 +39625B7925F97D917B66BAFEEA992873F07220714F192839948CEA080BDB9A03 +77B9DD032273DDB5629CB28B5D8797EDEFDBC601823E038384C90C79012A7D96 +8F27784DA15BACE21501C26E3AFA5DCCE81B52B0ABAF71A35D33103EA86F2415 +A39A830D559C5C6CA7423945BD3DFA942B20A06D7A8D8671F9831DBB52907AB4 +4E54776D29C6085CD9970B6DD21DD3EA8EB09C49CBEC6CDCEEB0BBB1B8827109 +3BDE64DDA024D67F098D6C1998506DDFF7907ABAADA1C39C759C850E0C6F8E89 +A392D1C9329ACFFA92D361218D75E115F70A47C53B73B356D703E9C499AAD098 +AA9C8119EE9E9708A9EA3049E976FA19AD04210D5F6092C7903FD155113F3A3F +269B746560F70970AC9F8D09956E0E84DACE4112C4E7C7F6B3F0B63D26EFF95E +2B2E9699D16BC8AFC4AD9113AA3A974C9E82E877288CF71E9169D2DCC61AAAA6 +C536E5604EF0716F6487292BBB677518504B52C63822BED3BD5FD14EB41EE6A8 +AD4B6CF90D39F98E12A765B645CBA3E8552FB9A986390212CE119E7C3DD675AC +17BD006144BEC534DA2A860188619F17589008409C5A309CB83FBA70F6446B6E +2B56991B6A03B1DE10C621591CEE45BECA27C54BC8B4F1754A9E8F660812710E +117850E1BB6FD89BB13F8CE391C43DA89EA67E9C3E7A4697790EA26B0E4E2E80 +DCA508873A7AFFC11B8C02EF86C2316E8D8B6BCEA37F81A3A87546705F070C3B +9D4D28C366CEBC1EE485B8E2357DBE46E86C87B9939DADA60888AA9F1B92FECC +CC1C198DDB594BB70A8FE690ECAC21A414BAC89BF019F34D2A130F485EAE35B7 +2A10C67EA3A48A4D9734759CC93AD85C6A570500AE5AC9973FC76EFA06BF5DDC +26E20E28D16B50957EE01AF2653F8D860817967AA5A9BF9BF7ABCDA710E9F34F +4F0EBCC32B3C9C2971F6225D2DAA6A451366B83F32B2ACB83E746D365B2DE38D +C1AB7447FE7B37F9630E410E5D8F0ECE74DF46C538947B3A167AD9F3E4A7EB3D +60F5425AE75AC3A27D39311DA35696C3DC7282AF1532E7AECE63D13DDA0296A2 +01487185FDF1875AEF55A36C17D6A8DD329279D229259463A2F05CB7A874374B +E2320E1F6CFECB9C1CE62FF468C29751ACD9754AF1EABE8E7696C2888914416E +235B6766F20FFBEFF285277B639A51EA2F2E30D207BC891B00F0436008F980E0 +9EEE7FB375BB069B9E0BA11DA951A99D8E60B4F920A0495C247FA7DE904765AB +DB5C3B2D634757E43EDD6FAA4DB3C67F82D6853E1170F0B2D8CE496DD4E72B0D +28277BEF172F1402959F64527F9B640619F04416DDB9D05FB2ACD019CB9C119E +E544D24EA6DAC5C69785394EA50E6EC9AAA9E14B904EAF29A733C6D7942B63F4 +85729686742F26DEF78DF0DA1CA7CEFBB684F4CAD99021A3B3D1FE03B9C5A4B1 +BD04CAC89BB91B11952A2B17A61789BEE0C54B46C03FE9A1AE73D17CF94BA30A +237C29D414C3BCE8E3E2DDF83C0BD59DCB66C4D2C3DE73DA8378F3C6C8035D28 +7464399857E57651A53E9C4AA68DFCA91B2376CF98AC5290FDB9BDAD9EF1604E +9B0A70EDDA1E564B6D2456E7BC722454ACA8C4950FDD44B6EB9AD01169A9F845 +B06A0DDB7897C847A5B1F42258AECF3807AE936C8F52C3A7A0A85D68160AE442 +FE81543DA6702D76AB6E8701F80DFC1D87C961E350D0E52AB2A298B9E5908600 +7E14D2A87309043CBF13F69AEAAB1BC239DEA88EB5176624F6046664B1D2691F +FBB2071D3706F97DCCA355A6DCC4D09FD35DC078FBAAF672FFDECEC61050A120 +10B5A96629041303FD01ACCC7686165DED6AA712FF8E5E85DE33C4E7D877C49C +6C469A90410BAF60BE65ECD91CDC2EE7AC0CA8BA7B53865F26092BFCAA0BCA77 +B80DC51DAD09C93C8DD8E43502B4B68F3D5918C3492196292447732BA90F5AB4 +9F5E1D634ADE1CCAAD028DE5EBA9535F6FC5908DBD2D643E0A7E059C8C386FDC +E72659C0033F535C0D7F6B98D0335552D0BF3C6E302B672A5EAADFCEF81912E3 +8F54E6FB7EC2B325125159713D0AC50DEE3673B9B148643727E94C80971A2E73 +5E1E13237BE69C84FC039DCE02ECE2668AFD047F21A61BB94A9F498C9FE5CDEA +B274B40728B6F6CA9B6C15BAAF92F465B0D7311B46545CBA90D874839443CCB9 +3110F052EB247B24B45A3D2FA6FBC7EB2A4BEC2A5892914B3C5EA3F4F9B9DCBF +6F932D95700E045B49E4B1F2C9D2A42CF39CA2F5A2654E6E8E6E92473D28AACD +5E35C6705EA728F704F5996D286BED433F976AB7E018621A577AED7C0AC0A84E +A032FE1869F603E6F20386E3A190A30A21EA886249ECF8CDDE2C33D73BA8647A +3DCA7A8DD9E8EC8D9A415D126BA38B6771C489DFC419303EE9C1B83FBFB3A0B8 +97D64F30E4BCBEC24DF603FF3BF541E00D5804B6B6543D3D2B661CC551D497A9 +9DFFF535AF424B2F3150BB39AAE8CDB306AAD37767BA10BADB031DC2FAB16955 +EE78342CCC0E8B5976BF98F215461A8C6F63EBE6E2F1A1104662DDE53388CB51 +8B44F3534853B8095F3B746A2459C2EF800FB1EF7F235EBAA9731E3AB3BE4369 +1D3636E3ADD5BDF0C34FA80E90D8A1DDE770943FD196E0A7C5F1FAF6970B34C6 +4673AACA6B2B5C12B9608521AE736C1F4B97209B063D991300ED5AF3D7F27E76 +68E0B858FD8BFF86581E2B9548C691E3E5D9EC4D39C9715CDE86C7D22223CCEB +8A38C776A30AF14912390A7546DBECECD7A687D4F08646E57A12C80DCA022B7A +33399761A50B8E0ABEFA1163EDEC3DFB5DA3248792EEEDD894872D4E6814B4C3 +548BAFCDE0CABBCDB97EC6D1BA47F2E77CC1389BF19D73661749AC33F46A618E +A665A85776545BF9662F2179D7BFD604FA8EF4700591AF3AEC647E27B24B76F3 +133F9198DC15C1AED830E737909E43EB91C334C44BA35810007A3888E33F5DA5 +B3B2C35481C648AFE630CC3E08F77744E401B2934E407D1EC17ECE737606B076 +F8DE8EF3344F57495EF49D11580D6FB28AE0B1422521B320843B13467501CAE2 +3DB93D7BB779F73B6AA30050DA74BDBC3F8DBB30F32EAFD07734A151BB2BAED5 +C9B1F790059339B64BB4146470F30928C9A49AE88906BD6FDB7431A4B50809CE +0F67ABA01CDCC2320B0B097187B9299E3D80CDD7BB5DD5BFA7B28D924C5633C5 +45A23CCEE097C41C3759C1FA8DBA0DD95034BCA89BD23FAC18C70093F40FF2F8 +0FAC5DD4835F2DFD40540E9A9E9FD951A8AF2CB766597DE00147B163BACFB7E6 +EFDA4DED594F1C746D8B46A1145E0E4058F5917B3F21E9BEBDE745EE72CDCA64 +FB31EF7A2E55265F32559480E2B6726D3DE26FFC97EB4E3160F117E890C4B2E5 +8DF310E6A728ABA85540F571C024F8DD58E1D7827FE97CED5EB31547EBC36415 +02B8C0E10B7E37D816F01D56A364B8552CBFAAA95BC4BDDCFDE91CE0EF005B4B +7AB56FFB47A093AEDF0DE1EA48FC8103CA3CA1470864D2693E360006D05668A8 +AA422CCCED20DCEEBEA5CE0DA1EFB00FB93E922B18124FA11A88D0F6E0F719DA +57603DD5DA42E1C56C2FD9E5415AA199D4F334C151C1157E75C107FBBFCEB706 +5F4EA47A29B54ED8CAEB8DDA2F53D2A703B95487619780A52DA1270011648A28 +AA64338E04AA5B92C1EDF3D8DA34FA6D227A0325EA6F22E9B38B6338C657BB21 +CD4C582DC04010330F62923F817E4EDC6E5C0E6500F2A975A8A95BAA30C4A134 +BB31B5AC45A2E7F6E9CDFC810D41344C4F606049445F8E93D74271C1E29DF7CB +5459593BA28AECF64D903D3E4D77CF5C04B06DE44A41EE4D9FC769854503AC85 +69E4A5106E84016DE3D59865D4AB30BD6C9E45C45DCB5408421CC50CD6179C85 +34E55CC70FBD8FEFE9F1D5160664981716E3BC7F24B6F54E0323D9BC4B692971 +24419EE62D8B0BA726E2B4294A9A76F328B8101DA29E78BD5C4AC383350FE196 +4D42DB1653637D19530124858950C22F1E9CF5BC07D46B7A58CDE19CC88DCD2E +7FE4EEFD8AA6047E919823C8CAB2EF5274F45E861E6508CC11A8AA90AED2403A +B2BF1315C2157B3B50A3685205D93E40906EEE9DE5985405974BCE0B84BB37DB +080A45C5237B269B93C0A7CF294A18B45464A41F604C494CBEF829A381155CFD +71CEEA54CC39EEDB6DF58A9896246B09F95DC6BC40BA6916AAB5ED3D24F66154 +3662F8978FC63DA9280FF7ADB09EA5BA79D3B66E0C88BEC1EDD78DA93839073A +A4D7B0E627000C4ABA76C47CCFEE92E319315333A5584A951E34C55412049C4A +A5569FE65A006F77B416E0530AB6A8E7AD6C72340AD4CE25937158FABB2153EA +281E1D840206F5DA38E00815E9081F81DAB9FAA8F4DAB305867AC84735DB4F52 +A36129929BD2084A8EA37BB6889695204BF7290B68D5E722540BF8A276F8BB6D +451D582EE59D2FF03F6B97DDE05FA00C3D375D2D0AAC8FE298F85CC067B15481 +48D70B6A0354C705715B891915FE8EA45244677B9FCE81E72D66177E309F3F83 +F744B9EA9E55C3B30DEC6E5E03B3988FD526A82A5E8E1DC79127FC62B2FA7949 +B3AD3148868DE22BD4B5708E32CEAAE6ADEED1F463EAB9692411E18F8D6BF391 +126B2700B4CF3B59D02E3F8795130C96285A63FCD1E0F647ACB1D35E9C58BD01 +1DD06BABA00CA4343BEBEDBE677E053E9732B33A7495DF51782A07DA07F5646C +770C957AD915CC70BA8E08BE7A1F4E6BA5BB9C603E38F6FB0A2578471C4D02F4 +283069856D926B9076EC73AA39CEB0A061AFF1575C7093FDAC9F89C3DC06EA45 +06F3C2A3BC9FF21128B10CB758DF0F099B459A5264A8C24C098110D2BA1A8532 +8FAE146A91BA7D033F591AB1A94B8A6FE0FFB610F698D216D58B4EF6C87B1524 +8037CBB7E23D8550A620341C6625A1A2ECE7CEE2598D66277F857231A36155E3 +984F147783E9B93975AC38A29F2FBCF704C8A04AD84C3E04A12D2321FA56811A +5B6744813CCC187968C5C26BB8D3E6615A912FA5369C01CCF8C0DB790593B190 +1A90CFB5339B8771F325C5FC448D36C7312B11A15A8635BAB59CF3CAD176131E +026F6E141B2619EF7F3048750CC9291397F141591EEC8B612D6656DD34DB54D6 +DBDD303CED74BE76664E7DC86FCFEEF2001C9DBA56418FB61F589566A47AF36E +C94671C5E8939AF9F4D53C0DE7142B7B63C86AAFA65877EBBB48C64589AFB2CB +1280AC099FC48058855CBDEB6C2D2A0D092267996591DC3B5EC8252984E9B27D +2E9EDE8CD8303F0905DBFCAE497DE1B755B924452CDE11CF4F20893DD6FF7251 +427F520FE00580DAF1703FD968E0F8ECCDE618E1EA5820EE6CFED97C78864EF6 +26FAFEEE194A268F24249D44829AA360D731C34DC285501E966A959180718F72 +6330E4CC060588A2F65AE64A720DCAA818D49D4440F5D0B6C1F6C3A107E12445 +F1BED2D3FCBB87A9597F01C7332AA79143564056219BF87D4B907A04F77621AD +054935E883B2B137D3D1C4BC792E8335CA08B6D83227F35736C41312A0BB077A +60FC6488C5E02FD51A10AC113D4EF70038C649C1677B2204A77F2ECBE9B3C341 +F4126BECBCA61E3F3801F9188A3775924A62D30FB096B440286FA655EBA00A74 +9A4162904BEA07CE68EE76018346DEEE20839C9A2FF71179B58E1D4AB30856B5 +F5D97295A097174467010B15D733AAC5813CAA633746B430B1AAF9F997FDAAFD +436844D1A56B8E25A89D2CC4BA6EE7ABD167818FD4F6C747E07B262C99EE2C35 +323F0B471586CA50F54C6381B052B15B0C58C19DEA82C0CA29F00400B727419B +2379979CDCBFA966AD513FA903160C571C3BF1BA239540B11EF2371A3880837C +6D6CA2F374280CFA1586427AE975A2AEC34244874E4D441DBAC6CD1828841C91 +069AA87FAE849C5DC7C9EC1B9876E59F3CCDF8BB23D939F5348D7486934BFB02 +CC5A22541ED352616830A510DE7732E5D8F7E785BBD31C2BC9D348CE5632654D +2C1740F89D57FB2AA1FD8FA3304EA03F757BB8F498ED98E48485722E78D97B12 +A05F3A28438084D1CF90AC4C3FFCD7B3365941C45E1E02CB13CA1E99F7FA1D00 +1C9D489D5C95F019AB4CE89FA3B6604473DBD2CE8E278969E0A0FCBCE68C23F6 +9381882443D3FC16966555FC222F3FC4B1207522201AB7A15A7A6F22CDC9D392 +360BF4C95DAD35770E0AC7E5EFF015F2C74ED7391F40EC94B8D1C163B5DEE5B3 +911A20C2625AD3B24BD94D2A42405E655DA47D3F94F882CA2F479437B4E0BE71 +8AFA4482C6FB270F8D05B4599A01403DAAA90C01DF3AA7C2BC7E66AB6AA833AD +FB6E5EE13E45CC7CE7E200FBFE639F9CFFF5D08512C02764997FD28368969BFB +0876F236EF6189BE73AD827332DF1B2EADEAC0ED3B939CE5BC3CEC78975FC636 +44FCBC2CCF4396AC7343EC62E0E4F3DFFA2B880BF31D93ADFE201BE9CCEC8BA5 +0B9B919E05B851E0909968DA259EECC6AA0743F25247978CC09C28C4F878E29A +5070E4023BCE95FE0ACCCC01D0EE219FA8344E8F6D7D4347563BF8AC030B9097 +41F24D4BC9494915A82EE9FD37FBB6A46BF077B728FB569B1258CEA5F51F36BE +4F4D0F890D782E44748CA3FE8C8A515998371D9C7D2311F192B4B7E7C68FC6EE +3F7136714C282A2570FE591F247A08319CE9EF1E43274E4E57166E31A2ECA506 +85350DA31AA4C33C9687F5210BA225EA1007C444FBFA2126769767E47A967884 +9F68589E4BAA9ED32A7A466DE35554C132810C68ABDAE536D9D884352F28EA02 +8A555D2CE11F30598F44A65E2D86B43ECCBDEED9E4E5B5B7DCDA20EAA09D9FF7 +422FC91F2201431A9E8FC624FF44D26C0100183D77BC7E6B1A6CFBD3FA8BABC1 +AE4CB0FD382E26BE0A83169B46D91429DCB746A0326243E212F802AF6A56C709 +6E70C6C7CE7014AE937686E11622D5EDA1906A9BBFA359FFD53199E2E99D6A32 +FF6D53076BCA828F8F0F312F9E68D51F64C2D9355174AC7B29EDDFD33475FBC1 +4140531F5272D645DD03CE9A7BA88674E0C531579494BC12F1E952ADBCFD8450 +318099A104353C8F2C45186B8B4FE789C953D788099A872B16D6D8F774BE3F43 +FA6BA70F4ED9AD065C03A51CD354FD0261200EFB1AC5FC2FF76E6C081BC24E38 +C36CAE9349D58311F7EABD5BF9BDD6F709533C9706D9ECFAE28C5A3BAE16A82F +64A29C7CE76BED0B3DC8F374BF49EC60822D054B83A068D7CAEDD3B800BA9158 +394678023119A22726BA1024180F40C68BDA8A1DEF6290E36B489BE25B6A5E58 +8BDA343FEDC153CA0A7EE03B1466E05A138AA671A035A21517C00A0CA33EFF02 +CF147958C3C5ADEF34843F640817AB8145B175532F06C0BE488BE836608F32FF +24CFA9DE22E984FCBE141347D1B6768B5E358855EE7025836FAA01D50CBB9BD3 +0BB97B930EA9140FD4697BD9FA55C5109637D7DB9B862CA0A17D488922479EFA +F39A2C002F7D6D9702EBFC7E53E1784FEB625180D1C33A9B08C37F32CEF1916D +6DDCF6804641A21D12593E9A645F2923B4C6560B5CB7CDF32335E8164AEC6BFB +674DC6747B6E8AC222D3124D0F30C79537399D9DCC8C962BACC2A78072A4EDF3 +A5B1215C080739E84022D99CBE102580EA04E567C51772A9CEF2F78B9B4D7D7F +5965D4BF63EE484598B1553421BC2B49D9735EDA41DBE14E0C10896B5FFFD5E9 +A3CE0DCD36CED44CF03E18326635501375791F59865D71FED61A19CF83C78A1C +284CBD767EB5551B26B6B056991EE56105B86286CDC7DFFFCB0BC5C9826DD85A +6B380481BA3AEAF84F5DA006172D96782AB12046C7B2D3C055011B0EDF6EE9D0 +0BAB36318585C0A0F22C4B5B60C423D632AAAC93FB16CAD2731FE048E28C2E75 +BAAAFEC6D53DF682BD7DF37C040266C95E789382461E841C0BC31C51D4C9F5DD +FC0170B4E46646974AB7E37E82D3827D7EE4C8B6E63A5A21D10D089F8A5E33EB +56957346200BE141650A17A79613B65505D9E8D18CD42104525A43F38E7EEDBC +8CB8E9CF21DA5A2F723FC56B90803319AE0BBEC082E65F4E8DEBBC5EB251443F +48E74DE626B8FC474E80A4B971D94040416BB8E3B437172F6C4A1BC84483E679 +7CB5127CB12B79662D1D196D9FFB84AC484B16BE9C560F334A31F07C50F223EF +D1816886CE184C93FBBE3749614F022E7E8C5C44299E2E4B78CCCD78D9628BA0 +01D58BC0D7438E8ED22A50482324C67557BB15B86AFF6C58D6FA1DB517D15E6E +C27DA3ED29FFCFAE0F1B8EFF85A83B63645851D187CC96B428501C83901284B4 +B03D82A2AE0B7F46CDDB6493E908 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTI10 +%!PS-AdobeFont-1.0: CMTI10 003.002 +%%Title: CMTI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup +/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTI10 def +/FontBBox {-35 -250 1124 750 }readonly def +/UniqueID 5000828 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI10.) readonly def +/FullName (CMTI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 58 /colon put +dup 65 /A put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 71 /G put +dup 72 /H put +dup 74 /J put +dup 76 /L put +dup 77 /M put +dup 80 /P put +dup 83 /S put +dup 84 /T put +dup 86 /V put +dup 88 /X put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 122 /z put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E +2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A +EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD +8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF +CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2 +7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC +32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09 +482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF +118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381 +1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC +C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA +8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4 +61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20 +C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504 +3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70 +9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A +D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0 +125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8 +34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A +30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9 +39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49 +9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184 +2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF +0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348 +3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D +9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757 +802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28 +FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0 +98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9 +5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF +AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD +A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93 +5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815 +DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37 +4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC +8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B +A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362 +E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F +42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96 +3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59 +A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F +7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4 +49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428 +D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C +0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955 +CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485 +1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB +8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388 +6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468 +83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29 +60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284 +42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2 +1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A +21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA +206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9 +D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7 +7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B +55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4 +6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762 +4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392 +871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E +9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645 +DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5 +41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8 +2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F +220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001 +A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D +981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F +337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8 +139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B +1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC +100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A +1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905 +F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB +72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7 +A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D +310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928 +7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989 +1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2 +8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33 +80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610 +3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C +C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996 +4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB +865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B +301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48 +3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9 +1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B +E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29 +0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0 +30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E +2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0 +C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89 +14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A +44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC +CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654 +DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34 +9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87 +4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3 +2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676 +21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26 +47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4 +F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9 +D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F +03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5 +886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8 +352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD +9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0 +9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3 +92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F +821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93 +3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0 +47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0 +F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B +9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1 +AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71 +C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978 +B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED +D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD +F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E +81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038 +970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C +6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7 +97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668 +A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE +AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594 +971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96 +514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7 +8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C +392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170 +3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F +464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE +C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E +F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053 +911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6 +261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED +D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA +147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D +C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516 +C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB +61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD +FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3 +F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C +2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C +7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193 +11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C +9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66 +C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3 +1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692 +5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5 +6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0 +EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E +F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23 +AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D +8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94 +376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6 +B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B +02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56 +4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF +9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD +751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198 +3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A +40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962 +2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360 +D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A +0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E +8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946 +AFFD0B2B724EF0F28393F2034B2E69DA5061426805353EB4D80E20739BC4C510 +6C45275B8261DCBA10DE1D104B12F46ACD230977EE7D7D1D35D2814139E38C4B +CA6937CCFA653349B1EF64A98457F7B4B5D8F2978F16ECCEF7054905863AA46E +DD524CB33459220C71E9EFA7845A3A760A507B3D3ABC525B35930B613710A13D +098832C58EBBC8B0CA6AD516E6385792C59220331D0922A1F6F838A8DE13C337 +900462F952EABBDC2EB1FBF94A66186C177501453CD3FE3582073DD86F04406B +41B6AEB440DA475E13240445D46726A6D45185D56BAB8807CEC8A8F7CE1AD149 +7CE2E1BB5DE4E5B9592241DD136479A65905FD0062C91DFF7349874BFEA5D9EA +2F610ADB9AE7757B2307A1BB9D6797D9F9C4844A59841C7C7682105E23A374BC +A91885E7410F56F60C29AB8B417E2D6092F8BB70A2DD5DEDD4BA1077D7CC62FD +EA43428C6F79C332342E15F75B08A1ED360CD1885730E570A3252A5ECC419A7F +D124C3FB3A7D58C0EF6AC117F50D7D4B6CD852200A1F3193BE101CBEF414F60F +85935BDBDD23254648DEA12B95871AC8F859AD8C9315B258E525FA7BB0DD294D +497646805C3CFC1CFC72C17EED56FC5E7A5FA54691474DEA0C85DD18ECD59923 +619117DC6AF37242576C4E9A56BFF2D3E717DFA750607BA2BE87050F8AE8EA72 +8056655F9D9DA1ADBCB07A6697F6664AC6B6C1F5650255776305892A6E3D986E +10A3F76B65763C33A249C23C8616B866CC56D8440C501D46E821750FAFBA1CF3 +06101C7D563C43EFE7A7AD8D402F232034B7BCEDA9C49AB562DC60CEFA521711 +DB3D81E0400F776034AA7370C867BDF8F8CBE2F2E59D2099F8627118EFD202D3 +51B7AC1FC6D959ED360AB4E5ECB4966369BA85B6E7733A5C7123CD2519845706 +4B684F1C65D278FBCD01A64C1B5BDD5798313CA7CC3A03996EF52A5BAEC94596 +23B4C55EFBEBAABF72DB85657F4A3558D4585AD1918E86DAACB863EB75D64BD6 +3E250047E910F5587847B9B4F6BC4385D22750F78FA3820035607BDBC19C7399 +F90508F5CCF259DA67858F9393AF9AA5E6146E1D4AB77FAC6E459BE47B063969 +2D917CDB0ADD125F3A0304E0F0C548E655D710716E4EC8CB12CE2480A578CF4D +587A5A99FBD5CB140E02C5A8CE9D45B1684E027CF555018F19EF54D4F396354A +0C5947E6EF09484E90BBB69AC4EA851AF4CB1A21CA5F8E2827D8264E60CC2552 +CFD63851BAE8AE22D898791E61F4413C9E8BF423A7FF763A522C2B09390C49F6 +2F8B36645A69B98423568E1552BFD1EBDB58DBFF344861E2698B1C135A260DE5 +DC01B8DEAF7032621F182F4ECDED721EE3D52D788FB2660AC0BA836E8B1EA4F1 +BFB084AE9319C95757E75F3409FF6CC8F3C38638084F8F4F7DA8B4AEEED926F9 +AD4A5C73718F38A4E67E61CD7A1713DE7AD5B63F4EACCC6AEF54FEF08241C7BD +89A71C7BF2452D08237C9FE7CED57497ABE74CC2EFA73D24651664E84B70E8B9 +448623CC127B35E5059CAF489C0CBAAAF805CD6674F203D970007F1A62D3E0B2 +7A0888C8EA6B4AF189795949E34D4359CD47A000608F799114BE5D36359D0F97 +8C665E166A285BB1029C6853A6DC3A6C6AAD5F0697927274A732813A49A473ED +B7E9886B6C4560568436BEC798D8B94F20FFB2A908AA804476C08F8FE0254E68 +1F0CCE78EEB58EA771DEC96F0153A4B585F0E465A2C55ECF22164E79EFC2A040 +E0647B89B4A6A5B3FE75B39D7C066CF11011B2BC6AE827ECEBB6A6E99C87A951 +D3658A9707D2028B65F301BC2041A3F790F0741FAFAFC16B5784DBEA3DFBFFAD +49320408E4FFD670D95593EF9FD51E984ECE98C8CAE1F50A8D81F244A01498B5 +9AAD06E09E5A280A5F53D196FB76D93C37CDD6BD8ABA9FE7F42F5F8E26AD159C +4CBFC016A8E8935759B3E70DDC7EF0A7E7CFA5D2269D26E0CEE3DB6BE787B23D +6F840128258051B5EB1CC83ACB31F9A293F7EAF250529649B5CC4CBD69AAE236 +13FAA8BA742F31CFC6E0089A7EFB20623EE18E7C0A33D2656BAE651C7D651DD3 +6643371D0BA88CD831C86F56A0476B5B0CF69FBC720E340D425C754A3109BD37 +3F96A118648B554FA9BD0A2A3286810DC3C39010D2DC807B6AA2AA2BBE061107 +45FF3797354A328198BD448FDFA6E376B9FE4D21FE10DE7B57D14723DFE76155 +E2595D792A2E708B3D604BEEE8EEB4559FB8C601D6EA3EA349E4FFB2B85AF6CF +8B4790CFB7FDF9B65CDA0FA82E2267E5CD7ACFD4E19E7C128296EF19173A9A35 +B38BED1C800321AFB52A8F671170296B6E0B54BCA3D4C8460D1FA83F9E61A9D4 +3ECA9E71EFA883E06051FC0C11F538B97D63BE124399D38B9738FCCF2F0499A3 +4F8D4D762DCD89884CE1062912E8AD848E4108FB2433277F016CCBFB28E29D4A +C9C3874EC99BE36A898B6F1146E94E12FD1AFFBA0E53EF0F9E86F40F5EDBE7A7 +F4B97FAD6071EFA7C3A4BB8F77F1FE9735016866A633FDDA87CB58465340BA1A +4565448235FB9FC5F0899F35347A869977B8783036075B9C4B3E85406C39C498 +805EB559A892FF79B2159B7DBB1FB84553E4D1682DDEAE1940C3C7D0DE4FC779 +BEDB3C7BCA6250AC38C32119C7F38043C375AA302C8694BD07D529408F2E3CE4 +900CA5A77250574956271C55A3449B3CB69F254A482758FAECE0039E8B34158B +BDA6AFA4091B756E644A1369BDAA7110714055E1297EFA2B91017EC27FEE9184 +A6712CD61F0DD2529A46F9DD8BF00377ED28EA5C3341B24D230E2BB4A8AA530A +DF81B05CCA14A06458995D08774E73841AC0220C19FA1F34BEBDCFC359D02EC5 +FA8010FB91C552F7D8EBC630DB0A764D17F53BEB261020CF7E486339C35DC48D +F0021E370C7685CA1EE41C6CF6F6618C375D1EC39DE1331B33F2A2FCE889E3DA +0297736F5F76109AEEA94679DBE6A521F12843995FDB7358AA398E37BF984F6F +C62DF2BA81CE1120746DEC8261339097B484186009E57257B5A5775BD73C2D9E +AADD0D24164AC3041214A074215C9A7D4AA6104F4356EB853D1E1F9B3BB78857 +FABC652777EBA5643E81099DA63D302CBC70FD61E73E1D05EB3BABD5D246C2F9 +B58B468EE0216F888FD466C3A99AFA4BC71A9212AFCA8781A6C75F756D44FDE3 +A7B94EF1AF05B367C859A75E274AF29F31F13113A7FF040D0EAB1B05A394388F +0DF7BBC708F4D6DB1321B137B91E7946533B9234C140AACE067555E6C41BA641 +FC23579A876728E65D3D343532E103F6BF81C204BBA4CA6ED94DD3C77E8DBEA4 +999E9C98ABE6F78D24C408013C34A41C6594A485467AB62779968B109712C158 +6BFB40E80A4527A835270E4813AD3061C13A9DB687EBCBB6455D9F3F4D029778 +26D531CAEB3C87232F124942C190FA045F96E55F56D253A6CE66A9A7E2F45FB1 +4F61C786EB15A5F0DEC6CA2938145590D43AB8319C17D88FB3606F254CB99629 +125A47F209E4A813563093FC9FAC98C06800DE19DAE4468D8E32B255BF81A2C9 +3319635FBC5DDC406A2A26374EC9FAB1A85CA1B71B32C796715384A2ED84FDBB +7D6CABC8DE74E22886E0D760FDA261625C375518BB6E8F344C16A937199B4336 +054BD8261786B4C0BAB6DC42BA522F395A6535C24BC07A79DB87D96967BE0679 +F14442713C8CE3D97502B9AE6B089595B20A676DF38791AD840E082593B64961 +7DE2B093BDF6C5A0B18B5B77432FFC9570EA8A226D20411F8CC620932F80E73F +6735BA3036121B413C877DDB2490EC029C1CDF90304DD6765B53537BB1D6E1EA +489A9C9A721C6DE7930D399AD9B4BE725AC6EA084CA26D9B1A07F2AD6DAE550D +A8A10A9BEA10C658B2ED3BEA1F1F8B5F17E0E16BE076FDD5BBC9D27F6D4795A9 +99FE84619AF8755DF619F1CE8262A3B55B5A6EE130D17B9316301952B83A77C1 +1BC76F50A4B57F1C6775DF18BEA12589D74B5242EA71B63C15A5A706C3046857 +732CAB3BF6D724805F983F9744E56D314CFDF621C677E3B344FCF586BD3E4058 +9A8A2C2926D80F2B8A108E24A23A3B0E5025C0D14F016B912C5E14432E28F42B +634971E9F55B6F278DC824FFBB724EE407D4F91EC0E2B5966FABA144EFDFC50B +662F6A87B85B593908A49BCF9839B942391C696038A9EB94F6624508E326C879 +FA95B21243E8FC9171965AA3F8EA2D1AEA9131A82F84CD0FE101C64A4C15D8C3 +BC7233C05E6F17C18027BCF63E221F93670E86D4D19C864DCB11795CE56004DE +F553165BC6EE3758754FD6340B438F09BF83210309E4BA5FE39DD4C9D838F7FB +51513A9A20A39284AEF3FBA27F69C34A816CF49512B9E3784450CC8828DA0448 +734EB51757D6EF29B283256B6C5040132617A04F8D3EB6E5D28AD5D7030410DC +F580FAD6BF8342B451171CE11EE957E80FDB15F99E20771800A9723BC08DC68A +33D3460FF0CBE11D922E2990D4A12918A9FF772F12A661D4E625DFDE967F2C27 +71881BF2DB5C39F9D295EAD909271CD42298DC8449E9CD22E0512C5D47E228A3 +6C61434F35B3D4E5795E45D682E9997C445432F1170F99E984E959C378502902 +509E5571CEB74F713CA254213FA07B57B172A5BAA187C49A23BA37B5785E0A3D +18549E42ACD3FB78E52D81E2B7C912335707709A91A70BB69288D3B4D8275F7A +68E01CDF69F254D38282C6573142D3705A9B4BDACF1708E651B86EA13EFDD4FB +0AEA244D1E0BE67536B955FB1589D7C42FA139DC501A366A4EE19F55F1BA25FE +55ED75C5A1644D965090CEFE49B6AFBD4F0A27C16B86A8BA4D5F74C0CC3CDB14 +AAEF18B57E86D1E3DD3D1023CF4DE3127DC03791A7DD346B8431D9E46922444F +D4AAB73BA9560422BA4E3FF2269C678014F9DD9E817CB2558296C54D4E43BAB0 +02C2BDE7DA7AAD96E1BDE77915BCD6A0619456BE1F3ADCEDDC5A2EBC8E86FD0E +65B83A7B6CB9C276599EAC5E4D7A854C37E294D71A2772FE6597F92C1DAF61A9 +B04B7231E9647C2C0D1DFE42BFE518BB12F7E58B34845AE1A408550E02E93F96 +57AACD8253D1BC3056E958EF733EA8A1500582C489515498D79A10ABB26AE7BC +6E420F37014FF8A215391470CD375785389531F89C8924815E83FCD595E93DA4 +026711BE961EC5E9C491695305036EB817A5C71AB54A09FC66C19ACE81A7A8A2 +4C4269BA4162CFFD3FDE77E180891CB83AFD0A37E706F204F5A64EBBDAD5ADB4 +762225F03D13289DB062EFE9044D4ADE085572A05F3515478F9CB79E57543FCA +03B5DAE1968A51FEF29DB43E587C8A97BD20B1C179EA8088DCC6DB4CE9177C5E +21CDD854651CF7066C9A93B24326C4289ADD3632580212675BBDC45B02A90780 +DBA1A0FAE053342DF1D7C22D1B7A687190AA01ED100BF02AD5F8D2C42460CB79 +6A2651CDCFCB23EF42487F5EF14D2864BCA9515CB12E9AEE4F63234D54849E4F +F6FACA107793051DF8C462DDE532F6D1A99B3A645650819E8DDFFA80EA42040E +B1413564585246569B0C00B3BBAC783C03F7ABED1E74B02128CEA181B012CDEA +8CFE2F345378C621D5A1F8A63BD33BA8293CE6485CD527B6C0A4B780C5D099D3 +CC39602044C9796CF5902462448744E5D54EA7B6E909632BF705686CB7E5FE0A +A1DCC442884641B3509F3E56F64EBFF76D36DD306183663CFD49EB28A8F1F069 +BA72DC0FD16916069459CE227356A27645CB3EAEC4B588575EA119CB218D283A +FE0105D225F068F1C66F80ACCA5094DE78749F207EBFDC1463A65E204263C2FE +050322D7F9AE094F71A67DB8F5BF07644BE345E198593EAE1BBB5A4D7FE11F58 +B06A044BB41A9E8BFCD3543522B9B1D0E03AE79A8D33AC8E28AFA9136A2B61B5 +5619E3E73CDB4B13B6D388E8BA2877A56B9FF02ED34F264EB1A9D4CE7A97F6B1 +A0996A2435F5B92AE607F2ABA1C68F3EE2A6C98F34DA3FAACA80007D44AC79FE +E60EF6487982472FCD3D8A0DF86CCA1ADDE74421938CAEE9F9474B467E7E76B3 +F2B9FF26FAB4609C0A614BBA0679227235F7A621B8427EEA68BCFA80E75BF9F8 +9EA044D4C19B5E00CEA05A4ED4807E3D1107721F0B76E22CCBFBB8E09A5A3A1C +0B3B33EED6ABEF799A54877DAEEAB96E52D783412C9DFCAD06ADD8A48C83C4D4 +6DC564DA74C6F87EC23AED10EAFDFBDBEFD26ECC5E4D92A82A129454145ED232 +87CB424066C5C55B471F08F5A5E57396396CB5232DFD5BD454FFDB308983D067 +3BECDC906F7973138FB17751AB5F9D5F7E689DF1AFB743FEBA024A67237E77C6 +18F3BEFBDAF161D30C347052E630A4656BBC360B579CD2B4F5501D470CFAC9DC +3B12F53641A19D4B530807BB269B23221B3DE8D2E18FBBBAB2119AFD6296C2F5 +3B3394207BFE868F91C06CA8F4088EEF73ABDD84D021BEABF522E248E7FC5B35 +E3C22622CEED43DAF8FE442ED25767972139BFB083D2E7873EB131F6A88076A6 +C4F17C1443B49232E7965C1420746CCA0FD0602E6658D1B4FF757B0AA23F10F7 +5AFE028C9A0C9BE5226868B94E1476768903FBE2D43CD2D4E19EE4344F944BEB +BE20D5795B9F5D7584D901D417841630D6557653DDDFB8FBF78520E0376ABA39 +E58CB88203895757F780CFFC7EBF6BFDDCFD4DAA5CD6EBF6DCB58CDF40083CD7 +20907634AFC147DF647B45F44B795B0B0E06C860A0C31127CE10697A0AC86A5F +7077D912CC18A3A2A665DED95CA6B9FD745B196C74B7A4830C01339B94ED4573 +73A6D0CAD03F0358CEABB488EAD794C2E357988FFD462BAA16BFA8529162FD79 +F0588055D0724457510444B4DAA783E239437D64B1B1DC92D69D72CB5CDFE50A +787F24C27F9BDEFF5FD8424249D73BD2566CF943D47BA546113E0F5AE92B6780 +196C7348AE4EEB3F8D64EF2EFE8788BD3B5AB46EAC96E91FD44AD157E769A7EB +0E1B9BF5317E2673C65ECF5A9DE1B55E604408BA9B036065C1A4055052D0BA83 +D1766ECCC63DAACC748DEF44D8E47FFBBA88B2CB6A98B054CB0086F4B9D07C83 +8B0D83ADCA9163BE3A629F465BCA28C346DD62F1E9A952D68E1737C4B1286ABB +C4BD7D689C9114ABC77721C283FD4B7713091CE8A702C1E4715DBC415701EC58 +9905A3CDACE7D48AFD3F70A7C978D38B416E09B52FDA31536148DD5BB453DE74 +5AAA658FB7B3B63E9BCB2022F3B534D2948BD7D2E3A4E81CA53DEF75ABA7E72D +3E46DB7101E6A5B064AFDFC4E3383A00743660CD8274731EB69DB706CF210A25 +24ACA3A3566F1E1A364A01880429CAC9DFF163BA53C8A7E53BB4EBEFA92DCAB4 +025E045F99F3A11945DDE2E13197AFD2ADE14368C31B04ECD90E1B9D67C986B7 +B3C84FA62A2E0530DE62C11C430F5CCDA53017DCA126708E96B56EA7B5D4B756 +7B6A9399B1A1E6FD6E80E34116100C9F28DAE7DDC60F895FCEDD77A13A2EB039 +430C821A7A323C4D31B4CBB98AEE6AD360DF3262DCA18CF160A02C3F66B2C780 +0FA590150C32B06A6C2BC7FD74C4EC59B847A2458EE657899E8DC25B5EAAF2E3 +C4AC110CAC0F86F415A2724CC1732F953C5EC34748FFA71818E04FEAEDCEEB7F +5BBFC8AF78872A3B88D67AF648B7FAE65D2E8C1F48530D4F45FFB8EEE05616DB +D8C9277E5949A44D523F9DFFBCCA2BA2ED127FEDDC4387DD07C095D8D7C56A4C +F54F47686577C9BC940C03F9CA40BF7FBEC3A07C4DD7D59FDE710F842558E956 +53A126F804600B02F791494E9841BC66165C248298CD8CEE158BBD041FDA7DB3 +5257AC3DC36AB75EA41204E7BD8420C6FEAA25FC7A02F7453978D54ECBF075B2 +B02121F5498550F38A136738F52D4A3003C016DC473C9535109EA2D0DE2F2E73 +8FC026423A19799DD8268EFF6A8264C2D94DD6916B535A20A0312A791E0F5ABD +639AC6ACC68549BE25FE23D60A8604A1C27E4E1863FB181A7762FB4CFA551243 +A25F3AA7AE9BA25C52F429A8243CE9EC7D7D947EE021C9E6D603DA1010737D4A +E2F522E930C959C677CD54E40ECE0D20D2983B093388E03DCD3EC64E34BDFDCB +713E3105B0EEF3BE68235BF5DF5C661822370BD7614B44D4DAC1C79170002F7A +F590235E0887F14814A823F9C62FBEE9C8F309978EB7D7D55573B4FB7EE065AF +F7A01601DF410D561476074663B4EA05CE82C48A930F28883221678112DAFCE7 +D2A460E83470C5B52B7CB1C43D42524A71835A1B896298D6D9A804F2F23DB32F +2C7D11F33185A48CFDCB7B33EDC4DE4D756CBFA836A82766A45E84CE57F6DC5A +EB1BC7925907B6095990430EC859CAFB7AF58044CF477C7974DDE6B1291B035C +FF266F85BF4E5F1A49933577AAC49325288B76AC0A217FF9550B2203E6FE58E6 +22425ED2972E85F471EB2F5BCA2C9DD2BEE48F4E87573E975D0481806F0C7EDC +9918E853936EF95C7B75B2AA3C15C973E8963620454690CEEA1EC9E594117E18 +B02D8BD96D84769E5376AF79B42C7150B7688EDFD23441C608C41DED89E3047B +F2E01057EA248B4128D68E6FD249DB020ACEFD1E0FEAD6773115B434FA558BBE +F71C2FE0FF0ACB9852424A4EBD0C43745A682A280E37E7A07BBFD3A941036C55 +5D97488F4D5E63BF6A4A470AC6FCF0DDBDCB00972D846A5CAE0AAB5EA2B783D6 +14F2F300A5620CB83DF801D8356B562446DB8BB6699056B185743E9E768A8D09 +6B2B821E5F32C830026EFE9419F03FA4A2B31B77DBB3E74FAD7C77E4FB1FD68B +4712443FA811A9CEA5D1AC300100EEACEF7750876636221936F413639502A88C +A52E9EA9E0F33D83156612B013DB6E3C71D9E1AB0582F4BD8A6D8A94EF11277E +524B3CC801EC26DB420811C731D49A66156CF39BB5E5CF30CF0373E51A3B69B7 +9F1FB412F6EC1280FC57A52E87DE96281AB1EABD636AC75EFE55FC64A8B91849 +4A48C1088E3360CC56A61DEF22A66477C0F44E1851EE82175C9FB721897358D3 +A1AD64ADC31A76A5634E196341F9314FB2FCF7A4DEA54BB36C62A21BF29FE0A0 +23A323E26E9174B66E8614FA1153C0AA2065E668385C286F57FBB4202D80436C +03FD0B5470932993E1667246411452906E493DDB7916DB951A394AC1515164B0 +98C66CA4C0539693F105E9DCFA967B25EF37E1F48FA279C2FD35FDB114F6AD14 +3C9C6AFD105AA057B014706BD9319F651007D3DD5E3D581FD11E5AC21439F463 +357D19ABE0319FC38C3971132AB73165A372109C15E1316149C2D755D90F3F38 +78E7EA7BD86A0E18BD02294B5F4536676F93C58A259860E294AD8978F767C3FB +0A8C58F0335F987D2797045263F97E578DB42F9BB097C161845D347AE7D3D409 +3341BEA7EDD164EB05BEE9CCEC1E48060A3BE275C80EB84555171CE4D0B21207 +35462F56926D0F713DD1B70C6DA78B14E4D11F94E5BA9BC78D4C6B4701CD5A4D +F7A2C28E150749F0C7BD2D57664AB5C53157604ACA4772C09D6C7554FF07C966 +B61B01187A2AE412D610BC2F701E3723A5D12B11CD0E51B099E3E28EE8743427 +EB69A02A28E3F6C40166736C881E2CD9A04B001ABCBC4DAB7A5E97D3F0D2B2F0 +491A275181FF36C9A594E3494658CFB73C0375B8A3ECBF74587B87C00949C82A +AF6055DAAA1EB9B07B0E3F71B40986427EB8A909BFF873901997E5C12A96E9B5 +215F8986F9B03445E9030977B4B9487E6361316052EC1D57E37E526F499DD71E +20426A962873A6DA473E2D8337C2813C1F87F27E9AA111F3DCB04D2153D66D76 +32947C4AB3AFEA2EB65A92BBAC6712AA9D7ED46A24C3E055CCA25E60EFC48448 +D538878214E4A4648B6EFFFAE1D5D7810BA33446DE287FF9A53FCEC88DEEE5C3 +BD0990235C00751A34972F975CDA90BDF2AC52A0B3CDD2C37938867BDF8A5350 +6DBE540292703C94BB9CC1993F42B36519C1BF1C1563316F5BB2AF262864ED0A +D960F09063B9624470BE8B5AD941C8136A40C45C7FC3647D0D0F249AFB388FB2 +5BE4C1B059B2F2D1486132F54961B35CE68D573660954D2CE0CE474B3A8511BC +88FDF2A7A5B6D42660AA24162D2FA941710B28DB5FE3A1376D1C17DB755BA9DD +9E8D7E413A6D91DDF79D561E6E24E177C839AE7AF67F7232E62C3375AABC386E +F252BD09ABE7BA2C8864A57BEE210D918C837A22956CE01E2A1C6D8D36ED0B89 +7D4F5BB00875BF86F08C567090B97274D1717E6430EAAE04D112A68E690168BA +7FC64082D54953AF035B8EFDB9CE79DB23FE8EA4642CD007E5139BC8A33A80DE +A343FD7D30C4E414404FE4B6C67F439CF59D16C7AFA784F05EF8854B1FA799D2 +3B6D60555E8C545ED1A87FB0EDA768B1BA8419B714C4D98A29E097018749375D +927F89639DB3A683A5667E055DB80952EC1CECF2379F7D4E474781CA6A777004 +63D59E1203C15F36176C31FB37E26D7E3EA807960DF37739382EB296E6C86F47 +2FE36705EE49206FC73CE0B50413477C40EA6A32BAEAFAF6B48BB787687296E3 +3B76915020E7011AA5EC9998DF03DDC10442962B74D79E835DF035B845262F1C +BCFB70A0EF1ACD339C730061DF2F71428CCEC7FDDB79288A01612E8C312D6420 +92A6A46FB050B3027F3FF9FC13AF63577BBF35DED932AAAE1868797CD0DD40B8 +5C16142A7844E48B19E712255346809F59B5FFAFB4EAB7CCEED49AE0B8044533 +F1F142817766F2911130D256185975FF7A4D858B88216B8C6095DA7B64423004 +216F59E7E79890085589A5FBC37B152446B39AF9719EF5F0A612C9B6EC79B3C5 +E4CF1B40508F110BD8344E9AFF2626E116BF091DFB3A353CC902DC90431E6580 +0A05B75D0D1FE391966857000AECFE3CD96695EA9A59F1F98F5DE734C394F4F4 +7BCE2F6E68BB3E7BDDC11FF45B2002903F90C4F3D9A64D8075D382619E92330B +F2FE55CD9E2BCDAD1BD0E4421C4E14D230BC46843CFCF29D97D909E54D62637B +C102EE4781B5EB9D6E694ECA3E42A74401BFECA5C2F9EFCE6420450988D42581 +BED9703DCDCDD050BBB8E3394EFC87E649C7F4CDFFCD94876173B0C3EB2BC5CD +3AB10147EB82D3164893FDB8A35E27BE272BF6E426EC25C3371FF4149E399028 +978DA21E99ADC25E40B9CD12D68828D03E21D8F63B32F36A0AFD0DC21EC682C6 +FFD4C6B3738D6ADBF6893A961E83A530E7761AF49EBC1B2A358CCB577C0DBF75 +96DA1916EEDFAC8EA137929981D4B81099BA2395F1373651FC5E2BEEC4CF08BA +EA34C68529F8386D97CDD918D5178A45BB841BF4D57D879D4BBA7EEF70EB14BB +EAFE293B945C61768C5C7EB17E3D594276CEA68B8B932CA4A5B72D55E9F18337 +B5F80C8AC59882263F4422EEC92967B04693531730E2451DF1163AF1C42706B1 +DD2DFEA4661C172EF86C4F7C236C17D95BCFD45FB25A9C7E7932438CCC503D16 +CAB681713977520E91314D0BB8904FEDA54E01AAD18A5F1D702A43C5161C4E30 +70B22FD17A53B6A297ED907BC5FAFBAA36215CE008C5027A36E8EF6AD667ECC2 +6A1683ED002E4FB3530CB75005CFCB46701938F284F089219C943488BBF00A2B +F05FDB494FE62B148819E66B75C1EABB74AA6705E1945418FE8CDAFE3F59B645 +D0E98C428AE93F4E45795E626F81748116C72DF6DB8EDD1B7DA92033B039E26A +97FB8568F275F6737D816BFC63FB6CE5DF8039DCC6360A11DD06E62653D4FBDD +032BCEDFA5825D6E1A56A7C2BECC61F58E20F52F494326DAD8B2B179D8978C43 +7F4BF0BB357BBB26E8F0A953FAB4436939D14C35EBBB8F9ABBF4820BF4324C63 +8538C96895275CF2ED860038E557364668FB8C80D9034F5AB899EF3F4EBDE4DC +423AA848FDB8A0AEB45F341332D498CF55B8211B0C5A619D404170359DE5F86B +58474D3C6B39D386998BBC79CEC93F03CB7891E0084300ADF09ECEEABABC7CDC +22FF542616DE3838846581C6C80C2D97077818FFBE9DBE8C8449CD13C8D2D5BC +6FD512842E7B222149430262375A6CD4B64BD1A6C9DD16D975B4A5F1B3503B8F +45A39DF05BCFC8154C598243CF2B0E90592C282ADB302F05363E1C7C51ED7EA1 +450F8668971783E264669E8B065A61C0465EFFD3242EBA21510955BE5F568F02 +5D1428EC09E2F968BEF94653286A57FB5F58A554966C9C836D2AF9213B58D8CC +55DF670095A0251AF7775474444AA1D91931A93FB982344DAC682E224C2C07E5 +A5F227FEE5CCD29E0F9543A015F59DF9B073A02ED3A74A1FD778B69646725921 +58D869666A6FB56291DCF7F06883719AF533D24527A2D09BA97085B5B0CDA0B1 +3CEE738065F0E631322077CBDF71C9E0579BD83D24A39DFE11502AF427398B9E +B1660885032D54A948380D7D386CD865BE5C516810EE38B6B5120C1AF67DAC17 +10D46A7AB3C40916F4AEE937DBEB0E763C90A83B7A6053E329E29AF4B98EB2BA +9E16F834880F246F3BCD4F2BB0BA987B48C5C63F59C47F25AD5D02F4C3131BF3 +1F04A860DC3C542BEA6CD7290997E039EF2CE021FDB0729A93D4F431557B076B +C0D85AECDE9DD072698A81E731814DC25110260010C3DD863C87131E461AD28A +9416FDF10EDD1659B982654214F4A579C74CD722D063C9876B970BDDC8E6F63E +1EE938DB99FE260B92E5D2E22429F1D721780E96F4D2EA983B0D9558250B07B7 +47883F7DB2EA31BF6237524DB411127B956AAEB6A714EF245AA31E169E5D0E65 +DD3220A2149594A31ADF9B9CE240795B40B0AF33EB4E48127E6D339D77490233 +4F32351A501880975411A5A4B66B051C6A9441D177D42E07F226482E12989D6F +E152B2AE18A4482CB719E9ADBF39BA4E4ABAA5F4AEE67A8F96446C2743D55541 +48584A86C9A29CA5132D1E6592A1A6B224A753F5353BDDDD771A646A85B455DA +F6D988E5D2C1F9D6F7EF33F85A214B3983160CBC9E94071BB32511AF254E8BCE +901DCAA53A09FF5376CFA072A89E934C7979DEF4A4FF9B7814C51093765BDC81 +18D08EC11C3FB87655EC865C3B3FF76EF215FD68FB542F1C0895851CC8A9B2C6 +CD5383E8A7D4A0CC6BDAE7A814B551ED4E9389F72A436BC0DB5916837EDDC220 +0D59315375CE8EEDB620CE486F642723F25E48797FD11D60FE586F77BE1C84A8 +EDC862CB369236766E85479C518A2F404FFD359EB0DE1ECDA9A7005CC89D6FE1 +6B94513413A5580E1855EECE0EC809D4F3CD521FCA0C87B53A63F853F77EB506 +9BB7C6857ABDF7D41B8BA5C76049BEC762A92785D61C4B4B9B52BC6AE01261B0 +7F490E8908C422C358FB7DFDCA3C90BC90D7382E1FFA4AF066191E780063ED30 +CC310911E601F4439CF9411D510B4D1DD0CD00AF4F037E43460D5318080253A7 +087882B147696917B46DAD2049820AF6544C17CF7B8F959249112EB815A770EE +5A87775CBAF668C014951DC035C88A9ABB6E218250CDA07D4E8634C24C5FF2DA +240CD8F66D2F40FAB0B9343F29F9754B3C05612D93A7FC271D5525C0DF908C27 +CB5283B2F67C56CAA486608F95FC9F003CDB6589B3490485280F62DD2CC4363C +9922A00068458076E0275A79D6BF68936AC01D8686948B5EB9EC085FB4881280 +CB88526981644AB139A28AB5D6F697BE574EC6736A0448F7D2A01DCAFE7EA13E +4445FF1A2916E1D150D8B5647669FDAD2B964AEDD165EDBD80AB1A90B7E68A06 +6E879A384D859D9F39679D2622CB9B3333B23953E6C480420915A7D306FFE547 +EE946D441055117C758A268C3BC5D9426F096479DC10A2A40E0DCA2A26CAC4AB +D25DE153FFBBEDF0192B421F425C5AFECB3E945D1FD89A871BA6BB2B6D6EF927 +14F03EF6F58F08C942FFDA0D5C21C9B4AE8D0BD94F37CDCA045B9D9523C78D34 +CD2200A20FFCF439F46349D1B5758927CDB632BC9FA901EA2DE5753545E29BE5 +255506E9AB64604B45151C4D1C3F9153122386128BF321B9850B8092E5A0C95C +5B76B25978976ABD43276347D3D19BC9D3DDB0942DE5F92FEAD103E8780CB7C2 +14BAAA7046FB844EE91FEA29DDFF649BDBD6A23C27B465D56F3F610EAFA3B6C3 +F7BD500F9B3B469AD136A7D4FC508A96A274162FA66D1226CCD145A32C7ABE53 +360B31FD69EBCA0C1072082D8D81A3E25EDAD691A7EC2A37FD38F0E306BB070E +ED46D391BFE7AA0702D28E7F9A1293844E1F709B1FD2242AC3414165D900601E +0872365C6BEDCF61F914DFBBDED7C20AF382F55F1778E9388A1C59665694F334 +D27DEA2A169BBA820551F5FF4BA34ACE364CEA6D934EC516DB8DAFD57EED2ED0 +3CD8018EF77EF79077CEB7DD82AD806A583DA2E0EFAEF6C1CB48B53A22BAE11B +68FF422F +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSS10 +%!PS-AdobeFont-1.0: CMSS10 003.002 +%%Title: CMSS10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSS10 known{/CMSS10 findfont dup/UniqueID known{dup +/UniqueID get 5000803 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSS10 def +/FontBBox {-61 -250 999 759 }readonly def +/UniqueID 5000803 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS10.) readonly def +/FullName (CMSS10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 45 /hyphen put +dup 53 /five put +dup 80 /P put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 103 /g put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 112 /p put +dup 114 /r put +dup 116 /t put +dup 117 /u put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C4488BB4EB864B48 +63941B9739638D2E6F3CC778582B46AEB4E466D89D1C211225274356A4BC90F3 +274C6AA56E200249B7D0949A3FD4185DCB3E5286910EFD7CA72D5D8E8052C96F +388D12094B87D3705CE64459558CF024667C0FE96CBB32B0BC9E51037D7BD62B +E4B05FF99384E71D78441A79B0B1DBA1CAE02434A9FAE46596FB86B873B1670D +AE0BAF516445A0DDC127F8FF3ADA0B10EC30A9CC1F7E9248828B5E8AB46C3FE4 +154B80A54128A08777F5F9B8C519C7E3B632B3476F007FA156E9F39FBE57638B +4214CD2BA79BA9DDA0F4C073AED814ABCCC2F7906C57A872C00E67FF03AC1200 +29DAB92376422FA21C67CA98BCEB8C431CA2D3EDDC16972F84BF6DB2F705BAB5 +CAB39C82D139FB1304B9E7BF1F6FF447596081D5690B1519E468D6BE49C329C5 +C9C809023EDEB9DCE4A6D52A8049E0CC134E8B41BFC6558CFCAD3D9D2773EA16 +131567AE6231B3235869767A1E7C1FA6C8D6FC1B276CBB1CAD14D376188C9682 +302836A9290E587D4225EB8BB1DBA2C4580A81FACFDA197174FE948CE757C575 +F23070FD84DE121955D7D9307BF986C5E739FFFB6CB76822C341FBD9FC2E3378 +AC9332B40C07D5B8745D74E30F1D719EAFAEDBF5FBC40D0546F69A66072D8A49 +28D2CC2E76B9B1EFD191E0BC7510C2C8761BD92EFCFDAC263342A01398A56D18 +121A591FF5CD4AD8B25699A7897E60BA940336BC17B9EC9F97C2464D031F958A +A3548D0C97C50C580B6EEFD0FE8330EE2BB0D2E7FD1DAE33448953544A4B1C5D +8EB57798D0ED4B22909FEA78ECDBC4D8A124DA05B9999242D68681017285A0C7 +69041C1F79442279FBE328733EA0A6694D68BA89739FDB9297BE0CF1808C07F7 +BBF6F1538DFE084EC8C0EC24D883F6CC08A51DFEA23EE920F44BA55FFF58E960 +C7BEE551FCD2D5814DE7E3F835608073C2CB80EC57100CFD484C837881674E92 +B217F4D11165427DACCC29C129005874C05CDE5FBB2D912368EA2B98C45AEDD8 +8A0D2493F60EF36809C8C6EBBC7856F6656E8D398BCB29DAACD4F7D4300A0B01 +161CEF51195D2C58DDFBCAFC1C03F49304ADF02789889826F1E20BCC14827565 +F2A45CA57DCC61B52E33638A0C6C5A59B145E82B82571DF1806EC40FC0E8634E +A34A791B1325571E19F3AC2EF6FE68A14B0ABEF7EBE0EDA3942E85E5AE967A14 +0C5AEBFF2A36DCA8866700CB7082D2ABE470864C44AEE1F6D180D511304C8674 +D02FAB12A7079ABF96E1CA3CDF9D75532123E87663B1D524265AEF63EB5C2169 +B67A651A101E1C7EDB008D3DB06DB1FC1A81B41B291D6C4A58FB57989FFCA434 +DA84B3914D1D80B17AA3A55A70BBC06C49DD5F7DDD03FEB0055088558FA192A5 +261477899857CF598DB740E82D035E84CF17B33048CFED2DCBEBC2B75CCAEBEA +B6C5AA1C6978FBB36ED98D9047028360ED430A0AA69AC85A8F83825EA649E1B2 +64B260197B06A24A1DD969CEEEE136FB046D713D0630B246BD41CA285F076038 +F7F8431913BB9A3E70311844D4C22AA446E3CA217A9DFD75A898997130269B29 +AD4AB7D9662856E677FB2DAED7078639CF31C6E6637C74DE2B5D0ACB88BD61F3 +CE3C5D56D3D4B3EC1ACB33EACBE05E53A133EBFE93CE6A0CBC8F24BDC5B31BBF +5B3E55D6B40B1CED389076014667E28BBBD60145A06BDECEE8011A2C6F06D091 +73767A8045CEF2A110B614149FEE783A2351FB2938A9F73CA406538EAD82ACC5 +A3DFD3DE00221E1B4EA977AF8C89661357FF7D2F1FCEAD6CFC9D6AD81F95100D +EA1F328249AD84AE849220E6593D45015B4D7C9527F3063E9F6DB6E572092A1F +1F460696227D5F0FA5A5484B1F0D8B4A35066451663BE448D924DBBFD388B6D6 +D7CFC87C9E75B7CF79A4C9207E29E0BAAAD7FDF529B860F7731EA978E335334C +13CB2F0A4250F5957B44CAA0674AE8356F586A24FD137103973B9A1FC31090C7 +C84DC5D380404BCDF3FE20C6F74FFDD8BD1DE845E99DC6FE09931F003834ECC8 +08C5D962070B6C44F901A787CCEF048A2C584A2285506B4D4E82B1BF130E2220 +B6C8B3240A4CBBCE16AD3676B23A50B75F82CD88D1B8F21D30A12716426112B3 +23DFDE5A348DC9DCCCE5BB5DB5433A5AC125DE1229FFAAE0D8319B2929986EEA +56A93BA1FBDBE617F30852A3DC8C712DF674169C6D656F75E252187A085B2788 +2467CC4DB08D48EE6A98C61BC55E6EFB1938FAA718802B7587B94C8F1477E9BB +DCF6E02B5E67FE3AD9D87C321CD9BC0CCD36B9C4BC601E6BD552EAB8E1C940CE +3A22F3C2501C3C939CB4F17CE97566F0A04602D2A22A05CECDF4A49CAFD6332D +5870E1F31AAA5F86867F71610CDB83E473B9D20BA00D8986D7148E0EED03865D +9622864B52B09D12E0C5FCDD023D29D5AB1CACFA92B6FC14FC84E95F407861D5 +2BEE3301AF399FD7ED04DFDE6679A345A282E7FC08D47E3FC8969D3B00ACD7B7 +F8769647D6D4F4106340EF739583374D023C2702C48FAC1B643B5897D2D7DBCB +73257712A0FDEEEB98A021D218CDDEBBA34687E23C4828D7F96D1ADDFAED7EA5 +B279322E6D55FB486AD8F3A8E7B2C67915564FE56F0C9277A06B29C47FB7D007 +11AFDDB3FC1B173B4E449CC6B198041CCA0624D81B4840FE5B63BE72157AC6E7 +03E5E95D2E2CE2E40BCE8044A8F2AA45F855484A891B9F0F8F70188AC66A8DEE +F4D656CBE216E6D9AC33BA8DD0685D480833E1226784469A221D9FA3CA600AC7 +5574B5226649A9C48CCB43339942FC9010F86BAA2D181AEB487A92A96BF2EDF1 +60F3B93FDFF4137A25A8AEC5ADF8613019CDB103DC4367EF3D8AEB4FED0E6BF7 +622AE0CD3CAA0321D26CA4280CFB60D08D9560AB8AA5698231171B881BE9A27F +BDCF3162134126212C523738D221AA05E31CEE73D9D40F73C450B6AE2C1E70D5 +C37162BDF55943069923A290A6C720042566E55A21CD81C460818883AB016C16 +8FCCD1255A66977DC1C110261D7642199D466DD3D2493A2D47694F842241C474 +1752B00DA03E69CD16A8A14BEB8A431A315D19A39BA978E46EB1189089FEF647 +F9DBB58AAE6B3FBD475E4DCAD241A051DD100ABE81D40ADF18A4C50F53BF749F +D6F7C8E02A5665B4AD18DDAE79096DD447F8BD32C68F9F97F05E0071D9E9AFEE +257B96D48ABD9920418E17C8F027E9E975E4A08DFB1988E7104CBBC1CAF356EA +7750AA7110BE116AF1BA69A94776E4356573B38472A8A1292C63701543B0F315 +611A0E0595B30424A1137478BA6F990AC7C3AB4DB69E75C222B617F373C521D4 +246E954E9857AF59D1E6C36412B643733CF5E1C90389EF0E5E0DA55D3AD12E97 +E7630C315F72A03CAF22E0ACE3AAAFC1D496CF4E5ABC49C2DD5E264BE7EB2698 +AFF36089B5DD2C53DB1C1FCFBE1E89D41A95DDD278CEB29DC85FD1DB8B83CAB1 +EB37C531E9BB8466ED6B8B60258D3C355626CDA43A32834DC89DFB11E5FC6D68 +0F78CFA871113DB81A1690250A6F842ADA15734CB6DF7C6ACED6D8D586BC4E1A +94EF3052FB0F8B9454390B882CBB6E135AF1F9C777AC362C2A758C3A98117120 +73C6E2FAFB580716D4B2889A4331CC658AAE996245685B973D9C184541385680 +AEC2956107DAB00230FB39BE98D3CA898D917E5F2088F26CBA4F8B5B115B6443 +8753331233B10852702FC26D9DD4C990C13CE4D0DCEA23D62A826A4B4FD16070 +5F3638C0A50A3373A33FCAA6F3644975AFD0560EE5F2D1CDF08820373468E4FE +6679A229D6955CFDF7ACAA92A87E6D8571AD18CF59F84F88A674B2946FF20A28 +B9798EAA22442415EB46B9498DDC0F4BA6ADD347AB43E9293CAABEAE80127378 +129D5DC69F6DFFBDAFA5D65580239E8EDF6833D0DE6DF75F0FD090A83CE0974B +AC947BABBD1B1C7194DDAEA37B0CAB477ABF9433FCE0243C8D308409427D1DCB +8EE4FC36C7E5CEE104904B520B3F6E677A5B92F694BDBC2C799991667E0EC14C +B95EAE7DE1854BF4542F05B4AF401CF67FC3E46EA5A0DC362F3CF177B1796DA6 +753AA803E724D1721DDD1BCB0C12CE0859E172D2A370C3697286F80D9E138AFD +A0EE016805F847BD30D11D8B891E54C77AB51A7CABF76BB14B06153C7F811FE4 +93FC4B7CF161051A458EDF767DF94F487DB939A2740B4242BFEE234F75084DDE +207E84533004B933D43C712F0C71DA4A00FFD6D721EBC93AFDC4200E3B8DE433 +3ED3E1DB799BAA27548ADC853AFF5D9D6BD92D644E3CF394789C99D9DC054A26 +7770AF5DC5BD6563929AE11BE341F036584DD573D3F43D9D975201EF77BEEF80 +D1EEDD1D4AD5D4D4DAF6D5B9D4C1736CB111D6FC74C236779C0ADA430323A825 +09EA8D0CB1772220AF28B93098BDB36913159208D1B2D7ED45808BF7B686419C +5C0E3DAB5BC9830FDF3B494D624EE8068BF6F5212BD69EF466B9A213047BD105 +B848F056DC544A8CE66C546B1A4DCB4BA29CF0EB4DCD9C2452F22172AFF33B29 +E97E12D8F0D312B03BD9E5377BF0C81D884F1E79DB66E8144F106DFD2579AD26 +C693C5B68F3AC46BF0D6281032D4D4BAEB2243151AB1AC0BDA2ACDDD4D590C90 +F29B335DF8F57DC593DCC081FB56924028E3161AC4865B49D1B0F63F5EE866D9 +7A71171C09B09A44B0E32F03494D9EA63F3C89F5E772BE25A6557F119299E989 +99BA041694ED805AA4F3BBDF00D88171C9D43A9085A287A36A1F0F9386F2A98A +96815CA51F06E1CDF20B757983C5FDF4003F5438232159F325C6335B734FD982 +1423BA77D0EFD044381AFBD0704E3DE95D23A70E2428E9AA355A9A8A25C6C74B +48488C14DEC93A766E112D74C83576ED355F17A809E8D3F9C65C4E3E14EF484F +4658DFB57597E2A4461D8044E95844391C1275D63F282B37888C842A5151937A +45007547263D70195ACC018A373D498B88C5A028BC66ED96A343EEE74D61EEB3 +D9472B6A549CEB8699F4B35154A0E2ED22867E4F9E4A76311EB2C9F9078FBA81 +838EA49C2966BA64C165434DA3093206B70186BE80600B891D9979F730FDC794 +5DD6D8B2090CC67A634B719F441092A10C447A86ADB78DAE45823ECED5FCEADA +ECA52E363D913D9EFC0ED98A5A1F823DDA3350EE27F09C14E4C7298CC0FB6200 +DEBC640C68C82D70AFB7A7BA668F1D7948686206884736CD03D9F6E6CF9702BF +E3C932CEF3CE07FBBFCEC0476EA6E8D5D4C5C6450C8FB236B89BB82D51886240 +5BA7462F50A88F69228DCBDF26B7250E90B3DF8E94ACA1CADD9EFB5C73EF9DD5 +46052314D445CC92512BA231F79A09A2F0D91976B160B8C9BA055DA4AAC1300D +491193EC66A6DE12BE01EEEDBC3A2291DA1F27AB76596A236B75E19FC5F1FB6A +DA1AD835CA08B6CD03B97B4CA1BFCBDD2500BB09F1A1B0438E4A759370EFA318 +F062BA9F3D352572CE232E6FBADDAA5363807D0DC5320B807FE5485C8CB09B6B +0BED9F5B1300FF370252DEBAC9DB25CE2EC494E8EEA45FC6604B3C104E81B287 +EDD49F3D7430EC9176A16B4FCEC5DF68DCC11ADF90BD5337E2E4B59BEFAC8298 +E5ED2C7FC5928635420FB1955251932713236DCE28012C86F63D12AF1DB634D0 +0B8CB8992B8723548177BD6822A808FF221A9E38B0DCCBC1F3430A9BAEDA89CD +ACEBBDD8CCA5E17F1CC37E35A01E058BAAAB6BE7124314DA19962BADB74EE73D +8FB13FF6AFB6FFF97926CA045B62B98BAA753AB0FC78B881D3FAFF9EE2FE918C +8EDBEF87637F1530E3E13AC090FF81F4136E08D5F3734327E643CDF621278741 +A17AEBC56E21217888A6C8B5ED4269731910E7E25693CFBDD4EB4A32698F2447 +4C45D73E810B627D8719E4E34D8FF378F9B68BFB149AC67B3B1E55F20D097FC1 +AF74D46F5A3923C63DFEBFCA210F6B257F5FF3F2AC34CE41C15C9977634E473C +2235295C05C3DF6B3009C7854BF11CC87471CBE085793AF9C5D05C5479B9E780 +14A5A6F3F6DDE5A18243DA15732CCF26ADE40C566DBC3C62B71D46DE87A12C6A +647CAC923254E2E74AF882DBD5C9E108A9160393C5CD12566AF7C824EFEAC56E +6F05B92C73A76824C5ED1735BCBAC61B98D509250C854CF1500C212F574D18D6 +4426B8510FE9785B814A70E75C9234D42483E736D0689D3561E8EE5650F33A36 +D50127589401D267BA6442E8616E2CDB1F6691D3FC4A2A377E5E154972E890DD +60CB463E9EA9A6EA61087DF452FA5646F69BE879337EAA0F5DA4438FF0365627 +4E3B16851C2F08E976FDA27AF451CCEFED00376FC3D6E0C160F0BC19544DE289 +BECEEF9A067FD71D54DA3A4F73F06E2F522BA07551296214DDA47B1BBB1212E0 +1100ACB5F65FD30C655A3402C83058F8ECFE48FA60B6A3DC86C4996414130194 +6676EC7F37454023AB53E9D9EE60249ABF6953E76DCE3123DD268BBD492412BE +65D7C3E5A5E483C381182A8F19B506F0AF6DCD55532B89852D1D96021B22E9DF +D9D072BD7DD4450577E658B433A84F92752B260AFA2EC4A118747CBFE36AB7D7 +6D5DD96A119AA1BDD0FDCBC3AFDAE5FF72713EB46759A06CD09B5CFABCDAB0E9 +85599506AC07AA525978AB157496163AAB387F079EC9FA1F9E91B9C2FBCDC9EC +7027D77016760539AC03F1C1DB242D28D6EE946C42DD2262D82ED48C3A839853 +BA977046F0EF373AFF884AC3112D2FB319421C3165DFA5710BFB9AB9595A10F4 +9D05704B9E22137CF27F4B2DA9CEF6D8801D5F792969B2E58FB539B8038DF440 +6DE20C0313A7BCD16F279290AD6859B0E657CC3041C7928CAE35B9D3A681F2A3 +2D40F8EDAF1127E754276556C95E1282514B6EB6E43FF4F0FAFF28C715E3F39A +374415B62C1F5F8E31E006D6ABC736057910A3729AC60360CEE1B2C8D9F77336 +39CAC45329A372205FD551B9E9EA5082411207473D9D90E76136AA70180172E6 +AF6EF3EF6B38B1906B904BE9BD5251EF067738840C28877659B649C6C4CA328F +1BEF8A9CEC2CB062702F58CC0B8D2D097FBC278F9FD894E10ACE1DEC4530CBF8 +E4E467B6DB9C596DF0C3D43E6AD70F30B733EEE692C2EBD68756D0C16E1F00B6 +AD011B5DA073A769B53C2DA2E7C9B7ADC6F551BF4DF4C39C66443692C3DC62CD +B1E094013F364D04BE2FBFCD1C7B2836180E9022E0434421FFA4317A50096684 +CF0B8740EF680F27F4A84AAF2AA92C64883BAF57BDC60C6467A8D4E09E6316FF +9BE73053045E5F3586DA3BD1298DC15D751913FB1E72EF80047F6B33591B97D3 +DFAD34EB224D64EF60F5B4ACC6EB42E1BE0CB2812FF2F3C264AD2E44F5EBA441 +670CA0A60E73176ACDC4E42E74F8F489C73481EB5D46A61FDA1C0FF9F8844DBD +99CECAFE2A72833E4522981FA13713AAFAF8F121E60FAA6F379B2C8874CFF23B +8FECE70654E5855E525A403700A96CF7F8111BF2B58386E29640D82F1DD86900 +E0E203F3ED554209CBDA2A61A5641D4B39D98C5C43D4575648D06BB82B6C4D4A +F043EC61B17C208CE8B4F43A7BCBBE588A3D13A183D79A47404223037FCFA4F1 +DD237344E589F161BB9BBF3FAD2E28749350DB9A74C09E894BBCA85B82E704E2 +99788B24642A7D0F0FD96601CF1AE4819EBECAB89824A0DC1C03BA4B546ED36E +DABC8D49CFAA53D2A9A5DD6B3431E364C99ED0323513476CDCEE49BC413E50BF +51EB93563DC03B62F84C5F96ED713F288D109C79179AEC41424822772032035A +40E84014F5BF40948F05E8562C99266B9E54AECEF94765BC79375C69A0385023 +A014B8705931C9A419C8F2B72C3F7054CD6487E75ED2E852BC19302D02C671FE +3892C7AF2A90D6F29771AF31FA95258B6F3434228B377F5FB494E28B5F0393C8 +9DEA5E5726B81B7983D241BF7F78928EF8D8528C8F6DB7B307D720243DF00E84 +A37A7B2C720348F83ACEFFA78929F4CFB5CCCCB2A074C78B92C8573750B91386 +CECD4A1243D1B002B45B933534C0B4C51DDC50BE37BB6E42B8FFD25C8D5208E1 +E3019BFD5218EBE79578A072462F4B739AC8595498140CB8C6350C36E0E9313F +4B6ADE13C28AB4BF001752E07976551121ABDF734B64061944C363CA1385BD23 +CD9BD8F1ED9F0A5C602752A62D0453AC97D649FEE6D0ED3BE5D5861FFD52EEAC +673FD6B94354DAAA29F26C04F9CA7779F5021CE8A2CDD3F5477B7C100C82E82F +AEC0BBEA7AEF0E819F0A3EDA5BBEBF135FBDDE4099314E3452D1C30067032966 +7BDB2B79A6C97B54B8BFE82A1E6D7F3FEEB6FAB05FF02E5AF8CEBFBE4C386C36 +3FEC86F64F3FFBE7DDD4DBC0EAF8376428CA16B43BF85D8CDF4190293C6BB60E +204B16923A39DF1882292CA07F3948B71F52CB6AB3C22C7B7D95A916DF3D9E85 +1F36EC96FBB3ADF0E3DAC41C4B8D3728D1A1833CB9BD2A237F8AA6C16FDCB0B5 +C8DA4238991CD04707F21D787047BC103B79CC12A1298963E4930D8BB8856495 +4125E8230FB213F5B74ED46CFE8FC26805B45557788BDB4BC8256130FE4AAC20 +DAC0D2AD11C34A0355622780048DF0E1328F1F368D8D8B1A8028B073FC12A516 +A3EDD5C6519E7C6212D5A5444DE829060606063B1D44B2CF3E26D13AD8389202 +0C18FAA0106D974605D6CEC0DA3677C83D8DA7CE506E669C8EB9288CD0B2A22D +A409DBBBAEF4E4FD5223321D9E9358AD5FCA552E4EFE452A683F6788D99F98DD +87D84D5BC08350DA235BE00C67D41E00EBF1B8CBD3CE3D3F498D59065ED1D91F +AABC730BD8824836E7080353F13F0A9C1519317CE42419C6C5E05FBFA39B6963 +A91BFD5359CF26AA5C9F044DAD9513D1FAE141973E9D31CD30AEC63650114C71 +A10587AB9FB4FE5DF62093536D23CC813044827A4D3FD3E622A72FF8D1AF2046 +68A0324D8094D0E1080731408352151D2B85360B4135FEA36C5B167A9ADA52DD +F684FFE0DAC6EF327700164FFAF9DF83C76F4892F601762154422387AF4FBD1B +838D869A68395A41CE1DFCBD4E83F7208D5B590548C0F01F2EA4D95030841955 +1A62F22DB0CD561FFD1F53362016840676DE91200408ED31098EBE8D7B853FCF +64319D6ACDF11FEFC4B1E6636E6611AD9D0D7F29D28302C632763C6167154B68 +18F9C8C8AF2D0213FAA7544536AADE63B8BEBCB67A4E5B3FA05102C64E688117 +09088897DD1A39FB0D8E294BB18B8C93C727A79D03642C3568842756381E2964 +F3E37BE585902071595E398C5819870777BC27D9894876AB7C579BD498738948 +FF2ADB78FCA6A17178BD43CEE8BE835219782F6BB9CB286E5F1A4C92EE4E7C9F +BBC0D019D8A364F19B22CEA8B9DA94CD93242224D197115597C1EDFCAABE8E6B +E1F21871EB6F9B27604CB2A9EE8B432F4A42B1F76D4E96050F69D55BDB0DBBD3 +6BC189EC7B4B42381C09C7DDF8A19E7D6C42788F1ABD37169DED9C19505DE376 +44B31396EF2842AB0A79558394F52A53EBC331733CF35047ED8A878914605274 +014DB6A1BCAACB0AA972FC0619CA9BB7EDDFF3A4760004D1BBBF3815C4EB73CF +8CE556DF5FACF5313DD81E087F955615CCB979B81F65DC50CFCE123F680075F8 +2A85AA9187ED4BBC7B155110B044DF47C7D3E62E9B2F98C1F401F4C84A87E428 +FE8F3B2B0EA1B923DF162086C8A9B4413B65B6E1992C2DB8480C6ED3A1B45094 +8EA4FDE77BB7C3C898D707553AA905CC7110B751BEC1B472C0C4D43507FB5167 +7F5CC6816A30CA19EB93CE38AB0ACA267435BA42CC36C9332276C553D76FE98C +FB7DFA73060A4D8DF6A52FD06DC7334D0709D952D1603C4B2DA1867EF3923BD1 +7EBF32A34C882CBE3008199D8691414D936150E9E029795B256C4175F531E695 +8D2CD5C902763A8D183C771F05D6F050DC19ABEF4DEE8F8BF5083F2C57ECD099 +D01B1358982930108BE133D189D048CE7FDF493A31D1664D196F80914786030F +A1E931F0E03C7AA2B65DAA70E12D44AB2FB8827BF2115FA2B13B6BB4039C062F +0A20B909F8D80A714FA9764D1F4A3305C03A5244321EC5F6710D24E110AA3DC2 +2BC3719D49D51D72C763583825465DF2474B6EA83306A752F86D5A8B2F2ABC24 +87336CC47C75E9C935FF9262FE07D6C8FDEC44BE335A8A721214067F7A9B9EC8 +9ADF3D3FBCA5DEB75A88034C08A744358E23BB2B13AC5E08162502612A7FF65A +63CF2A927E5FFAE1BB4FD850B4B1AD6E3DD0897086F334397FC9590D5F00A96D +4DA676491CE72D93AFD1C8E2638DD22FCF1D2FE941D4B90E422643B6B25AC077 +95D535CDCD52E347BA420C61817F7594E23991D86051183DBFE3638AFBD985CC +95A4402729EE6EDA014A03483C1FDF79F203FD45F48E48386EFA6D2C148F2B58 +2B09EC3B66AE50B446CF56C044DA4E14FCE5046BD8616268644A19E77C87BFE6 +FE5009FD926E6B30F8489E31FB6877A5998721B60D6AD01C5F1330EBCD68B779 +ABB9FDA5ECA39DB2A4EFC056AC41DEC22D49A845F9112AC3E72D287DBEE52E70 +E1A253C32CA257EE66CA8ABEB47E0C4A117BBD21E6BFF58A5C5AEC9DA23FC8E3 +3992E737EAC7E0E8C13A330C140E5EE155D9CFC27FD14EE5C39EB7AB3B0C11BD +0DB6CC537290C23F0D7933E7A59BBEFBA6291AEBAEF2796065C31104B321A310 +5E93F34947E720C637D32E246C0E7B0F97DA0729AED50E0500DF227C65CA8E43 +3BA09A3ABA404F17DAD1B21905AF40C68881E5FD9EB1D6A61BF2C27D01D765E3 +6A9DF9048BA2F16B922457BE7B3FEBE16AC2B096D16C87F6962AB93DD730C70F +F6EF6CA2A8536BE570BE9F222E2E9CD6DC581ABBAC1A4BBAF6997FC8D739A78E +948C553D3E7F013517DD9D0C56363DCE3F63CF4E24615F3BA51D7D1180D06223 +E74FEDB6811C9F104D00361A29D46EC3BF5DF43239DD5ED1D013E494FAB76E6E +ED4FDFB7230F456239AB247712881699F072D3EFEC0519C635F35F4198A348B9 +5423BB1C2680AD161DAC4FE1ECD24EA12AAB4CBBEC60C483423F877F54AF89E0 +E9F2A5BC33E90B94866D31F2CE3C62206DD43D0BF93D7B239087C366B67741D2 +D4A3E47A5C1302D15C30AAFB706B355B20ACF2CB4ECDFA53D580D28245284337 +AFD2B25C17D631453D72222D5A68A4EFE0AB2F21ED784B96A739528245BDA944 +63 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR7 +%!PS-AdobeFont-1.0: CMR7 003.002 +%%Title: CMR7 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR7. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR7 known{/CMR7 findfont dup/UniqueID known{dup +/UniqueID get 5000790 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR7 def +/FontBBox {-27 -250 1122 750 }readonly def +/UniqueID 5000790 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR7.) readonly def +/FullName (CMR7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 65 /A put +dup 66 /B put +dup 68 /D put +dup 71 /G put +dup 74 /J put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 80 /P put +dup 82 /R put +dup 83 /S put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 119 /w put +dup 120 /x put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB981ABA2ACC9A23A5 +3E152596AF52983541F86D859FC064A0E3D5FC6647C3CAB83AD4F31DDA35019C +CDB9E3DD3FEBD4C2B36BA3CF6E6C7DA85E25D8A31A9BAD39BDF31FD0D1790707 +9DE6A078E8A409D8295F642DF492AC4F86AC84383B0F4C6BAA7C22AD5A898A71 +D6CB34D2CD12266C486B75E75A69C14819DD9BB8159088E04D4717E576B8482D +BDA52110AC8B8A80E4E9D58F470EEBD3CF44A1E1EE8DA318FFF3611B02534FC9 +F4018C7C57E80570D2F634D98BE5D5EC6D95051157F0EA94A3D12BE0B4B79939 +F82F8D73136D3337C44E314B0B16CB030D9A12E01FB667105F334C3EE965E5A3 +D410D2F1531547A4497C355AEEB295CD3C5334BEE5232992960B757594B89F3E +52095042DBE6B4DA3C3AD50CA95EA9EBADA10630B500CF1FCCA7D60306743681 +7E428D33B7F7C40B425CD58E4CD8AB474BCE6A307BC6C6EBC15A8A96E0E2977E +A33389154536F5C5D8CF036D07F24094E779E5ACBE5502C92892F10F4C6DB627 +C7EC4C7BF20B39418A8A85D7FD9B0EAAFD871DDD41F93BDE5FE619AFB8711824 +DE890E62C1969A6FE28DD3578AF43D58A728FAFF0B9FAA640962C8F35A26F76C +67F3548D6DB54A25CEB368B47F97EA2B0C4D7C0E7894A4F0C823C6C1922CF9DC +10E05600556F1C7C9AFB33A2DB6F8730F70D6BF94B1FB0887451F2FFEEF3584F +DFADCFA9A2D4846B8F0E51620E1327D994CDF973B837D10C90FF76DE22B47CD5 +EE3183898D156861AB4DFAD34A1E3FA260B8164E6680BF58413A553E88F6100B +C4F4E8E972C81A5F88A7DBCDC308B4C3581BCDE13877B976B1F84330839FE5CF +C78551620EB803DF94A5C921F8EE24F7EF8FC4C3E1653514212631F54F90E3DC +E9EAF96E998F340C4F729ECF7AB430FDB7C0BE3DF2C0D23015820E28B743CAD7 +7F0AE95413C3EEABBC69E852F53EE1DC260D7F1E712BECEF2F18437DB23D8E74 +2902AAFBC733AC5BAA452DD6F3671859AD836C8564E99CDC4183D8495AFD99D6 +1F0D65B6588CE7546717911E25BDCA6C2649E3A7466A3E2DA7C7994A30AB4449 +672EFD00632EFA8629C1AFB7D53D801028F77C864869FE636213A69173003EA6 +BE1ABA95EB07B13D1594BEFCC95ECB0A9CFA9892EE0677D6B6C250855762B7A7 +8E4E022640F93169DFA0303A0D5E73BF3E0F4D4AAD10FD7E4EB20532BA30371F +E9F480F9513432946F9828AFB5D4AEAFA5829B2CB544E5EB634C4537EF7DF08A +A1CFD94A52DCF0E7CE4C5EFFB01E6D50558B75DB4C8D5512B06080F27BE62E01 +2EEA6A0357441401458C842D3DD4C35B8F561D816B336216CE0C14BF77648AF5 +E33912CF95872A1E1AB9A18980A0B29A881D13397C15E1CBA5D3E0B27943EBE2 +F3003D15EB446BCFC1C231832475D5B7AA19E4CFDE119D6CD62D053C6D29C333 +5F729791D17B3F7108074EEF4D1BD101CB33E01004532CB0D716D2E54D169C6E +80163E70C0E9081F31A1ECBAE079D2A518B790B0CB2CD03DFD034A0F4788E800 +B0CD2DC1FAFDD487C2F381EBAB2A2F3F3AF82021B211DC9CD2FBA6A1BB3D4AEA +4C7F3D9A5C21DFF284CCB827D205A69638E98D5DD8E36AFC1A4481B5CB2A2E8F +D6C838DA6F81990F5ED928DC7457501B5C979FF4CD20A830896A460C5DB13D56 +A3B2B5D9B292374A9BF392894DD99FCD6A1E655AB395E839F074D1596488700C +4E2891C8AEEF66568E82A8B826F9A28FF84D4D9BDA21F638EAF96880B4EBE0D8 +081982F34831A03BEE81FC177700C2360D2A48915EC40D5FE85B400E175D5AF1 +067FA0097904FB647757BB44B4042D30D1557BD0F7922D731142FD682139CEB7 +58CA4C8C240A0B86B1888CACC507E24E04020BF1882BD9B4CAECFA97DB24D7F5 +AD64C69454027F198BA35881B94EE9159A2D73E450C3BDAED66B886D6DEBC84B +653E165176228F88993F12A170775A8D7038BDF2FE8DC1F7B98BDC02D1E6686E +9B834F6C0AD90780B17DFE25F0A4E470CBA84E73F2D22BEE09A040F14CFA2C14 +0FDA5A5149B5FAFFE49F55EEFC43831BC43A8326FEE9C7F469C0FC3B000884FA +41DA7318EB57262CB96FC4EC7F16CA07FE1C3BE8C2DBC8A8135953D6DDF20BDF +75A2B6D26074FCE752BD32FB9F5CA797775E8DB9BB9786B469A3CD65A0D9DDDA +C2A166E454A94860EEF5B5C12172DDFC576A03F6E6F8A735FF21A3E9CCB4CAA1 +3064893487697986A42CB5888B2B0A79FA3C74E8187BDDF7BEAB884B70B8D4AA +AC6615745AEB906E08BF831CFDE222F58D02B428D55E9D5A3CDE74E42D8A2CB7 +E1A3A9439B678AD438793ABBEB72B21C58981DAF3EDCE4BB93D95F4A1E943BBC +B3A012DE92FED4F232A3A7D60CE60B605151F9C7C18A5C653E5D6D15E5B49A63 +73E7A339504D0ACC74B8B116EA88C3EBA2CC631AAB29F761E5F062966AD2FD28 +7FFE52FA8A115DBE23E471094FFB3CBAFBDF11B7E9058313F2D069B2CE98A962 +64645738F02A31E2F2AC11628724034ADBCEE012721EBF0A567893411F950410 +B20754A7510D041FFA6144AC9CC46D846B82581F20BBD001D34D9764010824BE +61C30D05E5C5D100A24F1917F01799CF5BC4E50FCECFEA732CB50196825F0E08 +8A1EC868C6D4357857EE2957E081A0E4372E31A8ABEF23C3F2EA0FEE57DE4D08 +61C570175C41AA0C7A3A579ADF593F18B4AE3782D2552E4E0759C32E059EE741 +2D8191E381731769F6648B3581CAF11DAE46471896666F18F02918B0860BDA3C +BD5DE777672447C23C62ACFC2611ED5239D6A266FDA6031EBC5A530C1A2FF7A6 +B4380B9A4C877267854AD1F1677CB5433F28894ADF93D39EAB94541A8D232E08 +22D082D0951A60F62B87DC028714EC74133A4D65F7D0D1296C0E189C4A42AA98 +28E8AE7ECBB9FC8DFABCC6EEB1E9FB06227F90808EF31331CCC5D4C9A6182181 +047902DC9FD0444FB94B60FC74F3B677758088CE6A159D940C5CF682335E756A +8BACF06AD7225D49B0002392C889B0FE2C71311D2596F4903D12FA20BA2FFE25 +A0804B4BC282929BE31E0F46B34532CB5795A65218CFAE21F390792DA67775C7 +B91A2BF4C16DE4F6551DAE3A5827F616BE9040EE6B1008DA2F99A01EF66D697A +6CD1A44E0A15D1F39EA8025E886A68A1E9C334327C7703EE721E497CA924AC90 +7723106D913C5ED4BA4FC743CEA8D0F5172526107DA65775C0B1B77179D336C2 +9B09B608D80B1A1E87CA1A84A833A00D980D919BFF56F6390E9D5B45E9935CF5 +E69D003564462F750F7DCE02DC23CC215A0696B74D8BD3156A392A94F557655E +00BFAA035647568ED66157FACC585E411F7F428569C147DC43F6E4FDE693D0F3 +9917BEFEDF61FB980B85515FF6424824E2D995B05CA1E5D3E8BD8D3281DB7CE4 +E54923E84058FFC0A8A2C491327D0F87CE4C352B724167CEE224DABA3B95757E +4A419594BE4F92E78BA6D35D4C93D31ECC3134B24A45DC32445725BB044F09A3 +AA8C31EFC0A2944ACE2F2CE054CF24DB350FB3C71115518C24BDC0F7E54250AF +9D3378D38480E1CB9029F31570C619A28F065CA4FED5665EDB96712ABEB33B9B +4232C00C1B0215F08D53F7E430887035AC25BEAF06942FD1B6C442253C887AB7 +D694C1A6115C8990B4CAF1E81DD1FDDD6B03C00055BE956BE7FD8A4E1049AE69 +EDA8593CBA8C4A41E046C689FBBF9F1B64E5856A7FB1C61EC815A56DE2A8ED33 +41F370B8203D4E5B19C63AE9E6E0D26F4F3814B5AF48AD30EC9B8402C941FDD9 +722FCAFC638FBB835F83DC77F93D367266FA7DFFFCB567EF82B1695AB4D94D09 +B18AC041811027229DF431F5CB2BBF6ACCE9D500C8F075A74590641C1A607C56 +D2B8624797BCD9C91C3177818691FBB4744EDB6056464A0B95B8D63F7C22309B +82D6126E2057BCC9FE5566D96B7A9B201A09B0D3252A5494C8CA2C8BA8A13C29 +37EF2A882D61DA708C279F663D88A8E2999A0F3B6F98C49901A7631BF7708B67 +54D0B4C52BF4BE0DA0439E6763A7C9D639AD4092E77B13D3510DAE1475C978AC +796F9B2AAD3BFF35C5A3E19B5E2BF704B3BBDF68CE48BA4FA2496D60E58888EA +28AE12D00E9F0816FAC190590A865BB58569A91BF0345D01230ABA361442006D +BA2C90EC2036BBAB79EBAFC3F217DBD5854C519235F9627A1C3C71D21ED38AEF +0BB40F3B86BB9F09A3F309473D8757AB7E638DC1C59A7F9BCD49DE4107A2E54F +422767FB94048987847205584309397F554744690ACFFDF5902FE5DB355930B8 +71863217830DD7A563B0B3A4025ACE75B0E777B4414B62A13B50C54E0E6D47E9 +D43BF769B9411B74E1069BF71BA873B4B8973EC9BA492A5DEA58D267872BB246 +10AA67B143D0E2223FFB4991E583E629413CC894C3FA4869B72D19CE1A0CEC8C +0FF5E5A3EC1FCB7D3C4289813F0D249A11B55104BD60B2A89BEF44CC77CCDA9A +065B8B83B4F4253AA1D535290DCFAA4773452D110D2B3370F9E2FE5432B54A9E +644EB3BA9BFF62347F376839024CD5EF3C5DFD30F412DD5474B7933E6A1AB63B +4B12F2417C72D0543C26A263AEA53E5BAEBD67E23553A72E949DEC556BEB5D09 +C4D7A89B14FE4EC68D0E3E9D65A64B285E53590F418EDA8175113CA375A29930 +DDCF4C71ABB26CEB800C2C2B253AC1F53651C88A56ABE5A74F3B54CB4FFDDB92 +60AD7272BA25EC2F6FB759AA6E1E7964FB55AD09F4EB25DE45FD01833947BD05 +6266AA8ABB7DD792941C7A070FCF3A4636FBF8921C70298D42FE92F079DBA2AD +6149D9CF9EF7264DE6DFCD4429949B15EA90B596340713BD61926DDB2BB23BE8 +F9DE38A31620A817420A245946E551463960A8C5C7295E3B3D6A59BCDF5E472A +40B7A2CDDAA43CD8AAFC411D037142579D11054A903E102DF0D0C7B5BB854DBA +F3F086AF991F7F5D5C730F8F9AF213F25786F3EC0E54530FF912F4876FDE16B6 +A07D0DC4FC46EC6363BCB68B83ACC448B801EC43FDD2F8BE0E93D809FF81E38E +176AE17C67C85FEA58EC95435434C49A950AA955D8B20989C550AB1F1C31B7FF +99422E1F48FB7D6F327C6DBC4695A03903DB275B94CB39386E46579271870A25 +21823E75C377E9D5B46655E8CD8F986372CF8BA846423E26582315A9D19E0BF5 +305C32B2A0EAC3ECB275B1D8BE11A37ADF524944219D94EA2C5DBDA768828B6D +775DA8CDB09E0570E4ADDF462EFD8D3FA3F86B1DEECDFFB699AF6507257C1879 +16FC615868C2D51F03CD57BA38D42995D9164B257441210084DC409B6EE4C119 +0B2E17B0A8D5326DD0010E4A325D5F77BF935693BC90A00A28C7B5F74817DA39 +F47A41E32F4F92AA04D30D810F7B1484EB53AD8CFC8CE8928B570314E0F713F8 +AF127227190F9C16BB73D2A217FF801C391A29095DA5E4974D137A0CAA7DE702 +E20DD4755B1D78739756A5E7EC3542B96AD6844199FFA2F5F2E9C64E2DA4FB2A +ED79869F745C59D235438251BC2E6D26112AAED20E06021D1AB896EE1F1DD2EB +437FBD4A25E42245C5A647493FCC9922E6DD7AF57D5D482921D1CBD6F0F02949 +C27777144751C1E72F4EE2BC343D4AE7A8A8758123B54FB1A026144C643651EF +0907A376945E19A8FC7F98A034832A5820A481B0823F980F59623E0511593FEA +BDE6EFBCC0383242CBD4954027B075B21F10472059A480D6E5ED01C3B07461CE +9810251A5C5643EC7403130C2246E8616CEA25EAC7A0076731FEA8CC43BCE3BE +933FCE61067F5FD402E67E2B9DAD954AA77C5BC86BC5E4BCE2ED676D8D8EC7D0 +ABC5C86D82180B9D5D7451C71B5149B6B67883578DE9909317928C0A92E3205E +F23015400A1763A6FBF67FDE3318AD2696685A1832FC31CF38589EBC7CA1C818 +60D2B2211E04EFCCEA88D9A9082E82951EEB123924A267CB03C48889032F2892 +4227E217FA28F87E01CBF27BF1EA60641A4238258CB7AA355908FE36D90F5CAD +FE992D03A33E47CA9AEBEFDA57793F39DC6A9E85D5B289F6B862B35DBCF82E43 +5CD6A862F6FFAC36478C384C3BDB0148CB1FEDF55969C776E77917635B5A65EB +F2AD351D21CD3822D43289FE8EB0FED58182997097C7E9F4373553AE1CA92083 +EDE3BBE6C3BC7009D15AB5FEC6A59E9FD1BCC7B2099CA15FEF083B9CBF7B890E +CDDDE6BA0AFF306C76500C945DC91BD533FF9A585CEEDEF79238C54E6168001E +26FEB29E523EE501BFA4F60B782B1499B07084C35A2434B4D29D3D8E2C8F945F +A9922443B68D07DF7EAA1F4CDEFFC438B597D8943E231B5216808A85F30EDC81 +9DF5DD22F54A45335B4C2203887475F39D247F0E7347BACFEAF220ED82F9263A +6488E73C1910023E505FDEB143006C1A351D441AC57F9D52D2C6D63D78C75605 +999885676BBBAD56074298E0BFDACBA1830BA58E87F436CC670EE8EB1870154D +72DDBBF3794F8CAAA3F1E11DE29752DD99EAC695838A19BB67A1FA3829B6E0BC +5301610A0351AAA749F456AE31ADD87D6ABADCDD1FB3CE81C3713F48780DF407 +530CB284B2AC709F52EE7AD647DEF9FA4D2A867CCEF728F3D40CF34C28D21527 +10160B3DAFB5FE16AFC9D36C6EC4021FC189005862082BEA60AC72B63AD27D72 +FAF3C2D89DA2648FC4C65104A069212D87144E8533CD86A6D73DC7CD9DBA25CE +7DA53B000266F3871B24663C77723703315C5E4A89DFCDBAB384AE7EB2F455AE +AB191FED406F7F6EC9E5B8276EF5C4CBA041AC7E8BCEC7CAE840154BDCA3232F +15711ABD1E867A434E9787CA0A6D1F197597DA27ED2402CB2D84ED082E8D3A39 +81E6EB270DCA4E7A90E2BEBD3CBB3A2BE3CAB926192D7292CC16845B6399A543 +BCFD224BB52F21352732DB5154FA3442733066CDC3E186D8AA97CD801DFBE43A +116C86889BE198DA88CA978B8C40ACB67E8F7BA499DE68A6FF0DC72C3D00BA1A +B378B39610F15CA026F95ED8155CE3FFFFA2E2FEB352DBE14CEE1669F2387B70 +55B91185FBBED764266215D518716EDA3DFC9E5DB6B148A553E75AE5E38E1CFC +6EF47B314D54CF24BC13856F4F7C976BB91D143DE32FF49BFFC87E17885A1893 +BA1B8E441B08EFC04F7D103C1FFBB665194B3D0920473740C55FB1C50EBCF717 +A2359B687FCEAD65616EE89A68F8D91AFACAA0B238EE4AF0279AF5BE5294C3DE +A7E1F5E6248C0210E7D40683F04B12A933C746ECB517CF94BBCC6E4CF49AC715 +D8005AFECBDFB7A6B417DB8A28F8E9EAF39CEC1CA64DF37A5E66A76C26F721F8 +A63B003A040A62F87DCF61B298F960D510BEFA453F118E59E7DE8CA3DD002EF0 +127EAF733D5C61B5132348D280F84D159809CC71A3C6F7373BBFD8D6EF715D34 +0016DEFF14AA5F960BF1BB9AC304A1823722843547BB4CA5EA4C41C6C2701C8F +7BDC810443F9DF34BA469A3260009B799871BAF8523C8763544DCD0B382D44C5 +F75046AFF85F0B5A3188C2EE786CEEE5496A5AF4BCB0B429CAFC403FB983EFE3 +61FD9F52ADFC38E07A0FD7BACBA530D2E4DAB2592AA9564843E7E2305047F060 +C5FE4243FA8FDF1B5D4F61ACA7850A604FBC6D6970959752695C90F78961B4E2 +C8CFA41082B1A37405AABCEE5BA3DC2B9EA76F486117B84728EC6D8AE6379CCB +402C2AA89078EC992C00D53151E9D82C65643F549A572A20F05107A41BE5AC57 +833F7BBF8C4C5850C1FBDB908D03DD674C4D0ADCFE9C9883304785B4B8792B9F +7325ED107734B276D7DF57991AE7B94FF5664A8B29A0FABAC6434AE218DACCEA +D910D8BE7A6B05F0751F9A6B49626C86CB82D9461E82A63A9A4DBB20FE472415 +598E1470196F65230F7B80B54EBAE48FC308F9C0A6D60143CC3D5576671AC712 +D8F88D6471E5408C44554E768203021BD7214C2234AD81C620ED2A12432CB1F9 +F7CC85EE25AF847626399CAA221DC09190CF963D89E1665C5E2B6F92BB55E3CC +795F201D9279A9D6B2C5E58B87A9C9E3FD107CE0C06AE18F8C86EE27886F4E50 +6E74E0EF1A8B1E75186521796C67111D5B173BB16A5E7330400D99CF9C28211E +FDC800BC1C72B3992892B69995418C5FADEC75B678EB54946857D2B73C430F8B +4453028981B19EA757B0C31F987BFC0BC58D600D8479F876CE7329159338E264 +CD967AB1A90D6B291582A50DCA2EBEE2FB93E5745E9447436C02352AD9526D65 +4D4DE384986A9F8ED388616804CD55212CFF36FA417047B50DA5004F0F96FB66 +4CD3B629D3E432A512A5FA3E277A623CAF1BD955AE49759181C384F15755D7A7 +B9FFA0E6E56017BC9BADF56D96803FEB8AB8FF736ABB902D24DC33942CF1CFD7 +5C86E2459EEA01E09753820DEE67143E5DA718A96E78E95F2D641E97C2046FBB +A597958F2592E03125EB87DE90AEB91788C69AE68FB74F619058604A03CAD4D2 +05B7DF0CF26B197DF8B7F920C2C522094F066B8BD6E376E34253616C6D646C75 +992E1D9BF781A8896093D10A0F4332E8682C25C7746A7BDF9B391587B750F8C8 +1C40EAA9F01DAB6389150F7E163FCCC43E893FD6943D0EAFE9516AF77EA4BF02 +589B476E19FE361FE6870EF221111E04688B3738359B2328C677B547BF90AAEF +EC9C6992055CB8E1E85514220D44CB3AA27CE82A26118AAF91B2537A63C08B50 +85EA399F24FC229392BCC488A6564E3D33A0B38F6AA3AC0ACF343393213DA905 +D7EB3AF4B12FAC6A5BDF523A4C5278F3B8EC20DD03E06E1C88D21181918D3BBF +31C5021F8662BCC3A79F551D8A2D968B3B293D6829EECA6331F745DDC3EBCCEB +D481C0EE29F26F5DD38A154170DF9F88EFE69CB416CB877ACE6E24A18BF3060F +DAF88F1A44102DB04EB64950F21BD4925E20E1F9A590854D1281775B7496766F +51EE65ADD415463F9DF56DC7FA41F0B4A41C86FE75F861AB2B180B7DF7BEFB32 +65C5ABCB6A26B3564EC99FF35D0F14906A341022FF2636AE7D1EAB6C0DFE596C +02B4E69CECD61D93762967F71B4B22F252678E0EFE6C26F5142BF009DA811483 +90947E86BA77005B554A969C3A9E57704CCC461A9E9FAB672993214F5EA3F0DD +6EF77D7A2CFD101B1CE615DC1480BC756D110A8ACA2369797B9A6CD1B65F1DF5 +FC989897A0858007E9E8E4915C05A97C9ABC5A52C0B5FF6E067225D7766B6DCE +4561C80D104AA1629D6BC7F0B9ECCBB1EAE17AF059F51BB4C0340C7B7CF387C5 +20B90941C81C0A119AFDB2ADAD221FC1503C1AAF59C9419831D92330768FD49A +665A0BCA040158B21C8FBFA6BA0287BC1B4E81FDF97AB0317CB3663600909DD7 +38F8DE02BB8A47E4DA2E95D808DF9E00BD81196FE2557E84759702C983A64CC7 +8AA5C4BA1DC8DE80762D297CCA604ED82280BAFF196AAEEF94E904A9EA7A7E29 +BB8624583C10ECAEA329676BCED76000EA04CA1DE10985F18B2E4788D77CA957 +AEB8C58E6246A137C6BC4653C4973DAE63EAA24489388515D06D1D51E741D895 +F9C6A54329B1866F75A462FCC1065C15BC715BCCA1C84098AB452F2E83CA3872 +E151AE6FF78D1BD4FBC62E51BDB6DC5A433229A0686B99E8F3846A0579F85689 +CEFDE559B16D8EBB79C8D20FAC90C6FD4DC53A7B7FA9E2CF7C92DB769AEE76B2 +BD4CC20CD42575104EE1FA6A3F95FFF43A5C4F23F7E86B690901CD13DFDB157B +6AACC0E9DA12D854BF28B4CE42B7995C4400462244A8F5C53C4E5C868F32726C +CD03D90A9C618ABA248CECA7F2D34171747E2A01FF43D7B95BFE7364596F7A35 +22CC94179DE8B5352F3476BA0E2D488DB58019E165B381F6981446E5C18FEB50 +6825C1D42A08DA8440D9F20044717083F84960ED6C48371DF56E33355E2E60AB +D3A9FBDD1656769B9AF88D13D4783C5D54F85DD21D68EC87E2B922DDB386AE9C +4F392FA86BED66B85C90BA25FF27CE37687A55850CC4E9F29A24330D3A7685B4 +36D4AF185BD7A62B82DAE0BC4E33E20A6FC5D24AD14FC6E7B59EFD3DB16B0B64 +E4AB3B1DAEA4F3F52F9B7415791CFC39522A6AA1F702F826CC438C188680824B +9D3F443B69AC739DE6DB1416E48F023DB3F75BB3C330297BC82903B078A76F7F +FBB8CE1348D537A4E62C3C13FD66FE6AB9CD528B994AC67A32076FA9AFAF6ED7 +E02CE7FBE39B43C8F967FA62EB480B6A248FFB0904CDA3E4A715D22B9A191426 +2D92504213AB7F3CA8957FDEA3C0B333C33F660BF9A0E600DA95B8B7EF42216D +EDF8C46232E6078F69FD05D2F05ECCE0C41648BB873157FF9365167B92C5B02D +5BCBAE8A072ED198B75001C40F6A3FFF3474D634D338835B3B74777F34166F6C +24E0D0104449BE54EEBE6640CC5ABE956F6495BC5CC18EA155470E8F99A1DE86 +E30189CA527138E454CAD4B222028F27768EFC0B699A8A7E3D9DEA10957B3F76 +6EE106C676DE7CB1ADC74C3B455B3C3E0F7DCBFA38F65FF000BACC1DD062E110 +2A5411BBAD94AAB3643547DB709A5A3181F85BEFC0F0F81B9BCAD0DC1E14A7C9 +CAFB49EE08D72EE6DA29D24CAEC74F8D26979149583EB32BB5C045E0E6D983B0 +D15DA90578918DA11F587B8102EC1725641FA323DB7B042AA7772F51C9CD8BB5 +3E7452BB6E73C440D0B7907CFB075584AD11CCCE6D24741C71165918A5B82FA4 +1ED46D3C8B4F2988692936D04905E7686DF03F80B2F61D96B51988841F50DF6B +C519A07703D1A1C3C70A20269686FF5111CE9913B6BD2D65629A07BCC562A4E8 +3A4656AB5463417A5F2A3B07B212E29F77781469AF4537CA5D690A655D5DA181 +6445F97B1F16A08250185C6D5103BBB132E90ABBAE2CB37B82DFDA683854D5F2 +D3292783E83936B36B332A4393000533D924CBA16D3EE3B62C70759EC05FD987 +0C97076ECCD62C61CD2F5F2081A71ADA302C1D3F46A7DAB70834E98A1442B179 +415794662802DA0AFF54916C2D4870F39D0E703E880D1AFD4E2610E2501BBA80 +58109A9E707A282434D1AD221C52B1BFFC8F3DCF0B32936075EFAC864CC08DB8 +A90C9C68361DB7FD59B97050D6EE96FB83DB39297A5857AD41B1B7B32E3B440D +EBD668BD8A412295D325215271A544FFF91736D25392C2000B379B3093252DC4 +48239915EB77272C3F95B43665CB97DD293171F50ABE506E8488FA7105D8A47B +83435473CD6EBAF2292A5725169D48DF08E96F5FC3EBAD5848F9E6AEF5EF20D7 +8DE44C6C01CC1B4CB16A94024BBE96DF9FFC3E1E4DF8435E64AE6FD246F83EE2 +0298F1D7C1390FE13B974ADDE27CD95818DB908B8F049C7CA096069A751D1ADC +43C74BEAFB51B7823BEB325E10AC74CD5A907045CFF330356DA96A2C5642145C +0DC902847A1C9D581A404E7602EBE4D92A4E7C0CC8FD0504729E78C37BC2102D +16B2E4990BBC7B163729B18F533E24D420F8F29598C1B48BD362E49209D5FEE1 +6159864E0DE73B45B61386751408764D6716FD78E1696BC3458AC12275D4D065 +1E075EC213ADE4FC53761B52E0B53BB8D62848FDB790021CCF04CB8A57964D5D +58CCEE948B805403A784DE5F63E4F7A2909A9E5B26F25B00F335F20CEE97857F +5860D68E602B8AECBA14EEC24BB26DEF1183203685A0371E468D10ECDE079AB8 +464EE27DA225D3EE008BD55C8D042B4815945F34E7C5597D536D80B7958E7B97 +BB575430065E1BD8825AFEF88369EE338DA180866C8F100B4806FC9794855879 +D28AE203223A92A941A83028F0873D9B6C28A58241841596B590C547455ED5D1 +63603A6E637A4FE5DE7FC3876B869794839B9EB98E20D4212ABAA68E43179A94 +6A35CF5AD147B5148F20045F5BF11946C38E76B4DF741BAE8663E57C030D7D21 +3DB928111BE66557F19C3BE66F6F65A1AAB66D085EC5767F057D28D540BD6FEA +6CF387D5A22DF4977ACBB68B31FC401C6EF60E1AA46926AD3CD20C4C0602F15A +4367D6CF5DC457C43218C54A82071C8901ECF549B74125A9A11CB5A8D3D5C980 +24FA0D91E3CB11913D36165F25878A8E1894DFA510EE186664FF08B5BADA9E7F +8153850AAFA5D945ABD6415DE29194C72AE4B71D40734B206C447AF549A6404A +47A9B79CFC8637CFA69E5CB0F52766EB039D867D2CD3B7CD1F723E50FB21D671 +0A82BCAC35481AD72268CE45458EEED3454F9C1A1C82A664CC14417285FAB805 +8B9E83AA241C62F98E1CEB505189F9E8AA35F3DAB3B019BC35455DFCE8EF5A94 +FD6C54946DE4BE0D747FB6124009145BB5D2C8336745F39C66E2ABFCD7A83724 +1C1B1D501CBAC3D460E9C75052F660AE44E9DD1061AD361535F4EEAD65741B12 +9FCEC9B52A03CD06AD16E49B27DB27F7C3C1DB323926DCE761EBD7F4DCAA3DFA +5DE34AF388FF76100053EB35B9764EC8B7CF68176A7181B5FE6F80910D33877A +78F9D258F97FB5A604FD7101EAEE89A2865731C189D8AAB00862744A8052FB1B +55C957EA1FAFF8AC09376CDA3622D1E67F65D05F11A0F3912FE2572AD3F8B612 +EA2849D8699B206E1716B1073220F90D434E9F5551D00D8126C2A8481081D84E +D14080F6DADB7F4D0FA17A518859BCA1908746DA83E5D14636A6148206428DDB +BA89F9D2D1C718004D98010A5C56DBDA82A289CFE6BE8B3E37D704EB42D6E43B +FD8CAE6C85302DC1C98C6B14B36A7CA4D2FF608618AFB2B4AAA8DE89A80A372D +F1FE7A99F7F4AF835B305DFD802E3BD0A63C169FE9877E43C06A892C3B6B468A +C9C92B4E3241197D11B60F5EC49FF4C4C72E091C5A5966289FDD4ABBADD5D3D7 +E475B4934BB5322956A35C50EA88FFA3DABB7376E54E9D8899A22228C523F4C8 +CC16ABF36CFE30978D0396E85EC3056152A492CDF3C3A19F1633F32B6B2523FE +3229F9942CAFBBDD9B0B4F4083FDDF64701E859D45F35E20C555F99B7D533012 +E7D050658CDCB8498BCBB199A4D96C5333BDB77E4D0BB5D17B2D211C0217BEBA +0A423B678C64F1D7CC6E85400FACB0B29E197DA781AA197E95850C66C38D1CF9 +0A0235B74BDE5FDA26125ABFB3E930C57FE381D28BCB91269277336C53186E8F +19E89349BC4E1D7DB4A236FCCE813F2A01D850B6DE6054E882EE083A7DEDB9D5 +1C33025CC5B30B0933923A6DD546F1685FF54EAD3D32B612A7C8A8E979355400 +0A8756BF2F57887B238020D2B0A417852ABF09D9A0D892EE58B97868E91174F4 +07B40FA12845EF4BF69A8DFB730D75550B6BEE3238AECD48A5BE8BFB14547D6E +481CA7908F373EDE86F1877F35C597D2110C84A6A4B3E64B110E6CD163A3B96A +9FCD6243509CFEE665465BE95DD660FB171362B3551FF735D58DF86D94F961D4 +83D7ACA8575F69DB6AE6EEDD7EF8BDF160CEB55497C9ABF3DB42ACBABBC45100 +E10405D396CB9DAB8DF65E8601A46980DF746D48DD7FCBAF9E2415D414DCC51A +A08E4CE5D843EF553AD33118A6D0A64B3A911D1306324F885634D8A65E6F357F +B61E962289442E3DFD5DA068AE74F3AB692178A9D80130F44803D138396F36AA +DC1F95E77E82CA2393114ABDA11F18AA26820C7EFB2DF984E0662352F8063E9F +C5C9C81F7B224142E84C6946335518EA6550F0DF9C7C63FA555F28D4700623C7 +DC1662EB3410AB95E31F7B0A0AF8CDF8EDA9E3D382BB5EF6050E1B96D1D4C3AD +1C93A482D96185D413572CB03765C37D50F5195D3ED8FC61D143A7D72D872ECC +CE1D8D9CA0A9FF3BDB64B7773B9B49714136DEC95BCBD3C1CCB8FF86770D9C9C +86B7D7B3EEDA7B21ABDFB925FF159C7A4C2986DF7AFDF0445EA3E09876238680 +A5C83B57B27397190670F954F5336647E13CDF51686E3C03D9111182DBFCB335 +D97E43367A867CE0F105C88488379E88D4314DB435F050420C025ED915C881C4 +F16011A0AAE1D32475488D66B2762AB40656426576524BE5E7720D9D1984D95E +5B64D9E66FB960BDB84316AE17175A31BE184F823D1CEC6146F9E666284F8772 +F8E6B1AAA77BAB8DC708FB53BD0965C03771365AE8A8B4A610416683CDC421B9 +F950D5C760CB11D80F0B83410B6FC36957D35DE9A6D9176B95A91C9E4C3EED62 +D961C39D26A253AA5A2A74B9C528FFAE71450146F0CD2065E2D7C06742806620 +3AAD0B1C486CC62FA28D131392392DDBA187B24F60BF38C89F98A15B28C2B872 +F3AA742645DFA0B39588AA9EA323F73C5760BC6F3A9EE18E9E640C4322040406 +AC90F9089FD2A2F41E85D2FA3117458532A9A9182B9D33471598F1771E3D94CF +D00DE95A7370F76FEF4F15DDA8EC789BDF875D042957357B8550EF41EB96EF75 +F2736D4738D6B9A209D26868ED31DFB81A0F0B482C1120DA5D02B10C52AFB638 +8E8584EC145EB8CB160336FB56C0E6CDD54608D28A3DC196C96D2C14157F4513 +FFA37E4AEE25CD0CBA91B1A79FB0AD70E229FDD532942C01774CF4E8821186DF +83C68BC3FCA64AAB08DB3630477E028CE027B1E7718D78C010C4BC8CF6057506 +8FD212FAB5D0C9E343A0934F46F0FF6B59B7FF2F93F5A991D3B9457150114715 +802C7AC907B16A21C11212DBC362C10D01A1A10CC0B9756974EF0FA7222A1C52 +4DE1DD724AA70EB1B9C02BC69E066C0CC821F2D67FFBDEC0322B7454FEE52CC6 +5DF564F57DBB788FBC2470C36E379518FAF36BF07045D69C641300FEC69BBFFC +DFA900413DC325DCC7A5991BAF8004032F692DEB5CAE7E414BEDFC23E82924B6 +684D4C13856793AB5757EF70AF2E6B240DEFCC65E50238D77745FBD27B53FFA5 +F0277144EF0FA335DDF914BF90F63F16B8BBF1669E512019CBB85DD9520940BA +7D22EE89A9CA2D30BEC0090B431B40D7FB2005A0ABA8278EB74EE9C194473FF4 +9372753873F5584AA6CE0F353225A17D46FFE939A01E3C552A5A8A5C3328F315 +9E666A7351E84D0B48294F98928554FC391EE42B18BD16683AAE955C5F76DE18 +B429CA14DF7939BBC6889DDFE254FB7762C2C83875AD984AA3CB358989C64E56 +427FEEB273273DF16D1A267FBDA8EBFD56E08DBF41557518086037107F01113E +ADA7E152839EB08300C96779A2AFAE943E30B4B31AEE34B4CA851920B387910B +2F26B2B4BB5B5A3B72512F65CAF4095E01A87E502BCF8100B00CD533C7577E44 +E52248DAF2B66DEA839EBCD37E14575626BE17DA59FD9FF97FD0DF4686BF448D +63D9937E404C53ED366D2CE36D64EE6A6E1930A0AF95B0B192FC33F04757D9C8 +7103DBBF0B1DEB49F38C7FC7CCAF9AE4109BD4BDB97754D10E860DD7DF420B8E +2389FC919B6C381E6E0E03020158985EC49ABDBFD726809EF7F4A1835BC08AC9 +94CCCC2BF0E215EB64F095A3CB407B6766AF0919B9BDB13F833BD3F9FE3CBA2F +F8C495389E2E09BBF2DB9FDD57BC9DAF285379A79C77A05770715A7643D8A207 +F0BFE40E995980A3F9933C0A9E1A3BF5AA5EC74752D36F1D5BF04ABB67790307 +FE3245C738CD2CE3E0BC7D1016A597D385201BF0B903E1524670053286799C2D +15733637A45BF71E77B883832C2B2B2E85EF775763D329618C1E2623A9F0642D +DDE7F0B3F1DDB2FF1381B73CB7D605B6655285A6B0BD8C73BE872CDF6388F43D +3455C9D6F70B7D1BF9C329D344C3D32423F43E23EC950F683A6BFB9FDA1A25B9 +BAD1F6758F3207B69E17A870ABD0D353425A964ED374706E1D2CE029EA4DBDB1 +70D1052B79767C00CE74A16818E757B2471F4B7C66C37C075DB29BBDC0CC6977 +CD0B02E72B8D91C7186E75AA38DA53BB1B089F05A189B080705050ADA97D3945 +C480621ACE301614EC21D3FB065EF7D724E910D651DACEEC1DCF51850EE74AD5 +759E3AF3A81C418BA7347B633F1C285A47217F6B2B9B9295AFD32DEF6E9BAB70 +51A8363EE9ECEF904536F9B8899C122C62BEB13C616CCDFAF5170E2E987C3446 +267D2CEFD8BC432268AC9459529676FC5F93305AF1461524485AF2960A04B6AC +AA00BAEF0907F36DACB79DB3003EA756178E2E011B2E1DF680BD329C737CC800 +5E3E63C17D6571F3B22B69418CFED6468E9E8D0C7D52670D319E2D86BDF834A4 +FFDE583B1F7B209DD4A85E6F7A258C663B7386D882453BF13F1085700A9CDADA +628B1CC2E69A792BB40CD9C98D7AF768B0F428187524F864AD3E89E434C558FF +8BBC5044249EB21E71E40986F6BD7BE3F611F11339CBFDB08B5CB04DD94B4C39 +4D87C898209D827750DA7A51C99AAC44543ACFE9270CF62FEFA52B5B29C9D73B +2DD0E3C2196344ECE080D24B044F0E63B1F969D77FB458F0D6397510C7759310 +8B0645BDAAC6E10005DF53F59C0F1988B5D128EE05FA3D1B72B097D96681A771 +13A9D16FA21AC74357964B5D6E55497193865042D02092A10210C880DC2B0281 +143DB5921DE8EAC56ADBEFE14F4DB0A8CA6E817B99187C0A8ABA1C54136F4D80 +C217E0E6AB100CC1A7F33B33ED31BB6007A90DAD22155E9BA0B33628DB429D39 +C0B0B9E6331B93C0751E2C7B079D576BF55D69F83936795E9F3652B7A139D5D6 +D85E73CC6A76FA15B217748B3A7A58C961E40D0243F26D173B8F474869437DD8 +EAA03B88809FAC7DC3706638E79BD627C61716B4862BD5DA5D6BE4E09D835B47 +71249BC09203F5992A068FA4F242ACF5D4033789A80D71091C550025D9A66D5E +ED45FB3D9626BF0D35DA8870A18D3A51AE519627A55E220E113B38605614028E +351B70C4BA6DD84A6524341471D0857061A33A0425189A398923A095301E159B +CD45188C646CEF5FC8A3387B96D736F49A14A9CAD089954EFC96FBC1D5AAF56A +61C9CE117262033B2A9FE5BC0176C6430584F8756A80BFFC2F1ADB3D89FC39E9 +8752FA3079BAA57B5D45B71C95F07805D1EE7642D31C755A902AAF198CAC2780 +BDA66B52594D58830459793B16BFBD2FA49037C1BB70FECDEC91D072D7BCA535 +3F6978C20801F0895135E5F2262C694D6A9CF77110A90486973ADA5DCE514A45 +28185DA7DC9E11A5F142E631B1E0D517D7362C12D1A9C69A0347A7F3F6F899F1 +7826E7514CA68BB67B6D0D677D5837546DEF9641C57ACFFAD580638684866B40 +F6F305F8ABE2D10A5148473A1D647DDED3F2C87BEEC81F6F3EEC3AF8DA46201C +BD48701E38BC5E6CF588DFD010CBA45FF523A658FF23EAD45DEDB7BB3E971F57 +AA1507E5E5795384CF5326C49492702B44C3AC7ADB2BA6B75F4FA1118F6B71F4 +406F3250F2E2BE1F2669BB1AB8255415F4AC4ED7EA1B02F3A2747480412BB15B +8FCEF40A84FEBAE4CE559D17F2D2D254BE78AA1A08BF4CCB81A988D18AB629F7 +9FFE1086AA6CEDC80064DE7EB52EA9BB731B0ABF3A10815D649BBA5659F4A8F4 +991FAB4B924B15096882B87105DF33F3684E75018CAB88528ECA243E4B1F0627 +6BFDE587AE6D126732E70B9BE26B707B155402339368CDB505F28E1C1E3ABAE9 +3F3B6995AE7D3BB2D0411126A1CB7938C6FD8A3844CA670D00F44475E579EF34 +77068AA4C4500BE72386A8FC6F40FCEE796450CB3612F2A32E2DF65980FB7239 +7649D97AB49D3F6830A667A8F41B989CDC9E1BCCDFCB37162A1EEDA4113941C0 +376D8451E0EFBD87D79DE53B51E0DC25E216432464EED9CCA8051803B5F08EEB +16E2477037165809512B0F3AFE270D22EFA230C26174F1D6177AA594F16B434F +C3AE8803B189F91EF2724BDE31AD379638D201A9AFDE3CCD536617534C18CD90 +7C7BDFCF04393AE51DE125735AEAAF881194AA7D9781B0A49948B8D5ACA4549C +D1F9491570D763923658CA9A9493B2B71A638164DBA3ABEE88D8B8C8A309C6A4 +F597ED90D78F8B30537DF7265229B9D4A3CBB741496F12C952453B539CDD7898 +D2B4C0A282950F055E49C6CBD9F219A3A03587172B4409DA40B3273032FCFFD4 +4CA28F3954D3D75BE98CFF32DE14CD05E38A3D2E4942216167B05A2579E0E360 +ACC29884E9B442630EEF3938F3102CA18C31042807FE3131464C7112624B49DF +94F70E771CE5EF9B8021070C9E13B64AEC8500A4E55A1980BBEEFEB68D18472A +C641458F8A9F99BE6FEFF592A18309C30B782B72299445DCE6291D07ED95A80D +5D2A6A3737C6BC2AB3B749036F557489CB325FAB32C25FC1689B6D5C420B4AF8 +8264E88EF1254ACDABCD0CB2A9E22A42E1C757C98A2B887E86CC908D86BA0D7D +702C2811FE705E10406A110968C51923F21F487E310290B4CA4FDFE4D91B6343 +C05031669E0699AB8BDD5C52523B63A4CE33C01896931A6F9D7B10D25F203CE5 +2CEE5370BB39CF517818001A3888E1D4F811BE5F5C532BE0EC7571C399F493E4 +107D33B485F45D7F30258AFE57A340A98C1550BEB342052AC114814B92592F73 +41F54EB09AEF20388BAA1CECBEC4A11437D1289554B533E9E1F736D363816989 +208599041717B35BA674BA94DF52CF4BF9300766AD621C9E9F41609AE6200240 +C0C0B3D063D97A054E7C99B1F66B5CE6612084B2AF185A721815AEC22789F7CA +26984B6F7ECBEF53CA6ED1668E88613A8D7C4C42B434E59633783A4D34E724CE +BE311BEF3A88651B1B5E824A8964AE35DD946C3A189F4FD8C4C68BB62F835BBD +268113C5D3F968B63CE1C50F5F2D4E61FFB311 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTT10 +%!PS-AdobeFont-1.0: CMTT10 003.002 +%%Title: CMTT10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup +/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT10 def +/FontBBox {-4 -233 537 696 }readonly def +/UniqueID 5000832 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT10.) readonly def +/FullName (CMTT10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 34 /quotedbl put +dup 35 /numbersign put +dup 36 /dollar put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 45 /hyphen put +dup 46 /period put +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 53 /five put +dup 56 /eight put +dup 57 /nine put +dup 58 /colon put +dup 59 /semicolon put +dup 60 /less put +dup 61 /equal put +dup 64 /at put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 72 /H put +dup 73 /I put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 83 /S put +dup 84 /T put +dup 86 /V put +dup 87 /W put +dup 88 /X put +dup 89 /Y put +dup 91 /bracketleft put +dup 92 /backslash put +dup 93 /bracketright put +dup 95 /underscore put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 123 /braceleft put +dup 124 /bar put +dup 125 /braceright put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3 +7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260 +6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89 +14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0 +0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397 +3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4 +BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F +D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0 +FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB +556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F +8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E +F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB +B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673 +125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787 +A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77 +4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC +56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178 +E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F +15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385 +2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9 +05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390 +6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD +04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728 +C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4 +70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA +4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A +A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473 +62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364 +240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D +69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2 +ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84 +121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4 +0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB +D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A +0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157 +D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C +550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844 +CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A +9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4 +FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F +7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06 +E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6 +50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A +2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05 +9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2 +44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE +49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9 +385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091 +8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011 +6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C +EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0 +E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB +C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE +484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29 +4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0 +0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C +6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F +5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C +1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3 +909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8 +BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506 +CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0 +2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0 +CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08 +EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811 +0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6 +9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A +D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4 +21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0 +7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F +52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A +FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD +AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7 +F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429 +067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E +E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431 +C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937 +5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B +0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD +CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC +2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD +E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714 +56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957 +F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F +E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F +0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D +67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046 +EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7 +CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8 +9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5 +9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0 +C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861 +327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203 +F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC +60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD +A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4 +B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5 +0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F +1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1 +DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D +55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C +7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E +75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5 +E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149 +8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E +F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB +8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F +D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914 +54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0 +49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9 +CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0 +34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276 +1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA +6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A +DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4 +E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD +4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD +2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC +ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934 +3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE +97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C +FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570 +A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF +639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4 +D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615 +E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2 +1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E +A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3 +F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780 +5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5 +4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50 +664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844 +4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8 +35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04 +1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6 +01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A +5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82 +2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0 +DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C +BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507 +39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1 +C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665 +99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481 +7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE +D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8 +6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184 +5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38 +6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B +F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81 +E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9 +39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81 +7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5 +ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77 +6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882 +2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230 +1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41 +06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE +5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A +288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E +7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F +759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF +E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E +03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A +6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859 +314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266 +74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D +906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36 +673B8DE32322BBE861AE251226B4385AB28702831270DBD25D666FBB0AD7B96E +A44E891EA1EAF0F87013AFC982E33D67A28E96E0C9CB99B9E4192536830D9901 +931A8CAFA41289633B20BA3BD7AA3414B6DA8D57CCF2FBE39920CC06361F075B +CC40335DB9A0071CFF77F6B7BB47F3100DBDC9C4A58C2B81EC99E8E966AF3390 +E3FBCC28BA1D79961C8A1584266454DF772FBA99664D74D4A89FC82FFEDFCFE1 +4C9E4A04291E803D142E37E7ACA66AB279378F2F192FFB2B5BBAD18B95F03136 +2CB594A3D6D3F8576B90A6C4DAD6D6C8EE07AF682F925F01D0B26CBA347C03BE +F3B0585CF4539FDC66915E22117078CC94D621F31DCB3E021998A5D6EE94CA4B +E214D07517283D56973D8E4367392BF6C1150DEBF459D141AE0941C1C8C5CFBE +E735D796E365A1B0F60BB4CF2801EAFE4889EE5F338D3C4885368281B3C95CCE +251C28A90D318A8A0384439B38D63B94757252062EA44E88509FDD2E75FAAB71 +7329622828B2785C1A8B26351BC74237A6BF99216652ACBD4CCF54CFC8AC72A6 +46342F1E32D4318E7E27C7B2DAC943B3E72C472FC6F1DDA8684AA922516A672C +E969C047E318B5E3B1270C1BEB1C4071A15BC81B29B268C679B41FC5E381BE33 +DD95F0D68118CBB60C521E5CB2BA46A10E50E9238163713290DF6DD8A27D3813 +F871C07E725D4518013D9A84CEC96782541E5580E33C2EBCDB18F08EB4655A46 +507A8526DB26CE1C7BB734D124EB0386F7AA332FBEDA5E099B626A67B0061808 +B1AA8A9F4E87C682601AB378DCE08184B238AE514B57CBEE38C5A6038B4A69AB +A69749BFC89A1D7FEAAE52BC1DED5C1A601BD2FED84DC323FB5E8CA70DD44E6C +1F7AC9E39460ABB8201AC2684E63AE4120BD0C59EF31F0B218DCA1EC3AC2D43E +99D9499F6338448DFF4DB502DBCCDB5DE90D7BE62D2E2D8385B1E909605717D7 +749578237A043BF8DC51096B86BFC97621B1E7E9D9AE9AA465942C8C19D915CF +C9411456EAE9EF8D735BFB4715B7E2454D0F598F0BF61BA0C8F12AF87B7ACA21 +7066183BDB1DEDDE823DB3427A54739F3663F1D699F57FA6DF197F87C989B83B +302C91EFD4AB856B9CBC75EE64DB790EB35ECBC176CF0EDB8224AF9A58620B41 +A5C8997C5A7CF67EBC5F433EB0B8EB1F74EF96BF18327FFDFADD4377601B1A1B +1A671B75E2999BD99183436FB27AA0787654AB365D4132793CDF8DB09CEDBD42 +C0AA8C4DC3200920305C1597D3B454CD6504E6961B63F20CF6823E66CE60F1B9 +188CB4EE3C3101286C6D10890FF2EF0C37F97DBF5DF20D3D5AE4B2B5C0EAC000 +8E6F3E3F8D082AC5C1C0428A2626AFEC37BC4104C3AF60FA55FB84177F785F03 +3D885B728B7750481FF3126BAE5309893814BA28263EB863D5E7A39082FAC33D +B46457E63CB27220DC0FC981DCCB6732544DA11766C9B0D3440CE0C902F16063 +6D147F2E356462B2FE8F882191AF86A6CB3FECD914946C0E4535B4F7C0EFA1E5 +377DEF99D8763A928EA44DA3AD803AF38ACCEC624A78BA4B3B0F935D7B9F8761 +783E0C22513C88957309865BAB15B501109065D0D3723517580C00E0C196BF2C +B82F0B8E53A378F4DDAAB54B47989CBCAEDB8A304BDAF75DF3DFC5DCDA563C6F +1C8C9BC8514F4912E4DD84F19CD43A74BE4EB0759ADDDA74ED134379E63D9D00 +667CC3658B3E33987BE2F5358E6B18697134143D76C8B2184A53DC34FB969909 +7484E480154375A2809CC5ED83292ED9C25718AF0D3E1B622C37AE15D967E429 +545A65BB9BC5A0C28C9B6620C88AC1B10BF071AD542DB071B4027F31000E15F1 +636D6AD25B03A443509DF22B950DDB38150538219C18735C6FE1823BC639301A +619FFFEE5B7FB9F34A31B87D9D1A4A2541AE5339128CF7BEB9CC345D8D4E9063 +1978245ADC0EC3BD1D81444532769CDE9A960BB4B60F6F707824256C8F03DE6D +EEA8FBE3B23A4C7B16C5FFC37C0E523D2F89A1CC5E64E32A94C5E222348BAEDC +AE775455F358077326CCA58F4C8A2D1481910C9571003E25A16AEC3A003AD97E +76993E56B6B8EA458178B80CE273341C9856C2F93CA51A4ECDB83B64C9DA2734 +F58D596E67963AF1AE570B450372489B329DCD00EF9CE36101C6B886D2B11C2E +D407DBF4E83A21B3DA030163A73F6EA328E4CFDEDE30E97CDED64AE00827C895 +D8487149A8FFA1EB7F044A395C55E19C6107B45B60BB1B6D62DA83FD6744FFB0 +98997399E0CFF8E0DE311B7908624609106B760DB36843B8FAA2BA68EBD5D3A5 +8EBEF23A04F1959054046450359672AE227F270A4860755EF919663F035500B0 +ABB9D42EE87D178137BDE927F8A98CDC5E1CBE0B99F0EACAA52E40E56F473DD5 +B27BF1C51F1E42E813E85F163BC67A18CC1887DAC73A84259C4C1043A3869212 +7791949C93A0845B9602AFE0C7EE6618173CEDE77EEDCF52364C60F518EE6B93 +9CBCCA90FD837EA47FA3CBBF9F3B5EEE0616289C27C1517212BFF2CF9A0430CB +4BE69786504DA5CFACE59EDA94D33B37FAB0111AE31430B62343EC05D7AE5E91 +BD98E454F752CE741401DA52C81F984E972E628C1804455FA15857B7E3F1A352 +1FD2016251C8FAB46A61FDD17B076A6DE70F49BC5BE6C356CB33BD7BA6E4FF82 +2417BF7E5233C15CEF8BA5F7EB16708D2BE2CA040354BCB8E92AF0B9183F250A +E04683E3F060AAD181FE982D8CC50A950167935869EC0E7884E06617A9B7270A +C4A6F7CDC1CB54B13E7458D28CDCDB300EC47453E06401669A116264C1F74483 +C7210268D605A56DD7F4307D9B046A90BA8210E1C7CF6E302D9FED4F6898ADBA +B8C4891D68A761DE92636FBE41433632A244D2CE90CBC0716697396A9B0EFFC4 +03A17D2BBCC56F8A2A99AF870CA7F9414E42D689B020B11D382D4CAF5E16F85C +873B60A4E04F17DC736CD41A80EC051E8759A76CA4434847986A6834DC9EDB7B +E2947A586254C118401FC08F1496D9BD9060797845C1563D10C922B8682FB988 +983C9CA5D46AB6C62B54D4F601588C7F8D2E37B68DCA401224A9337BA92AD14B +2F917DDF1923D864001ECE575505E9D13F7C9E42DAB32399943E3FD64FB21591 +62CDA15DC14530341A1C7111468EF3397D4EBD9A25916DCBD85845ACC5D35A9A +2F0B2DBF2EFCBBD30636E1F31B355F9617AFD58A54622DA400D0E0B115E4BFB2 +15F781C8CF4E09FD1E019C59171665DE0C44D2F8534791B2E1F3001D76257656 +DD5BD20B737640F3A29B3C7EB47AA2BF9BA6CB5818D780E587FB38F2E494137B +4DF8E98D3AF8973B241DF7BAA52A90545B8A2B4827BC33E14988DB8444646806 +99F978DF8BC284C0947C01A919CFC988635868765BE662F25E9D935B223986E3 +771F39D9D2A58AF2827C867605BEC744376AA9C064CFBB7EE734890C67B2C910 +7B660E8B4909C37CEBACEE7270EA076115E876426F4466AEE7261993A02BC2A0 +6CB7CE5CDD1D4F19AC495807DC79EBC956D317FF9EF2367A702042C991592D8B +52487348C00DAB9B0BAFFAC2F05D947E767FF2268BED8317662788BD91EFDB7A +00290CE3F1673531E591D8A5AB24C231F36745BB9811E2B3FB3D68B1FD278AB8 +F2BA32A214DCEDD4414534FC16F6C2F3A2A2C764F2BC7C756435BB965684F9BC +EDD017BF09725925CC9F79863E850A0820CB3F9319122C135E363D9861525270 +E0F672BE94EF236EA6A734213C4837DE148223916BD6808FBBF4CA6E6665A046 +4504349740C2FA659E3CB5E7D6221A5F231C8D1651E7DB727828D8AFC23BC8F6 +4155CDB00E251AC2E595121F35358C9CACD078095014FA3C816B86B97FA02B55 +CA4373802EDE5D6B187F2A9A5B4D2CD7828CE08712E1ECAEFBF5AB2C8A5AF1CB +C8367EA30F9DC9F8236AD79D590912815142717B4380DD6C3F99A95F97A88C9D +6118B8D200359951534D77590B40E1612CAE03FB9639BD7F109654FC7A7A24E0 +832525837664B0D76720356ACD55D51115B799FFBABCC390E4656AB2D6F3193B +FDA32956C0F7F2A06C4E2C3A2C6E1F9DDF0A63E635458A7A6CB63361B1A0C4F7 +192C9FCC75309341595BE4646020FFCCB7B24E6B486D6DCC7C624477D290ADF7 +4F2366F76D837019E67F743B6B4FF2E90B5B926976ED8A507F2D19E39B5D6DC3 +5FB511CB042E117D6E3B4E35CDB787C320326D41747A138D1718EC76B4126BD3 +908B6E38D16793B9D0B4EC8A024B2F1193BCF234BC8390F16F6EEAACD55A3666 +4B23106A9145774A706A0E156BAA981F175DD9D590B08B2BCA021F553C6C81A5 +35AEA1A62BC7A0E1832338094C3FADB064B24F72017D4F0E02A8D8DFE49A1FFD +92E29AA0F2B2F6685E2C89FD994412A00D971A3FD1026BB5E0F00232AB362760 +990D2A64EDC4B6969E5A304CC968C3C421172E0838FFA96428C24C85C1B11729 +45E9171D8DD4AC40A9065668ADA5581DFF7BA0DFE6DE29521C3E492C7F0F9C61 +C02416E6ED291A2345307E76C13ED376557DFA57CC6B5C54E7F9EF939ED2E07D +B36D044C788A6B3DA78E1D86850D66DDBF90C3FA14C817F58699F70C10B5F6F3 +030A8C853B6AFF745029C4EF6B9B04D93C44E349D191627A8BCFF68E478FEE02 +D303BBE884B2FEA256EF66888C3F9CA10315B1AF06130C12E9420123B590CD18 +008CCBCDF5829539D50F627CC89AD547C8FF26372384C912D819C7A68AB0458A +F8B691B7BE82AD13D35308DA36FDFB0C9554F4E556D62E6DCC015E1C51BD749E +BA0CA2610C6D763E7F89AB32322AEF229BEE84115FAD8FA5A38A2A7BED7C018B +D29BBBBB517BAE5C1FD016305D6105444CB342570D9C46016F8915D4FCD9021B +29A772B0A22E95430D32D8E310C972A48CCCB6FADB25F0FEFB00818F6A1F470A +1A52F1F99638E20BF06313CBFC925552B86D8D789A6FF3A4EF4E46DFC45AA191 +F75483E41975C073583925591501E1E1CD8619F06DF990C0BB28F70E0990B971 +F323C6A00A6FFBAD9D3E145ABDAD886880B7CF42BFB08B98E5B90CD7E6E711D3 +55E66952D5DE574B5356005A82BC73D9050DDA2D4914B65F4ECA8379F7F7BF17 +7E628C6C7C7A466B5136BB04EB826D28D27FEA294379E25A11482398532C8C36 +32B5127786DC1EA568837BBCC0A1EE04914F589AFDD23BB6C24735E5F504C1F7 +F577AB86FDECCEE79E3E8755325437EF1F238C8CA5816AE9F03688A6E8AAD84A +19649CBC7BA469CC9C12F81B3BA68238737A771A332E58AA3B053008C33FF2F8 +1AAF03311BEEC8FA641539FD32138566247EECDDF8AC4429058B3DE134ECE83E +E15252186DD0E8EE240AF3AE52206F96B3D54030D337CA33CF666139E66CF7D2 +88CD8177A029CE181FED2F07D76BBA344C83F56F75E372A4CC726BA97D8D8606 +55BDFD76AF3AA09B71946F0919A9E6615FA7ABB7D31EA54C681D3544CD0425F1 +2BEE3B214193F8A2EEC7E8DF8E57CDFC9B5FDB66F32101DBCFFBE3839D1A45E3 +1FFE9EC86D0E556A9C3CFF7DC2A43FAAC36B9F0074988BD65A53D88BC2BF5A2A +2EBF480D31E7265C3341D3072CCD5DD93FE459119E619726DB7C9AFC1DDC403D +9C1EF23413C1FD9C077D62B7F82F750CC66F10E25AADBB4716A0351B70407870 +EA56558182E6B3FA63C4F141A3BF484E55DA46D1CF9A722555DA1AD642FDF1CD +9734688FD250C64832385CDF47C1BD247C2AE21BD71905A51EDC9F39CDEE603C +3B14F5C70D301656BFC6332E9A32E4461D9693851421C13BFA0B22F0D3D921AD +E3D6D65D1AC90C0668D7BAF7AE5EA0FCC8D7D37A93BF6C1D33A9736A7F342DE6 +882B32B0C9D1124961045D45663DB95D7A20FA222DA714AAC3D8858717B02277 +8C3B945EF5E69EEC9241CBFAE4CD39ABF1B77317CD4C6F1B0C7309CEFE0908D2 +D0B6F1E5E5C6BF068020C6424C7669C9B96D0089566105BEE9414DF45DE10173 +C30F45B9CC9B456B216BFBC9AA687A2242DC310CB2B6312F7BBC13E493C2C899 +3DAAB6C015F69EC85C903362C1989AD96895069003F7BB4A8FF51E7F8EBBCF7F +F85E17A941F96EC49949C75A3C8BC90E34B1646AD0ECE4528661C2F190C49184 +FE348AE644B4A54C059560AD15596D6282F5A1826A3B82449BCAFD90BCABA424 +03018F1C907E739A1FCB024889525AE427E6367E2CC166D4F940CEEC885BDCC4 +268650BF2AB39F338D6551D38EE67A8DEE2640177CBCDBDDADF1FA9DB1CE137A +743CE30546B3892991A86E0938AF43B76ABCA111A6222F1BB9D172EDD7BE9406 +EAB1E7A440F3BAC61396C901384FDA90AB4D413B3DC5F66F2E4345AF21BF2FC1 +2C3EC7E2E7C703930ACC675F2618F95AEF5366AF455A72A700C451DD41D84042 +7BD4457DD925418255AC1BFE3CC10A6DDB93EB62A03E770E6CD1CA168A05FA26 +194D1D533CF74C7AA3CBD09974AD2ED08A127D35A3444D643B1ACDED0B52E404 +59E99BF1ED70CB07798DC0BE24A5CE3138927E077D3429F4CCD3BFA4D2406F10 +76F820CC932DED8DA91D9E9480B84A234183D1CB950EF7EA8902C269A3C92286 +4CEC9DCEDA0CBFC50CD21979C66ADC8D01DE758ABA6ED72DA12372341F664B06 +8EA5668170D3814A7DA811DF4CD1834A1D997BD58EE8D51A3E6D35C0FFE86B17 +29AAE8E5B45DFC7D39D743B72B736104465B67063D0FCA5BACD7C05B21E473D3 +CB9FC55FC31B29F4090209FE7A36776DF2DA5D7D6082DF89CFD601A78DE26B93 +01735FED4EC83379D9A9EF09CC11582DAB1263EF1D94DD2C2A3561A1BA5B9CD3 +D9F45EA50E210DC927FCD7515BDE13E5075CE892CC6B6D797BC4861F50B8ED87 +697F09C4780B3963D714A5F44DE85466E8C3D01D6CF5DC1E2B1CEDE1961C1203 +F65FE1C61FF1CC5E0506C4DE5BACDBD5894AB5BB48A8399E0747298E908B5FCB +3FA8AF62850B0D38709FEF368971A9BE8852BABA795EAC463B5CD6298F532495 +96C2177636FAEC7A38D89E902380FE2C6EEC19C31E4E9FEECC877C959920D4B0 +13D9798859805CD7630D9A3C3D24829960C52BCA69D3ACB9E1F167C1434E5B0B +6878721036738944C6F912B012109161F4C350ECD183FCE075A774AB9BBABBD0 +91E523EC0B48FB12A920DFA1306D1139CC204AEE973657B036F5F541E0976016 +798472D73F2789456C1A8268A6C523EF8B5D3D4623372A3A84A356063164B37A +55E6220A6837ED36E1BDDEF99F1EFBF0A4200C1F77004D5641BB6BBCFEBCB286 +80E59CC23A95348FF9F2D8E1B6F6B916DB8FF32D68BE9F39EEA1FD096C6AFB6E +D9CB3EC1F724893D4EF23E0F44618D8915339D7E8329E90BB62A03F77E451712 +F888B8A371371EE01EEF3853A2EC7A7C8DF8314000B38026D8D0CFB241DF4684 +82A773D5CF3FB56CBA7B9FD2FC379AA99A332852841B3E94C2D02903B525BBBD +616F5E832B8788FC2832669FF0ACF08A0A9B34D891B1BAF78AA583598051943B +972AA191F7528F4DD407F27327258FC5F58BDD86EC1F3CA88FAA9F3B34A9CA38 +9B1F747F1354E70EA66D85D9C3C60A9BB79394B5E55AC9E0405E26F5352143E8 +ECD877505D96A16F8A828C4C89D05B5497FE14ED468B1F144C4D8E0B92731D34 +F0FB9B73B830961F26B3FBE450B50DBE3A959BB7AF1DDEDD891ACE264858C4E5 +58B65AFA44F43F47CF532E71573EB9EEE3A1A498B87C17549A40344874ED53E0 +F77CB0F19E5C5EB5DE7E10DF0C0F7F2AD411091E49BEE1FF101CC15FBE471B08 +CDD75E2634228A2A5D677F1479149F64CB3BBD980E975C074CC5B70D8FF535B2 +768474E2E7D47B85D15978F5E0EA83A6474F0A0D5726723D9A4FED424E6695EC +2B1F5EEC0ECA31DF06040F57BCC480F89B9E608DEE1C20676D0A34E01507E405 +EB308DC3238D11C2E2B279767BF2AED2A2B9079221992A282C677A0F98AF0451 +3D48976C569026F6FB3170B22AA6E556BC5F9BF546A0E60724AA1EE7E68B8FEC +B5F9A96FB5B30D36EC9C10075652ABDBF5730B526E32B1ED14C9176F25CA5AFF +85A11C041B0A89B815738E770560E529FA27EE353281381E3CC13C3B8CAC24D9 +04964964A320A1354B76F4A28E1FE443E16D028E46BDA9168569D8A4E91D2BA1 +D0E08EA4D34A63DD64FF8D687BFA2B020D5EFB4685F9B83A1FCC959563804D2F +10A59AA2D4479E2DBB7E8E43FA4145030B9798203C55CF62DDE6C99017E0395A +5D666B0825DF1312261769672D97F79DA24A3CDF62611858D41BCA89B53A6128 +210398A6A1D8BC2B9B8CFD6F03871A037973F9B8F7E4E069D4C3482207A42601 +AE22F4756A44F596F7FDB2D2F53DA5FE47F94EEF21D1C49FBE58D8C79B98D5A6 +818A313D952A72E1918A110C6E4DAD9D1F512F5D67ACB751404887D100319E5A +F3F88878B1DCAF8A34DC8CAC908A57C95E9E8BF270F7DC1325685E8ACC58ECCB +1BB270346CAFB828A694A75DB22FA68549A51EFF70750F544BC371D8D119F0B4 +E92A5BAFEACEC027A4E50458A4BA2491242308BFF75914F63CE7FE0D4F16884C +4FB0ABC7CA630F7AF59A3FD4185DCDC7DF8718074632F6BB063933769700A40C +457DF0F0E8CA71037B737074F10D7D21B2246D38F11C11EE42FB87959313FF24 +E47B087BD3692034A4493AC6D82D30313F5BF48DFECEFD5C83AF7158513BF0FD +7B961E43DCA6E60D24A48483B139BDCB51A2CEF47B4D6DFA4B45B6E42E31C2F2 +3D4124475E34BA7D17AC50FF84E3282B8810F8E3C95037772EF23E14D0084716 +4238C621313E5B1C895409FC9F281776346A94E3039CB04BD8942E61D5346AB8 +9BA46E8AD2891C98FE1B14262B0770C5F3045097FF949E39FFF96346907F9A90 +206B8D6E753851CB3588E229A18A855C727BF9EE7D08CB6A471CFBD12B679A39 +C2E2CE65721D2070E06D68C10C7B1EFE2062185CA60E8AFAB0C1E8C799C4834A +3C20A0DEC62F85AD4031C7620D6B8443FDA66AB4C5CD4B62DC25179897387CCE +6E49D4DD217440F9B8513B8250DD1C5D5268F9490CC38215BDAF9415C91AE7CD +1B453DECA5CD765E083CC515D3B61BAED6347FC35511CF91DBBAE0A24CBD2093 +F8323440E40907C53D68F61792FC5D9DAFDE5842C88404DF1D4ECCDC8221DB2D +4B01A56F6C31F0315106E08504F525DF166B4FF4F4B213D3821F0EA97E030372 +D76A7752E7B34F566A0718B1914D29F71846CF8647E7841054ADA442837DF927 +97F1940D546037EAF72E20CCD3AFC5BE4AFF17D11B4C9C92EE6A5239EEDB2CE2 +2253068A59509B7458E0112A845F65BF49FEF08398762174DC1C4F4094364EB7 +9DF018DC4B5429DE5BB4D1CBC9134503674F4201619BC5A52B93D40AD6771DCA +426DB4BC12DEABD891116E604BEE4C54A6AD6E700CD2847BB8B16501153729FF +27DD09239E0898BA571612A5BDC875DED7741E873AEE657915B063EA2A826527 +5B9DF021127F27C3BC1626C909AE6771FF2022C8C64AB4F116B06EDCC7BE9D64 +31A92E6B14F388CE96289600AC2CFCDD7835E273829378990005C9EB8BAE9F5A +45A92C86F6A3082C9415E5E921C53DED20A7EEFE36F5469A859929B555920E64 +64278316B1B1570F5BAF45EB09632D7FA3AAA546BACDED45446E51C3DF9F37A5 +075005829BC11D190D2D0D31EFA6CE32C76CDCBE49B6212B2BCE187543D5346A +E0CEA04CBF0142E9E51549007981E8AE0E6D65B50F977B6F7ADC275738E01944 +728CF17A3BC4CA89563174AC2C1495AADCBFA645EC0FFE0C567A7F43539EFCD9 +517011E3B8D75EF2EBE4138490541FBC8103DCFC951A299F78DD02287739EFE3 +13773E29919569E091EC9F5E34445C04733E3EE1655B2B34DFFCB4B7356EB67B +713509B732D4B60FD6C44E1902F25E6E1703216D861490F5CC9E39A618AFD328 +3C8F818B53E2826E9EB56A2812DBE46950DBF1A4F5A8E7640F9F10A8A8BB66A6 +90785918C2CDB3000119183AFE51105AFE0ED3E396B6634A2FD802C63DDB2834 +A088D41F1F5C7945EC4018D1AEE724B4A5B498FCDA1DEC7DE69A3C888664E5F0 +31E11F32E0AF985878EB0A55BF8841593424E191821BE7ED1A0108E28AF48646 +E2029C7F6ACEF238F08877013FC23F75816FED446D3F2B1B58F40C5C63961BB0 +67B51B0D2B158F31ADAC46B6AA4B61490B3E28164F9B63F115C8DCF64C08D8EA +ED2F20E7A1D36FA511E39FFBBE90FCA1F1950521A478FD575C98DA158F29D029 +80E3AB7A960350313DEA0CA5B3A0A0BD9FEB87522F0266E9AA9098ED8D740D9C +0D33D210828A41E2C21BFACC448A8D9F7D7239C10149176783C2F76EE6A057BD +BE248816283B2BA3D713B06A99FAA2FE50636C0775365B59329E3F6F75C0611F +E5B0547AF61859E0C03EA24873E7DD0C8685434BA263197DD58F63E136572FE1 +D04CFCF1305EE86B55D97AD5880C265417D16A6220CF13AC857228E5D805E338 +D6C92D8E0DF910C7E8CA8E01332E5561936CEC98333D98420DCD4156B16F7572 +564CD961B206166023852DD217A266325A698EC373E51B2ABB790F6A2F2E78D9 +E77CE19F96676CE81F40CC72BFB19862C404C6D0F9F2B2FB765E9F6833CA4704 +2B0B928FFE528187BA39C62E9F97305FC7E43A9CAA5EDFB7C4A8D6DA4EE27D88 +B2EC15412154C581AB32A8E896E06E91E4A3849CB766618A05EB4624D9A2CEB8 +D2636DB216102CF75C5617C1109285B9A0C9E3DB4BB0A22F591B53F7C29F2C1B +3A244AE48D2178AF8E0A88FFD7F0CAD3B2C5525D31C32588995FED6DD2EFB9BC +AB990B727E8174EFBA948DAA68791ED4EAF26CF8D518271A76BF896DF0024C1F +EBA1B3F7BAD42D735A7DAD1B2AA2E2A547E73DCCBECA12B839ECB91D6EC32C29 +FA33BD8C9B2918A8A6B94DC09A6420BEF0DEE1F4E2A976A303F07EE93F7A6AFF +FEE920618DA159604492F7669F6B0946A0D7AAA2774853510A541CD6CCB1123D +9B1B0C88833EFCE0C326B4850348E65D0294755BB1BA2191FBD8C2ED1BBD5A0E +3F481B9E13976355A5758380A6EC171AEFDEE3400573243D6BD90F65369F09F5 +656F465BA1D64B5FAA44144D1A93C2D715BD71D717D37D7F691D0C19818DD847 +A60BE6F97291A18DEDBDB67EB4294E6147C223D85D646010F70EE10E1B661F8E +10098913757D2068C32FED569F85201718C84C1F57AAD3078C989E8363708AAE +0841F2E746E3F5A7F06634710A2A4EE31081E367B8F1831BDD838B7FBD1498F3 +D3C005EEBC270544B6F2A016D3D917A319CF53E2E593B8C1CD65BBF3A67CDC1A +3A7A2592C39A623DB3DCDF869CE2CC9E36DB1C10B6360F4E65EFD0E6A1355BB9 +C6E760AED82DA1A9C2C71A8FE20E5A127A80BC76F29B959405FE70A178BEBF48 +43208C1A159256FC02B8ED54604D570265E5497793D6E31B66608BAD220596E3 +D2DF814166AFFD62426E9DC365633C46B3EFB97441E5715EE59D20A80B44E7B8 +6A5F4E9D47DB6AAE0875229F2915B98A62204B70C0C2CFFE3F7C0729408F1415 +6A2604D97605E2D13962DB6EE32EB38FF4D9BF32B813792F59ABCD9292C8D308 +DB3E6239064D723CDF3E3BA8C1FD84DCD45998CA8EAF3E07E632E9D22753A836 +C0BFDA891AC7DA4FEE50E991618E1458B228F269AF82E5BD47E0DC0A75C3B6C4 +917377F1677842AA4866F9EF618B5A73AC8093495DCF0FC7C51CA481F46CB80F +9A6723D1053A38155D1D062C50C5D6A26D4DB2A8E0D8074B48362180CF118844 +975B7A945882151B6FDFF0A81A7C636930A201727966DA2D170404B93E3E8579 +CF91CEB78A6A204C853C1497D5B87502B8DA828026803E5810D1D40FD5C871D2 +870292CCCF76801F23BF7A7582B0C9FEDD24904611DD4FE7251B71036EA87E2B +EF25EA2409082749CF330AF7B7856127E10D7CF149319866E892BD408300BCE4 +FCAF84CD0CEE8C2059BF79C50B4CF60A491DE56E0B2A1C8875C5E1423CE0A880 +4A9C780F7E13B7491818C95FBED38F76374F6593B5E4C717C2251CD7EC05C4C0 +65A2E4E49793842484EA9AC7FEEA28530AF0F24BF60EFF827260A5C417F1EDBD +B40C84498CF51F91A0C801504A8A92BA17ED925C55E4B0DF0EFF6864D95A28A8 +AD639601AB3A0C44787ABF6766B04036FF1664A744A6099950463407FC82D1C0 +D8649B266EC39DCCE7278034023E9FE803079B78A38F939F9E4BAB9C1BF6CCA7 +01CD9A388090D701B9D2C53B09F7F5F271F18BAD5E96F0A88DC4078B3CA9E123 +50BB1290FA43058D737D99B6DB17F088EF86D00AABB69FA4B40C506C136E5A96 +7B7F401E8F8CDF0D12B230FC7E498A773FA29F6A7A5059E0C7F51C33607771D5 +8B09D0BE1F5D7670B0B02AA49C1A343565F2731E12B33236B7F237AD8001452D +EB1CDDD2A730D6BF33FA2F45A2754DD7D0DD55D78AD52EAA7D8F51D3AA2AE015 +E8F2326835CE2B192B3689EF8750C80BB2D30DCE139744B3A47D8457F0B5C12E +1BA24DEC3A8E98953C199B6B2D3C223B3F322EDD8F05946D6EC7B7CC012CD2A5 +FD3D669F2725005544C6F1286B4EA9005E38DDFA460D5CDC5FCC2A0B82BAAB5D +8B62E83482FA3A601CB9B80FF96621885DCFBEFABEA445FB857F8D54BF1B06A0 +2B153234454F424ADA9A5782F93EC2E55C2B47751B30A133A0A8DC9078DA819E +0EB14EB158EF38FC9789F0F7A6466159F307CD7CF0D827CED9431C6D92CA3BE5 +54FD1EEFB1448B933ABB09744A5CEB84F154F9CDF52AF86931F888E5A263F45A +87CE74557CE8BEEBDFFF6BFF1609560D7242C0484642D82C06F04C662D317187 +93F3E9CB56BE479CB935173789951298DCE36548D1D17523263FD56AC7C09D2E +8D72A861C81F7210E39E06860B95B58770ACD8A0BAF536BBEEE1EFA65C2D9D03 +F3B865F2C72530093D40E98C8A8F8B505517C858FCCC701C409F5C0E33A2E520 +6F8D6B73528A331CF784F4071FB1A428C9B8A82777435BB14137607FAC13F4CB +BF7581FB6C0FA3570579242D54DAA7B54F9E1814B88DA7B5A15B6A5B0BF11FFB +D8C1778B9BCA433E64B745CC027C2BB894E0E0A8617F66A63AE21B43C3235572 +649CDAF9B1A6224AD11532887C5648BAD947E54D616CA9A242647A63EDA92B51 +9F8853E7FED6A39A9FD2FE608C76EB10FD3C7B22AE9BDEB7432A86F99E559898 +CCCA486E1AE88CC9AF748C8B1831CB5CB637320126941FEB7A5434C6866D701F +5C3C96EE1DDDBC2AD2B526C61F94D973B62685A749A876578D4FA9A50A602711 +B108C3F31909956395B6B036BFF558375F74034621B712DD3BC636B30E344656 +E6FF0541382FCB7EBA898DCC5AAED63E79ABBF52D6005B22B86927B856D6D793 +257CFEBCBE9DEF1C69A9112B73AAE10473A2AC3CAA28AC029409EEB4296348BA +B1EBE27C8FA32E808BFD96531DC497769CC8BE428B58A3A6F414B28F9B95B66F +9881E257BFDA020BD96BB1645BFF2A5D11F8CE9C3C8F94C6A056C1B6496E08B6 +CC60D9D06C7DE5F60E46C5AE33B8F72DD9C7382D42D52C38319373887B72FE9D +2971DB1DF330C846E988B564CBF1A4629F044A963F7EEA5D5264B4EFC32DD5D0 +3249A851D03224A5310A6A3C44380D5A8EB38EC4DA4A97B348CC71624B600025 +FA66BD818E62AEF526A6CF382F686FFD168AC57D5611ADE4A8ABB8A638DDF9AF +0666C2A3206E49B9242C4C14690712E2E8F1F8C471DC5F127CD0862E62726D6F +7F813C084CC8983FF7D16EE9F851F10FC8A706B65CE4751B3EBAB21262E3DA4D +66BBA37CEDF5217B4644926FF95860ECEE6E0FA538FFCEF5EE086D5C22D9C012 +5455DA62D9170902B622F054F6EF8B2B27F72B0AD597DF8BF51C3BB48B5983FB +844624B660464091C3B00E4CD17DD07AE659863B7979BC45FAE4836CD41B8B22 +A8E1B00BB24CE37434426495E896938B584450D97C71018B8FCD1E59CFA20045 +12D74518E17177978298DEE06A2AEE8811BB619DC5025AD056096A888150486C +FC523772DD0C63E7920FA9A9E4CB409D1BA833C15C3A2F95D7116333F9171E46 +77F08EE893B274B295EC5DE28FA11B223B03F6FA13A21CCDF695E376D2C9A3D0 +5FBDA9A2EC68D89895CD368EA0D90A4B9B516D5F9CF12359B9CCEBB1FAD0C346 +FCB6CB4450542937E4008E9E259E2E31F85827D6FE9F1CE3793C0C7474685394 +2477D84EBBFD1E36D4955A07B15B9DFA8CBE4BD732B3483F5823A3CB99181066 +CE01E76F4768F66AE85B6DA24ED8BB3F17C9D09800898833090B768BD62E22E2 +A155F9249D903C805602D3ADE0D5E5D042141A11C1DFBC1F47C33847643C4B4D +FB7F84A23527B14657BF6A368BD2FF6BB4A2FAEA1BE6A4CEF60E52E20F9E0D4F +655149A63BD643949B82E6082E4EDDAE82349AE86E9CB92BBD724148242CF221 +7C40520A585B34EE02B408EC8C4EC8506A3CF5F4EB81FC7BD4F63FA16C7C72CD +7E2EC14EF116E24E0B2C3DAC4AD457551497B537912B322F5FF60B9399F643C5 +BCF1A960E0CBF7D2E6F1D7330FDDB6E72815CFF8C4E9ECEFB0BD5B6765A17CD5 +4146DC0BA657D34466E939329D3520CD26ADE665AE1A53E531751B6E49DE06AF +24F67E21D31DAEC4D273699907AE35106EBA1EABFBA939E414029E79C7787E2F +5AE7E19175B90368F5F930B28C6BDF059975EEB7C73978C1359E4882B9C403F9 +53A82485AA4535770E40A8ABFDD71416E441ADF27B55326B6879F819967A26FA +38E2E95EDD50A95D830DA95576D1476B011ACAD87416255673DDA4195926A388 +D60FBBA6898493FAD872BF7528D6D899B86D6A776E7FD2AD80D3C918A1CECAC9 +C4CA602409F425882A033464895EF7133DFD55F994CCABDF07C31FCD17347A64 +E848C886AD6BA99B31D0C275BE271869FD2F81E7BC65471ECE04E57796CB39BC +567D506DA8379D3F0E9A441EFF8B7BB9888B53004BDA86807EF370D4AC3AA69F +5C7C395F4C30AD486A52AF38C6E5E1BFBA7858FFD054BDBE26F55AE561D37A53 +2D5464DB77C2D573E3D75CABF1BCB9EF39348BAA04C02C3C132DB72D01B641AA +B28C50D9805FFB15DA9016B2F596FAB2AA1700149B9843530B402B786902DA69 +DD1D23B8CB69C7E3020B8F89B658EE051B5191D4AFA9A2A3EE9B9C601E15A878 +5158BA2249CFAA403EFB8455DDA976456F36BBCF7E2B1482F11033C37826B5A6 +864B0B6C4F5F1685F98249C9E6FD3A48BEE4B7AB435B7D021F52770F7BDC27B8 +E9BD53B97D6BA321CECE7EFC0AE10F4838B3C6FBF5029E87026F3BB8514D70D9 +B920A236493923AC4AE2993F3D39EA4207007BE0F1E6758C6845910A537197BA +6C8637E3AC195097F6046F593AB0F5EF06B23D29A8697374AF8BC19B6A0E7B37 +04942FDC08DA523223A1AFF0C3E960DDB5313ABF09172A1F1B1F7E3A00BCE7AC +18111C1D9C02A1C4682AB45CD6DEF456D8B9FD984EFAF3CF9AB319C9F3BCA0E1 +D5DF413B4E971D85EFEF039167C23922A69F10DC861555D2FD93A7A2F5AA7ACC +EB03E21C5FF0708F5DBC735F01C969F3FF2C6722FF87C260783055CAB2DF83EA +8352E1EDBC4E09E8E38F2393D5949DBD7A05C61E3621CEE7045B0736E569AC99 +D16E49F8A7D0FB89D891650629BC80E21E15060F6439E9CCA6124C8CFDA56AB5 +BD7DBFD383412869B2845FA5B0D4A1B95DF0073DFA877F093844659E5D2DC587 +EA71B3D96E6A6B1C208876A2CC80C0A2E14D0B7971CDFF6134649D702E0785C3 +8F3ED8EC0C6515A0BA2862238BD9956E4470B233B747C5CA8BCC97934B19958C +41A7ADBFDD2673AEB701F198509042D7A168661A18EAAF981EC5D8D089ABB87D +9F287F6FBE32C44E591C25D2A77E46DEB9E39B4BDB1FD1CADDEB08351CC119FE +B6F2B6203C8DE6653188C0C56BC9B7259086A544D588484CF7EF616B231086F9 +E779AA0F1CDD206A68A58E1A47A8462B2808CBD002A638564E4C23972BF9F635 +F01E54BB0E029828E2C232641D917E572662B63786114AC078E118E94BBE657A +E5F8FA846D3327EE8AA4CEFB9E0F7DF6ED9F879FA07BF6C928B340E358641626 +50ACCF829ABA41BFF51B9D65FDBA687212FD3FA9BD7CAC88BFBA176738255525 +417B94803CD3BAD1B563457FB4471AA7FF37E627E881F994B1C0C41D8E8059D3 +53F7A2A9A20920A74D379C055DB9BEAABC42D892C881E23990406532BA96140B +C55BB738A9891534F3021C382099A814E69A9D122EB46A1CC258F80AE1373066 +7A74E73BEB9C73FB58B852FC5FEC78A4AD2559B7CD9EFC5943F245DFAED23F69 +9F1669F4C2B011AB9A5549B33DCD09FF8D5BFA416F45EABD4E3DBB0F297EEC2F +63492FEC28382935848A71069630DD698DE4CEDAEE365120D308956207017923 +067920F8422F3E911F8D4E41BEC6EC8DB4A4E0FBBE955F177485E598F0F228B8 +E49E512B96751CC529CA64C5EB95DEB9ABEACB1C0D6B0FA017FC4DBF8B0F1097 +6141E2CE4372B064C4D23150DD83989E5671003665BA0F0BEC06F814D463F4EB +9FAF59EDCD2D38675C12C0A6E8615184B5F90C2B4C8BE51A48B26A8F01A30E9A +1AD1EBDC0173D2F18F5E535CF13FE64668F9467EC4519F733330FF30DEE23E62 +574BB06B2947B2DF41850071AA4A902B7ECAC73060CF934901B6AD2925067583 +9347BA6810A632F5C0CBC4B237FFC0857E1049AF1840EBBF6E65F03574F725BB +D62FDAFF0F8DDA08561E04E4BDB7930661380D9F308EF466DA04F056C25A8C32 +60D9AC36CD03694CD8D59DCF94D0EA6D25A1D5593DBF7C1B0C1D0FDF363279F7 +33C164DB0E256D67C8C85DD9A2897B7220B071C88194F1D93A406B3881E4B2FD +528EE46EE86FC9C1D96C10B964C5A26E2109D1389C7BDC72A0A932D3C9033D70 +C2B77F7732B40A1A81FE552613FD2E09F45D0DDD4465D68CFF6687283DE4D1B9 +D2C347041B9C1CB3DB7B092A96D772D1836277D60F12BF9C9A4B7F8D807AE1AA +695CC7BD9A6A264B23C6B9162AB0B3D671932245E2842CE22BDCB255B4DF69A9 +A71703B270C9687A4648F6DEFBE3B70202C2F0217DC3659BED38D066C3CB74A0 +9AE76049B5307448647002C538E3604B8A46FE98F1C8238538A2E68CD4A72194 +8CE23F390CFE6F697871E8FDA2004895F6AA52AA3E5046C1DC4776EA1CB0DC6F +F151FA205EE5AAAFC249D2BABDD3A6138CB22DF41B87AD72E58071008D14FEF4 +3AE5F367E5884EB298B3A559FAD7B359A39A813032E7A373AF9550CF1E8CC32F +4136CCA26A5D85AAEC +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBX12 +%!PS-AdobeFont-1.0: CMBX12 003.002 +%%Title: CMBX12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup +/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX12 def +/FontBBox {-53 -251 1139 750 }readonly def +/UniqueID 5000769 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX12.) readonly def +/FullName (CMBX12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 45 /hyphen put +dup 46 /period put +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 65 /A put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 73 /I put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 79 /O put +dup 80 /P put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 88 /X put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE +0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D +2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608 +1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C +42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557 +FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE +78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18 +22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE +A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811 +4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065 +4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7 +95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D +9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC +5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF +9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3 +CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511 +BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65 +9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68 +EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A +D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE +2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE +947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B +0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6 +4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C +BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2 +F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4 +6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514 +D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415 +F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8 +481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24 +FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D +419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6 +7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B +70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988 +2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE +0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC +9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A +C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D +1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2 +A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969 +21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530 +7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198 +17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60 +30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F +3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257 +96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3 +B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950 +1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B +57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE +B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC +8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91 +8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59 +B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E +BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC +21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91 +D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4 +FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F +A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4 +A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082 +A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA +DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38 +7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F +07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9 +BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E +8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89 +E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C +B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5 +45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67 +2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5 +5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF +A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28 +5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975 +E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01 +5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94 +6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30 +8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB +BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6 +9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB +B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B +B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E +8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD +595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E +FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15 +13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A +FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3 +DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB +313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248 +C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89 +F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD +DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844 +8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753 +E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197 +A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3 +C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20 +417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43 +19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4 +9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85 +12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83 +3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1 +A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68 +90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94 +3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5 +B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B +82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550 +1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94 +AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D +9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985 +2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5 +99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A +31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414 +3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86 +F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5 +70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E +5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891 +84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978 +BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047 +8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7 +5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7 +9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B +F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E +94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE +0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC +E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4 +7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581 +596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442 +F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E +7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1 +1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785 +AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE +4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F +744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D +67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA +054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA +6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B +8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE +CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39 +EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4 +C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76 +57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5 +5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F +C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1 +CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2 +848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C +B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB +77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28 +87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58 +3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8 +409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7 +A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B +72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D +99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD +8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB +E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C +82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3 +C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0 +EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634 +23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A +59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F +C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0 +1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C +403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90 +1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893 +75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E +0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35 +82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25 +C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8 +A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC +9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06 +0693AFFEF215D00BFCAD02E45496D7C8F5E99EB9096FC4300D038C1AFD31EC4C +5ACA6B72C1BE7204E37A4CBBCB1EC26AB87F2FF82DE20601025169A5FBD2D060 +62B5B2DBC288C79C33B596832AA18D730AD572C6EDFABCBD36DEA87C0F323C3D +6E537AD3B43C6F3A905597570A8C6B0B4A5E08C08EAFF9731E745F2BA8ED0C0E +1ADF7821CFCD4E38F3F4C243CAD31D9F8FC68B9043740852B4CCBDD37BF728E5 +648215961FA82A0C847ADCC5187331D0863A4573BE520C02CAE14AED4F06B3F1 +FB4A318AB54CD86DEC824707B29F858FD726A167F2333855C0575EAF4EBEA0B6 +754B1775F967140641FC06F82B191244186FF347A351FBD8FA62E8C978B21F6A +E124929876488AFA97FAD1A68A0C3496BCA768F4AF8016D7A65BBA3AAFD7F5FE +E75FE714FFF3D54D09C9747ACA01CEFD260985C6E87477C9C7843343C7E9E3F4 +0537D461EF019E046DB8B5BA258462B2FAEA1826B3410BA3333480CFE0DECE61 +CE2731FDDF7FCF2AEF7CC2B1EE7095F480B3B27D78FA90FBE923D372C680C87B +7F0E702B8FECBE0CBCB087ADD6D28549FE707FCB616448B0D94CBDC404915943 +66539B177D5940370C2035D0FEBB3A3C666ADCEB45F5B15DEA729BF86BBCC309 +0294FF267657EEA805DD28DF5DABB6A7B71D004E91381247F415B3723C651F59 +E431909315A3116090A5ADB8F0EE8F6AE295C7E35C0D7DBFBFC166F037592B16 +7D5FE08342FB4FA5F8917890AD3B65472B2F7942C58D22D4D1C4E68993DAC227 +E1FFDF6DAD0609A83A3F859773FCB1D303EA09D6AFAF573599096E2F5B2C2230 +2F3693CFE8F5696E867B18CEA2D326BDBEDDBA7FFBA2B898A0C0D750C87D46DB +2EBF18A3B4A755CA55C4E18D6213F91DE30CBCF10E761EFE51A7A2757ECD1546 +9A5885C20029D8B356139A9FAD7C139BCF3BF3866BA4E4F3C07DDC4D83B4CDA4 +A7CC1B3D354FE93D8C364927835EFE48AE8A45BF56946998530269C80A84B04A +0F1D0B9410A17F168847CDB932B3DC45942A869D629470067AA18B9217686360 +E26D83C17240217E220C51EFC11E7AD229CB15CCED719FD38A376942D5EEDD46 +B2452DCFC5D3189CEFE38CCB5C90CB5B9D10CDA0385E885116F2642CD37869BC +08F1D693EAB827003ECC87ECD984B89358A571A37D86407FB645DDA209CC18A0 +2AB65E06463312D48584280C888322666AFCFF3C09E6E9CAEB86D1264A09BFDC +85A45ECF1D6ABACBCF01650014E555FB6C43829D16B8AFCFA730C0D910A61020 +8140A2D918AC80813DA9C67C2C6B3CA1BB53115EBDAA0B3CB2EBAF5DB938AECA +119815951F54CE148D64844516AA4B19D17048FF516C10C5F3B33C6A08153E1D +7DF66783CE0499806294DF6928FAB72532A7A1BB3C0C516130664B2D6D5E0285 +C21978BB8AC16E106ED26DAB5B039E1DC3B92A4FEDE498065E574E58403BC25B +4CF360BBC5CF56E4987C4C16C9FC939E824376789F96229B011EF2677D6DE8AD +59D96B9996AF4B0A1E4A219CCF84F1CD572773762A5E69725F13FFEB701394B4 +ABCB9512C24334811951B8757A9534859D5705750CB30A1F61F0366CFC75FB52 +CA2A5662890DA557C9E1FD52A5763E2A1A58C4B3C35CA0C6201169995B98DCAA +E7789539F4335566644E5E1EFF07DF3D0BB5ED9F54E7E46272D80BA7EF73B5FC +50D05C8E3F2963FF15F22DE6C9243DE4317CFCA8515F5CC8D0E3342DB81142D4 +FD822AE9F1054C80525A4B918DB6120387263BFCECD948BE6161B7DE9F8CDD2E +4716059B7EDE5C91F1A80236419BCB3073D2238C47A773D0FAC685E4BD0B504C +F190FA4ABBC001C639DDB5075ECCB53EB53A41D99BAC97C4794F551E4A34E87D +ABA419227FA74659FDF5F5B934694FE5BD327086D7CA15E88ACF7D5E041708C9 +8C2C12B050DAE9D1E112AB3FA5D91BDD00C42E0C03C03FB74174D9E02D6FB3E5 +80044FA5E9D9EE05BE46D6D1FAC58D9B720F5584C67969613511C5ABD9B5B86A +C65732922AE2366550E1FF002C2B93C286EC8BB0E1503A1F14A011A0CF82978C +3390FC3AC1AC2DF0DF14AAA60460B80D82306DB1A420C9F03650AEFCD8FFE836 +48A619D12CE2473670FF6310304CE2D317E6C7C4AE5A0B1635F66855F6C89676 +2E7FABD22FBE155D1A2C5A11C76A10695FBDF4C347CD9B8CD07A20AC88FCD513 +877987741CE4BE714804073767DFE5B276E325F1C62221F4730BA23644717206 +131642D598848D3ED015E30DA58A7920035A61A9434FFADD6EF7C4119F7A3967 +E71737A64698C4A0D1A20C509BF22B1E00A353E4BA2C309D6FC8EC57EB89B7A1 +3FDFFFD729B690A6D24A0BC71C6B72D6E305A19BCF038B9058F20BFE39E4D45B +1D53C68F4A9C3B31CACFEC2982342DA7491857136FEAA880A1827E80CC4C1D1A +0777414C68B551DB90F7E3176456B615920B6F56AC7F805E2EA7071BDD50115F +9900152ABF51FCE0F5FE546C75C5C75DA556C0BE01B1BAC49FEB4994B8D61CCE +303C2A58553AD31EB9C02AF6A6CD50D4CF9E34B1152B61DD0250BB40D7ACAA03 +64074FD026AA04A3C49B67A70D915A1C05CF21D91B1AF87EDDAEB1BC373AECC8 +A6A14A8F465D4766D3C7FB27216207C6D93AEF8E5353C6FDD6E0356D4C87A530 +7910660F1EBDC5B1DC85EBEAA9EEF36CC8D2AED67E42EE0C9CAB64105E799680 +0B2CB3350F8194910480F0435971FCA6154C2501CB9251E4CF2B37D00F1D80F9 +303B79FB5A503CB366B833CC84EE21E0A6641746813FC96281AC600E00544049 +A1E208E333E1DC640A34DAAA186B312EB6D5F8284B7F94B980ABE7972B988FBB +D562C51AEE661A699DE631CA76F40E85FF848FB9885161F11CC6ABEB5B3D6FAB +D27E57EAEE1803DF0B9AE156F877732FFF4A86F5689187641D296B6658F52993 +181A7610DEBF37320B355D45BF44217F1FC1A124D3C962465B32A94624E5729D +E168C57E98744C114CF8DAFAA5D3CD3705D10CCFEDF9CE2640183CA4204C758B +ADF722AD70C1B9D1F9E68540E8D63BC3C918AA0859935B78CCD0D7D7A45D25AB +7DCC66887B305BD6908AF3F5418CA41C43F0F5A9580D17A6001774B8E1DB4A5E +96992867E048E8B3C5F7533E35305106E7EC6465504CF2EF1D57E7253D400ED3 +4EE06A8B8F462974204E5FB1DAAD6AD3BDFD2CD64AE8741701D6AC1FE78183F8 +78622799D4F3FE60732D97AA5993A832C8CD2DFB2224022F45F340BEC5E9E832 +B4CD470C1EE990962EF61A2D41EEF284C62EE027E647941522BB5F9F9C608827 +2569970192B32D8CCAD5E090A5EB55853BB2A7FE3A982326AC7BE414425DB460 +E54409225889675B65F666A1A8DCA63A787D308799D28BA394F2B38451E89882 +84B59FD092C0DDC1AC4A2265D1BE33FE548871CEB8AEEBD84B53A4231A72DA05 +8C0E71C54053FCCE1AE51479853991112B672DBA938A97749154FB0B3557CE6B +A8FB54F4D3685DF1A82A7E51158929215FA322808FEE9B17E02D02947C47DCF6 +FF36F6ED59E66FA1BD04AC0AF2CCA4F525AEF758677F5ECF2CA1C892C7235151 +E21722C2B7AE48EC3D72292C3902039F5EF205030B2F4B333186F6A34EF42FDE +AF32BFFB7082D67DDF250E3AABB0B3567DE1F4BEF5729D280CA1258CDAB72E6A +28963014D3DA3B68C2324B6DF2B13DC89FD6726C993A22CD74EF13A4BAB6849B +E7CB4FA37549AED5386AB76771C2C8E95FBD3F6E244525C048BC50D5A3A1D22E +E144EE66054AEC0FFB6C8F7D732559E032E217943641B4B736EF02514C6FDCDC +0B82D54898E44DD745228ECA6D2ABAF7CAB5035BF672B7F2021C3A612869180A +1DFB2DD6F7E8119B5253F61A49473F9C7D35521F10CB64077152D0D23E77912E +7ED0B2EA1D685086FB16922E1FB7A91EEE57CAA764978E496BC56A69812092E9 +2DA4D04DCAEFF97B267BA8F7EE5154023B7A3BD80EE3CB0CD404049E0C3D16C7 +6265461EBB8407737D2AFC07162D23FEA093C63019BA6B85E967DD2EF2C97E22 +D61B5B845678AAAB99202C6CFB095B6B8A1CFE72F07ED3DD17A14A68980BB8C3 +A1E04633FEAB19789433F08ED91577E5E2491FE93EBB4937FB4034C8EA9D2297 +AF8E11F48CDD0866E05843E502BF63E044ABBD801D8ADA842562FF23432F7274 +0E668DF5ABB0728C7D64E626D42D416216BF6229C4A5D0B4F784486E777710F8 +90EDAD8F2444B45166313D1BEC1B9AB520486B987D7C4F476D445B9DEFA5ADDD +584C6E301B2215098A05AAF9CCCF3BE7EAAE9B8B33C3C4C917DE6441A14A5A44 +248893527BC01375F774C0FA90C709684A3651C87D5AF2515C0D4B2AF2D97924 +D22FBE194A13DD9B6158905E370BE7F1D212D2CA186B673FDCC5356015989411 +A9609F8473F78AB75C27EDC644F8A460912EBD78DE25C3F7E814112F20AC1995 +B8D720AF2BCEAFD2F30F6910410D168E80A2E8D0E6754B0BB7539BCC15E225A5 +BCE15745DD67E2221A3CDDAE730917FB0563C909B7040538B5E7641C17BE6FFA +913607BBC5F85B0D12ADFABE7A9F8965D10651C94BD3D1905AFA653B850C9553 +73C1DC314DD89162B9B109757176652CB42673EFD926676E9B9195CB515FC34B +2812BD7D069B627ECFD242AA9498606A2155D175117BE9926A854DED16CF4F25 +31D7FCC8A0ECEAB9AA6D0C880182E8C3218CA53A7628EA0EDEEA367BD1F47DA4 +77031FCE672A66479BC6D5A12B5EB6D2DC10C1B4E10BA2972B9F3E1806CD9564 +D88955610D1E80A6E5278E8BF1F083EDE7933D0C5525F6114C5BE139372EC6FA +68D29B1CE6B485CE5FB423D80E809C9AEA33F1B43E394B463CC33DA07AC3498C +D6532C3ED58F7835EA832174189FC324A7867104B1E8754A06B8BD9B6581C0FF +49906BAC92023F1671A772F0D21EA57DAE88FF2B7727987E3D3EC475ECA20D31 +BA96015904A963E248E07AD608D1B34145F3EFA1F69E6ACEAFD78908529016F4 +C72C03C78EB7D2C67A73A5BC2D85810994CE916B53C4C5CD60E58ED05F9C93AB +F06BAD33A15C332384936DD59A9CC3D409107899E096B2E7AE02EDB5ADECBA2B +EC5A4F170204BB9696D4806F0B3099DA4CAFE2D2E529B1EF17DEF2C4EA306AE7 +30A357E94B8028EA6850C70483213C60B3D257150035E4C5E32060AEE2533891 +09C35861411A23BFBDF36000F9DB23B365503F49BCD2A134EAD32C2C20DDF725 +DDBB02D89A616BC2032B2C0666B33715948A160E80FAB4ABB396D662716FC1D3 +9944DA5F7AC4AEAAB838CA3AF620151BF840F22C5075661BC683410C726B6C9C +18EC021306F335622395C6227BCAECC714FBC9436F67ED4051A4F51D4D5F0843 +968F59A7C871C198B54F92058B67E73F72ACA89CBF2CA6A2F7ECD4DEEB154FAD +706008B1174DCCA69F5FFCDBDC1C8E9FD454996D3BC830CB0F13EA777C349978 +0B18E4C33AA64795C6B151DC2546A9D82AF3D8E6360066F8BE15A8431D222E97 +7926CD92541669A89B976F9781C543BE5932E9FCDFB7F114FF576D3315BD3B4A +F7C9BFA8118B263FD5007F7DAB616B6EE04683E03E456469890FB878F10ED1ED +9C034FD690364078F3E03DA910ED833F50BC57834916A7CB65BCBB4BD980B59F +6FE0CE4D988F936B13ED085DA2729D1133F9C417DD2F663DEC20F992964519DD +3555825693AA815D60DCC7B4051525C246E9AE5887BB2D6C9EA20C8485C037D7 +1E4672A4392112A927473810D13B861DCAC2D9B9CE04519E1451DDF8DE23AAD6 +C2FF6F8E7AB06832298BFEC1D28CC39F204C49A8C3EA2EA3D1EEAE27AAADBE25 +BD0002C336FC4C4F91B89AF330C2230274C25BE75503458F945C2FF8ECAE6AE3 +ABB01D7A56C9D7B052F1B9386EE9F656ADFDDD68F10A56891BBAF42CF3A81BE2 +CC98B4B9453D8ACF30E703580BA2788C932D6C9C9DCCF8868E98B6EBFB6DAB2D +33236A77CF940210FE27E796371B129540723C2F216BEB1A3E240A64797A0B5B +28B2EE3A781069FC4C7AAEE3A57BC008BFEE473CAE86AC4BA1996119246D6706 +C114C75D6C0318A5835E339AB8E68E586C15FE50BE15B55679486D3309468289 +1AE95CB9AB4587DD7443AB38CA7C19E2087123EFC4FA2E48F4FE6B1BD18215AF +416609AA9D21E3039C419FAAC1EBDCAB2D5298F58CD87DCF781203BA4E44438D +4FDE8BB651800AB50B5407AE224515928FBCF7337082C2EBE189C0A614ED9005 +ADF8E44D77774D737F880196EE269DADE0802FD27132A03AEC7B2E3450830B8C +3A5C6AAA02B76A42B3C01BD3C0E36F58860E67CF3DB1B75CE191920ACE608FB4 +CB4C2C63D42F78490DEEF35EF1AE6A425ABF199239E6AACB28D629648ED118B7 +6AD6529A182D3ACC8A27802054FB55E5063B3423536EF4347DA38C7644CB5449 +DA861CC41056BF3F684E30F7D4C8C270420038650732B777A13FF01BE5FAF6C8 +8A8C8F9A9463BF9204CB961593C1604E8A8893CC655AAFC06AAD5B5ED25F32B8 +BFA326C2DB9FBF2E63F15241777D4CF02F52232DB36C8004462DB106AA2AF3D9 +29997EF8567794B7DA7D6160A6373E2AF3B9D00EC0100B4D024CD66FA9214E5E +2BF5FB4C7BCA4315670FA0103BE85FA49BFABBE99CA42314AF2801D028ECE6D6 +B52FA6A21AB3CB83C79084A9C71516582B0C5C53F7346691175CB7F437533A3B +8A66A2BA1EFB4A3140079829F7668BB4489076785AE019C21FAD154FAB6C30F7 +D190C6B2FE6A52457089688A60B5B168A138332BDE0EC9573228A76E94EF538F +D4AB4BD467787BF7B0192DCD536F8F88CCAB88891097120E2D77ADC5C144E202 +EBC4CDA18F43A475BFA9455E7E44230CED292F75D36AD92CD47D7008E3288ABD +18FCD0F77239D048AC59D64B97EDC5A96F518ABFD6FA203A55EC4976489EF969 +ACAF6A34E3495CA4D335530791757EBEF5DEF56929884734F7B7C2DEF6269715 +6C1FB90DADC1A41DDABF8F8EDEE0B6E78A42B23D5985A5BCA0841B964CA15746 +EE1796E9E65DF0BDFFC97DB2CCA9B11BFBD78F517AADC23D2A94792FA1482D90 +CA8E0111886C9CB6214EF6A55E75D61A8A8ADB81500B03843CB7D440284DA069 +D7E39A8A5F4CB43BCF71194B85AE7FDF7873092C1AE2715A487958D08BE84EEC +46E015BEB68E5FB8B58CFC404DD4012E0A72B3B3D3B3BE14349DEBF2D684C4E6 +94E276891FCDB2E072BED7277B7A03B424FD231EF02A472B141E89E504428BA1 +8EB5F5D3917664113643CBF1D9DDAAF803B1FFE91D29C4B00FF725B1A1382454 +51D47A9537EF8043AB429DF4A4DF0ADAA648834FC1CB68EBEE8BA3A78C55E316 +9D4531B98C489768E228D11CDE5228D267D8B518DFBAB4E65597E1E6CF6618DA +3A6748B23E4887FD7723EF2EAE06263FDC8F588DB0538C43210ADB19D1FC00CF +C3532743621A5B7EE0F0C947E208AD177EEDA005587B321C91DA2EF7558D8FF0 +71976BFD6C20E65321F9876675BF4E85C985992E29C0E81DFC148A5669BD7AB1 +D2B8C5D7567045665A0BE5AB78ACC62DBC606C8BC8BE72668422F7C34453F79D +1D139BD531AE59496BAD8391A28B8F90A796CE140BB827D5B0F400239513C462 +545D26FC79E1887065AEAAAAC827D64093B631C21C9EA4785463E7F0CB4EC970 +E77A97EFD96FA07BA7948F8E0EC73F0791D7B43D9D3132230683D9085A663965 +71E1F854A9A63DABDF52FDD089C9F4FCF15BD7B46BFBE6CF0AB7C5B88A8592CA +C085CE41FD15F5CDB0A754B4E74E72C0C42D1B8E31CAF1435CCC9CC7A5057E98 +EBBA851DA97723F22079BF4B0258C85C2E1D5967F5FF29BCC9270BE86E59585C +2E929A51A9486AE925E4DC135F4D8F20CCF716EA5364A85F9CEF91389E9943D3 +EFEEE6B35309899900D3844EEFDF773D4EF5D7D12FF737F0BDA0438FEC8B240C +2EB9F4B8D7B2E245882CB8CD1E6DAF06C28A67994D159D4C88D2F0B0C0D23B9A +4C1ED644E00CF218DFEA43DDBFAE046EEBAD0D332226058AEA329BC85F69E9B3 +1F0CC47264196FDED22427A1F88D82B4BFCB46B50F6DBA87DA83AACA9E62E69C +D71479AE3BBB599ACC52D3983BBEEA42D1B97224E620A22BD378695C9BA9CDE1 +0509FF5F962082B688B786A3D5D0C5AC21CFD09B85934C34CD2448F96A6B1807 +A98AAB7D2AD5298A389256FABC0FC62A0D85456EDA49118BFA5264DD037CE55A +FA985E515E591DEC2623F204C4E7057A6901898F9D8964AFD57F4B0D4AC79F15 +FFBB35EF968DCBAF5B042FC8C57BC91FE91B4BE2D773082B118C38A57A7FDDBE +03779C4EF91266AECF14EB23AAE9075548F9A9D6BAA7D7BD3B771BDB6F37BC48 +3985CAC11BA5E826741A3E8DD6B0320E68FFD39B9E4A287A4AF340D3738D96D9 +8AD44BBDBE68EC122CF3A5E1A17A1A5C5478BF91D9F9F55055DA8AF421845771 +CB36B067C263BE913F3C33880724DBD0242281D8735593F13A8C4EAD2ECF7EB9 +0C8C93DB06CCE8A05447405A7C43CC6F92FD49A4CE7E943FDB747B9859B9F8C4 +90588C8E489646E46866E82ADEC333014E6E8A45F0B496FE54AEF91A15A2E0BA +836AD72E6445F91E0E06DD4164A97731F59B60B1A46FBEF80395858B1EA75F7A +36B246DC095555976C546D7697AF32D31C83C4C0C5D978B0C62B93E1AB2C2F48 +0803157631A16B5E8FF34A9E756C6DA2908815C9CD14143273D15472013791E2 +1FF12FB88B34B0785102B169807EBF77189EF85107151B366716D016791E2A97 +C2E9560778A1C54616E7AB057E131D63D2465A6E0B0C55B50CB63929534DDA5C +125E57D805B925A4443F3BBF3D16D31BF812A67D8ED5A6A72946632537E4DEDC +D0BAECE36F04028EE2E5C9695383358D855FAF0749D6AF131368C3ADBBDA756E +95A5A9964103BEA1A561186239AFC87694206E6EDFF49966DAC73CC3C13DE343 +7A5164EBF38F0248E1AFBDBFA0CE1331F97C687EC8EF077FF25C58D11A0E7520 +4A111D5A90D921669A55C92E905408855A0C99103E42571D128FD0EAFF03E970 +6F3A79F55D018C03A5369F3EB50AFC61305237D340E0DC24B920EEB8C5F6942C +56D3CAE8F99B9253A4B1B9BD61CE98B2E95361F9D97FAC2F4532F1718D374D0F +092F4666453679B742938CAAA9FC894B4C59EC0940D75D38257B2CDE928EBCBB +7DE583835CA1D6A033AE0341674FBB203BC91F46931C660642FDF9F59D46C135 +4E5FC1A68734F63083B9E82EFDD074ABBE9B5AB9070C77FB9277606BB5F656D5 +42A4FCE98ACAF597D51A1EE37B081A9831B2B50A47CEDE7F2FFF6F4C640A05A3 +64E0DB2BAED6EBE8A256E6A8AD22A9BE340F3C0C8EAB1BA9ECFF1B882B73C6A8 +422209057773FB6D6C087AFEBA0922338CD73AB2E809D91DBDDE557D4C512E86 +A9C78A8DD4D22C5A9D0E6BE107AFC9A3651557279334B60099F574B146D07552 +F7D49EF1476222E376284CB2E8E73C2D4418F76D6849E3048A5B2E3CA30F9436 +DF0269D126118A00826639E44B8631D092EEABD03A33DD031F274C16B1A615AC +ABD91CF310E2D98B37D2143241295CB6B43EF594CA5CC879634A6927B00153F5 +1A94E210F3B7FBB99D8A1CD56B4174FBD35FDA6FF6B1C93B20D730B43691583C +55DB97F1A06396E8B3AAAE294D5E0D513EC332A286EF321D22535A5A7C107FAE +081B30F5CBEB7AF8BA1D69A7A7E4E7DA3F851DD3AAA0F70C3C24EEA69D6977FD +795BAC0B51D23D7876CB7D34D476F9AE4AA88D2AAEDBBF9A9D5D4D298EA951F5 +69819F2AF82A3630D55E7DE78DC8335E54A07492A19A13DAE03BCFB7353E27B8 +AF54163020D3546D92B935685843B61043DFEB6CA5134A735CE3A205C3F29825 +A6C758B203F7EAE65A7E4474EBA34ED704AA223A2F809626299B9242400E42C1 +34D679E57E1C954BB5300CF19E8BAF32801EEF461F357287D4277FEB2DBBA19B +E783CC34EE84710E6C8362D326B17483599767846AAF663E6A7B89A03FB089EB +7FD4B6ECA63440B74CC49DB2C53C0BF574D83233689402170A1375C3B23E0786 +4A52EF9F53F15F871D5860F4B439E60CE6E821FA5225F57E5B28922E88185167 +9989A4589D992921FE039B7B8118BA4615FFFE61693A75943A77BE0724FBE556 +ADDDB26D68D9014A365ED3D237731A11E2DD7D9AA51E3DFE4E1C40E0D1533E7D +21E4C4625108019255F71968EF2F89BEFEE4E9BE9A4B975DAC52DB0E3FC24FE0 +BF0C6AEA94DB4DF19A7964676D72C7706DA7FDC9ACCB80E59E0C69B60A71C18C +D15DB7EF042C58DBB38B63C81B961787D428DDCEF02B136A7EC4DAE53AC4F1B9 +BA74E3490C0C4D99742C777FEB8E2558CB627D78E5FC42B87E17AB389967964F +6AB51694215582BCB587CCDA2D1AFBC8E30F56763271E55849FAC7DD65EECF04 +243204403EDFD1D4A4FCF30554D254A7BFF1693623248E04788897E45A72964C +6FA63E1A9E5CD923104D934BAB99ADF847E2656B739D4A5CFD3DC7ECBC5E6148 +4084013ACC36D4BE9E7100D663551B64E36BBE99FED5A3353F976C373205B7E7 +7F33363C29A5BD36932B50E9BFE2441363AEA85B32F3F0A1889B795068187B85 +FAA0E5B34981AC5687785DDE5D8FFEF98F82C1C4A6D8D5B1172F121B13DD6C67 +6517E553E70270BE7D9ACADD018AEA11239ED14A5501854385E6A40B03E973DC +1FEE444C8050CD4CFB10245322CECC1F0F237CF7A1B3BEE10842B238D4693EAD +B57592FBA63A955D6763EFF0A007003A602FCA61BE2434922A811742DCD6E65D +5C5E054794124C14A81DDA7A452B787C6F2862C3857BE32B71E43957D8992D91 +2DD8888D7B66DC2750615B8644E6CD2559BC1178028EC68D66CCEA96FB62DEAD +AB30C790C5736B44745C89E3384FC18444A3135F57216E1DE5705CE4992C7129 +0BA6042F3A1C2D68D42FE579D48E5D71C79EE28232D79C1490A69C3827D1586A +F3F54704F98AB482599627BD8EF83362D4CCA5D5ACEA99CD0863933852E6F0E4 +9263657CE5F3128FA8B4970BB7BE185B0DC3351CB99E05ED3E03C8BEA7F66BFA +2FD54BECF1E017AAE03B1341F384D8EAA51D3E3D878EEB587491B60E28349123 +C06667C604018CE1821FFADB76CB0BFA9DEDE0539E9AF61AC16408D6732FB860 +93B3BCA78EBD0BF04F390D4F88C297DF5B973B2A76344EEC3AE27730999F7E20 +90950066C9AFB641E8A399C9EBFE4C42F57F965FE926192E24085D4487614EBF +163A248F9A2052CB37A4C3DC5C87396100CB079CD1F29D720B3DD43E832D229D +CD1856FC52C5B4A1B41B66AFD8A194BC7296641F3FA7023C5CC9559EC0D2389A +2BD806D255A7129BFD584FF4246B092B579CF09AF23AF59313C9353715B3F9AF +920F8AF936DFCD834AC0E3D6FE2AFE9EE678892DFD49889AB8B3A98318DC9C41 +19F9F06427D3C0842C7B1297F998A4A418C35CC6E1698839653F30CF265342B9 +5D489655750893D1FBB2FCCB3416E0A649322B8E07E0AA99A549356F20624E4C +C1A488BE36A1FEE7D46AA360CD8EA3434E24F70C8B65231C45563AE589DB0EFD +AB15D028A6B11DC7F05689005D36BF7448228327D6EB5EBE192742301C9FA0D5 +F6B660AFC5B1419A3F4759DDDC5D189573658911078AE51A1634D472AC03D419 +801615D6C3C5D194F80CC92CA2769061E9E130049F22032EA34BA39A31FBC065 +9013292C481DFA698E2417DF30BA6035E8B5686488B1515E99780D2EADE876D7 +31041C0C986F31495B7143C249079DDACDCF4A2E7E83537645AE60D68291254E +8AA4076B44068AC5E6980C3FD91636A2725188E623C5637AE59D839DA12CF247 +09FEEA50307900AB27DB9CC9CDC88A25E1D78EAD90A7DE78EF3045F0CCECA7D7 +2975998866837777B5D9B9895C8CD1C494FBB129C4D02FCA23CD9EC08532CCE9 +1F262A97C588A09FDB1464DE7E532A3129C65D609C02BA7FE221552601F459ED +FB88F5CFB4A3EBED73460AEAE2669488B528176747E4067A7BD8F85AFB3BF237 +CB00F1C0AD0AA5E25D8BEDFF7C8A4533B56B51D82C204BE683A235B8FF0CCB8E +46FBF025A784E6923081199AE2F5458E53667B45074606335F34EE27D134C109 +0F8CBFBEA45DFDF4199A27301BBC190562CCDDCD54515CBCB9439245AF95C620 +1764B0FE0E4C46CAC634292BDF57DBA10E2043A8BA45D8FE670D01C588C48AA5 +EDB7489839B6BAB1B6F2AAACC921B8E26135DF45942C3E20E8052549CA6B186D +F4D5BDA93AAC2DC7F23E50A81E700EEA9872C8574202F1C183D7587940E38608 +51D165AA7E8474A2FA78A9EFDE259C74DC837E82A8C1BDA65614F3C1605CC050 +7A9977C5D078D45F422BC7E327C62A43B80A127E623F8400CC55FB45900CFAB0 +88C6246A4F05BCA3A0AFE7352F0F2CF77FF5F001715910F8280B356A17CAFB78 +DB43081520259E452D79CAAEB5603A2B6C9AB027C2799CC51D081453C901F424 +6838294A51489B38C8EDDF7C6C903F232EDD9951F4151254B953E00115121F92 +5F5FD9F91BDB704F7717183C9C55C21807FCCCB268B93751DD737EC905C8A9B0 +98910693233B856ECADFD55DDFDFEAEF53F1FC27D7C7089DA7582A583F425C6C +DE8CF462400F9FF1B462787D0005A05F16F5904D1D10B0C60BC364A307B054C2 +E9E8D931B3A092535AD45D70265AB56D3E4403C7D410BB83227484D16E10C9A7 +52EA004678CEDFE2C2835C021F46E347ABADF4354E04C35431864305AAB8D7C0 +8776CF6239EF485E44F14C1E616F04D98627897D310FAF339B00F3019223310A +60641A172E0831EDB572F4E7D85BBC15DF0448A6DBD3435B5FF0A952DD86C0E7 +157A3B667BB97BD85FF37BD0E12D65D2D7E5A33DC12764720734815B65302351 +5B03174E29B57E3216BCD3F2B81001D8D625FFAA375B4487478079FFE5F0E21B +1A90AE727938630961DBF133B943E8A45EB061DF80FC718D35ECC246A24183F2 +43861B1258406ED408DED145F18D4CCB95069048C52AB14552BDFF1CB1F1F963 +6531054246EF3F3BC9D65B36345DFF7819B8949515F2313AC76B0F241DA78099 +E82A60D2BEBBF180E744C06F5F8E8C38226525FE21EA8A6CD551D94B15F0B8A5 +9EF3FB5A7F2EBCE1C29414821CDF3BBBFF808D4125E38D05F77E732EEE0E0CB3 +509229A60A80F475D61844189DDDE1F980D153F9F374B710AB3B96FD576B9AE8 +178CC951143C0E8EFF96B72AB4FF837BD334D2A516EDEB59C1E6CDCFCB3FD915 +C446C459C028EFFA658A6F1E833682ECC949E8D2353A24ED34643D348D16B4DD +020D8E8DC9E989BEC200429804E1B8161A9F7FF2DB2BC00F25BFDFFD02A5A82F +71F4678E5E5A8F6CAEDE2A3187285FF305C5AAB49B85C3A40087A3459E4DABF4 +145B0C79EC8AFB73E22391AD1D0DECB592354837433E6DD2057B6CC9B330AC18 +4D8C09E732E5E08EB842CE59BC1CAB5064E019B265E75F5457C41B811370030D +4E81B1D9C66D9D60DAE4027945F24F144B5003841881B8882D8E333E7F7A3A7F +F857D2F1EE8DDE2A6D441763AED454D51BC3428EB8CEDBC31FEAE877202D7EE8 +4C2E39CD808863A2E56930DFDDA7796750F6C133A419228BAF7ED0A19A3132B0 +39E641CAAFD425F43B1AEEDE1FC34517B97E41CA66B85EB35934ECC22B75F595 +CD0162C13EE55BBFDC923AA3BDC67CAEB280985C5DF695B81FBEA93E39E8E18A +09377C3D7A71BAEC59E0491BD32EE5E9B0678FD769796B4130F0DBF715E18137 +D02B5E851DAC95769FB5C038BAD5F4AFF7A77A0116B4E934BD06FF3C39F7A971 +5908D9993176C289C45F09C5D85DEB820CBBC935BC15E22A8CC0633904BDE106 +01EF4D1BF93D558582670B2059463B5E1D9B123B59E983DABE5F9E4A2C863D9D +B3254E1AB66A7F40394866559F0CF497A068A443851A02640762FD4010E6BAF8 +CAC3C146CBFC3ACF13F52A82B5867F1521251AC8D7206C93552E68BE284F0CF8 +6117F8B806C05C2EC35A1253F8DEF2A35637DFA8B65C316BBDD16BDF3179864F +8A89E92B76B761BA884AB48BBEB92C1075CDF454823F9264F9B028CE06320F1E +996245BF51EB4803E2D6CDA5EFB2153D26341F0FCD5DFA11D492DD002CFA5926 +1F1522A7645E6075D38D9D50F3FC54A24B2AACB2D4A0FF8BF1B43C97D7513141 +B828405C4D6FC4CEE5A4B8BEE106BFA1574B356C2BA95EA5B6EBCC5308F87AAC +E3E789CAC8FE3D7CAFBAA3A265682CE80E227A5C8B32ED67359D35C88BA03FA5 +DDC4D534D835A4C4085CDFAF7F2CB4E83AE70CE0C2C30B96179A0B8B73E0B1AD +16B7B134FAEFDA10FA5CF744050D7EF1336C335E4C3FA6D4A5B4C860F7AE1723 +D22660832E3B3D4F40E6EA7E85268D654F82DCD6B4DB7C5D27F4EED055938AFE +A7035ADC3A8B1774C85E1C49360C3335B33E46BF6636B93CDEAC43913625F72B +56D4A938A9CECE709D59EBD4F09C2AE6652D81D825ED1AA3A8D21F20EAC32A32 +85862B555A52DA2EB5BA78154E3DE2D7BE7A1311BA3AD091F7DA08BADC926238 +080920CE8E320C7F77AE8AAA3B6EED7A0C401BFFCBA8680BD4F5510B2B19C94A +E39A1118FB5848F30A401229BF01732FA0B0813CB092BC4CCE395357C3D361D6 +BD39C35DA23E57558D02D71384092EE97CC093F167275773DB33F7EAB779E614 +BC0C4CF4A98FBDADB230FBC21A134F0BB7011F03B55364EF6029A77997EC0A8A +7F109D48EB7F8308F2B2379B959DD5A84C2B19A7B5C887F16AB0E5FC30EEB9A2 +70E77EF36E155B426EE71FA1F4932BBE62F77215B235958FB97E4A572653D49A +D5DE24024D06E5EFB629FBB27039F9C52B63B7F8041665A09D760B0725A59DE2 +DC33D08C10F4D32D33982DF3FE18FC75B0EA2074367FBA4B21F51826FAB40E3C +F1E299C7757D2E6BFDA7C6BA8617590EB6E8AA4EB56762A6F9B0FA9A6A7EEFC3 +607BFC +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBX10 +%!PS-AdobeFont-1.0: CMBX10 003.002 +%%Title: CMBX10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX10 known{/CMBX10 findfont dup/UniqueID known{dup +/UniqueID get 5000768 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX10 def +/FontBBox {-56 -250 1164 750 }readonly def +/UniqueID 5000768 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX10.) readonly def +/FullName (CMBX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 58 /colon put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 70 /F put +dup 73 /I put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 119 /w put +dup 120 /x put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43B233BABF23DF8DB +B6C2BD2F04672F9A3B7FE430263E962F16A948319C51B8ADE6E8A80D3D88023A +6DEA4D271676C2C8615C4A0EA7DC8F6601610F398673A4D4B905F49EA868FEF6 +39BE073001A36DEA6C08ED51452F062B971740019692E221F4455EDE46AF24B8 +407A98B791F6AD525C72C09776247E194043281D04FE1CD1D8AD8DCEEC3045B4 +F95B3B41CD3300768D8A049815348BD7AC1004F5500817E3A267D694AE108BAF +285B288FC5F28A03E9D34FE5D9B2F9A9BB26ADE66B1CF8EB5BE606E83D213C33 +DE083C20D636EF780E761944FCE3B8A950B1E6E7568F33B557C6D59E0CEAF185 +53E609A4F58AC4D5269116F958C4D115C44B5A6DABAB79D3BB6E60BDFCECE108 +74CFBE258779F32C80CD7D9A7CEBA50A0966BD9961F71560119668C4A0C30A5D +ED91ACB30940502B24F33906D6E0F16F81DA87EB6D7FC8B7853BE388C40D75C2 +2CA8F94713AAA1561F5321CE97997CB4AF0E37F44E25B0F73CF4986422B1CD89 +8F861CA623004ADB1C28268D7F8C484AA10C9519B6AEADC95AFAA3304D60E85D +718B2F67D2B734095E5A92C90785252C98067DC05137BE735220BBCB7C341D61 +C4B98BFB1EAF883D38D7A93195A059EF82B42027F23B6CD633231D704B891A9B +03D11A646F13898F20321D7BC150C63FD6DC6BF9CAFD8DA759E95384B729A0B2 +767B9F3E55C682F7A248BC1184F7D294CFFAE0B246DFCC8F215625DDD4F49F09 +FA8D41CBF4A06152FEB152C61539ADF7E70A4D23AF8267D25CE3B12D39D62377 +547E2528D18DC4134FA3BE0437EE0B3509223D71F06D44C6227D62BD01AC0A2A +3EDA975E894371C07CA1027B102549A7D552FFD25ED2DCC68E29E71BBAB43C62 +57B0BFC6A953ABC2EF703F35D112F6B5460018CDCEAD17F149DBE5B52C2B9E10 +9818EA6D97C8AC884F6841C9B600A7D868F59C1D80E98DE0741D06D69858EC84 +1B33C6C9938B7E8A6FF6C12AD456EECBD3EBAF0D7331536B9F6422019FAFFFA4 +822E79D6D89D6366DA636CB708894FEF904F366E295F1CB808E78E883913C4FB +1631248ED6A7CF1095C0C61C4F05E4B9DFC47533A5FD24540AD71A0E2907B98B +28085EB88ABFC3478C9644594C7DC4244ED5A7C1CA8D960B65497D56D174645A +B88F12C2CF0A807DA314017984CF3C4FB7F47392A651EB9CFA961B28E2989893 +9FC4D97171BD5338673F5D1CE2C3C08D48A1B77769F01D5058236C655FFD864B +80E28F900191D4EB349AA5E400A7B0A0FCA0F3E79D7A7C69775BF754329397B7 +D18B20B2683CBC4A19729BA878B3C17EBA0A7E9EE297A5B67E915CAD92C8F356 +582B8299DE6A58E73408F525F7EA895C48A8F0D626A06A96A50348DFBE479D89 +4272576FBB0CD332193D28A8F11503BAE98F8E1D73CF5BCADF23DCD4E6586ABB +323568F5A34E359661074D50CD8D9DF27191FCE24F10225A5D721EFDE2547E1D +CA998077D2340B1A4ADFFF570AA677CDF3305D5E3A394BB1626EB35074D4EEAC +2F037CA2EA389F7683FD17A8E07C12B4CB3BA8C249C9B12D297C618009F76717 +0EBF5F2DD39A6BDA10A2E5A811D4E190660F5FDDBA29201B6F8042620397AB2C +E59267A7247B0463891831A6F40582BC3F614E5167B646A8F53D8A31717DD9A1 +9034034E705BA7884F0E0738307AF69D3517147C282747F2788462FDC4336A4F +9CD222908401A25F0A1F7B13B8DAE622DC965AD0BE62497420B70C04AF432237 +E0FDD043456187658ED93B0F9822A3998511DF05E59CC85B7B9992CA0CE3B814 +9723BAE70D2631F32B4BF93511F67179FFAD2075E1591CA5907A4C67701B56CF +A5E5B02EB4A842BA1F18D6864E5677359C2FB4AF5BCBABAFB053F230CC129B45 +8D15413F736EB07C571521C7DE2A13F2AC1C133D491B0A607197BE9AA1231D96 +BED7968788246B2E4D2BD330F802810F5BDA3760FEA5210CFC6F54748FB1D921 +5CC3624BBA5B8962AA7D94159651589540B17CF7A785F297264F9C1006D36928 +6E2756D3B623A6087E4B106FBA76255903C624C07E18A1AF4E185A533C640711 +86BB477A906ADD36EB6C8F4A12BC2F01B2B98412E4E105977640930CD998D990 +0254A1E5E9843B7A8ADE0AF6D5871E6D3D666465AE69813A2E26333213FF6713 +6F08D55A90C079A56E1B9AC655F720FC22B5AD8550FFF26DA7B0C5A0B60DDB05 +64E8FAF684F3A455BA9BC9278043D79537D201D520E38750335A4C8FEA887377 +879331B68DAD6B253F4FF9981D0F9B9550ED5179B15EEEB00E560A3DB6E5973B +63403E4E2F40A3D0B937246E9652000B917B1369741E0F913C14C2D2D6D1FCBE +2CEC4422177C58523715BD070002EC2E13D383A1DC8C84228862B6C5D3B65667 +9FA97E175239BB7FE7E37E14B96DD7960A8AD49DF428CFC13B5D3CC22E245317 +47B5244DA97F1DF954CED2D552477237CB23D037C0DE728E26C82738954EEA1F +F34FE497DA005AF03746DD2ACF77F6E6F2C224862A1D18AF6F7A5DAF34564387 +9E01DBFF49F8621C058C04C2B3F4F3033FF3E8A977B2CD6B2A3CA4A6C569B19F +C5AC457AE9AF334DA66A730960C7565E93A2D373C0E3DE14646FFDA05DF4C6EB +6D4CA8ACCA3C3115764F77B842581760BFB9E5C0EBE55308B0577A8F4D968CE2 +BA3361D79378D451DD150C34D7E901397AC63B33BD7DB13C50D678F5DE999238 +4B4EA15BD449C46F262D931478F5685CDEEC4C4201FC3EFA607AFB8F27AF6751 +125DE42D2FE2D31DE769B7E7FD8CC8C5D91343B537139A822A5BC4160BB5314E +37501F65B4FC35475FE9E03E34CBF6795AE86CE409500BD0799DE39FA69978B6 +EC74D2197C03632D3F59B85F404DB31240968FA75059B2581B101E028CDECC2E +7E5E25DFA106E9B8ADB81E82BE9ED3BAA9D03EEB22B7B67AB1262DF6AF5F5EFD +A5627EFEB84F3A5F92EF2557EDA2843D7D18C592635623CEAB14CC3620F33986 +410D6DBAEF9F86E4E6682054540E2B01D8FF2161F10E66851A188BC15BD6666E +8D3F21709F196A31EE676D28A2D12639CC2E7020A52910F052E61A0710DF09B0 +064171D05611451BD24FAD64716F141E1C41D3218A8115A3D73CA041D02B46D9 +28C3D07DF0FB668E8E91409C8D0A26A65CD737C075E026AC0A974C9BE658199B +3B9D82ED95E4646977D8F60717DA4C68767DBD7E8320D5AA1D5DEB2E6B009759 +8282F27D64F1F904830AAB501CDA4D9233FC2F12F77F0FBCC46E6B729C71F6D5 +E6F3EA02EC35D1048394F4EF2177FC5EB726DE5EF2DE7997166B8BE5B5105D08 +EAAC3481FC612665CA112D3F889A0E5B7843EFFCEFACA24A01B6AC2B7DDE02F4 +A9295AA2409A3756BAAB44608DACBB56840060037869455BEBA46F10AFC68DD0 +0563843DF111C6D34911CF13AA6023E5E899060B5EC60D0F78FDEF3E981151A9 +24903EB13ED1A67EA1977449716D1A5A7EDE1A2E9465C9C2B20A58AF02D9F373 +73E627CBF296B3A6A4670C39F3B5EA30D76F0362C81020A1777F0ADDBC6B52F7 +213FEE1718214087837049CF2AF00407639657428B9E8B532F68B631611A3501 +3D9DCA38090E227BD0D6D0FB4130EE866DB6B195C873AFD18DDB3B1E40F740C6 +B3B375ADCBBF628A07A5FACED539FEDA3379D3B60216C2EA6629BE2F65199D82 +FE3AE627D7C67270F3497AE75F7A9514968B5950E2D63C38DA240AF4E6CAE88E +E25167D179108679876E7C80C85FE1D2BCC2EC9B88BE76A8F5736E8E6B3A9CF9 +42E58A4ECB7914865E67C1468CF66D658206830B9380FE346DC2DC4BB56A92CE +4B5E4EA9036C177869315A2D9E6CFE97E3BFD7CBE0747D40CE5E8A3A0988576B +8AD2B1E4314C0D8A0CBCA08844A49F7E054D31BA7543730C0A7390BC4A288D10 +CE29E389A4791305D3AC1BB6F77C805F1032787306F78FF76A20A9E629899F6D +13356768D33D7B9E294E8CD50CBFB9CA02A193922BD9B4372C912D1689B6644D +52CAA30F7421E8114D077288119AD9514EF21E5B9989CCE2ABA0C12549FDF493 +FFB39736AC9EB72DAF45E4EA6057527FA9F5AA0A1A3F03C12F7482E465C766D3 +760DA7714D56C91BDAED507A5572BEB51A895F8DD3BD5AAB042650154FC7E4E5 +5EEA6194DF73AC5EE2CBD4EE26E29B1D2D0C458B4850BFE842DDF2EBB4E2A25D +C6A11CA2D8F346E2B736DF88A3D57BC0380B52396A6C039212699F5D3342EB58 +0C3DD5D01D5078479BD9FD10C07925556C0AB0F03606F33796BA72074549EDA6 +E33644F62CA35207D7421D2727AD8419AD1772789D33405FCDDC9286BC34C974 +A52297F5BBD2E541E8BB473F733AE5097BBC9D5FACF18DE4173B4711E28B23ED +16E0A6746A60F6FF903026A3900169EDA87D98396E762C2EC963D89197B8CD0C +25244806BE7CBF46BE60A8F9171731EADFC969C28679B025371E5572E52A0EF8 +B3FD9B4638D03E20BFDEC9345E70B8166D38846DCA68E0D0B4B53629C7E7620B +45E0A610BCD07FEF8814CF915CFB11119F42407D1C6DC1E6353451D40A382C2E +C74DF2A4889ED5A3495C3E973565F7178CA190D22C9693C10EB12C1E7A8679CE +4AFECFC964CC98111BA4ED2BA9B10292A71D5B11870EB08EB483922CE8628A06 +05E7CF6DF93E112B60EF888AA8DB52994EC33DC7277D7B7A4F913AD30257261A +D6EE80476A9A8D316D190BE6CE0046CBBCED365AB305495284FA921BE0638E00 +63DB2AA4C5F163340BCCD1061B469504DEE350B82FBE1689C1B65D095405614B +35997D6F0DACA7190D64ABA351705B17B23FE2EE5996FCD607F49F54392463EC +DD5B944A4B82FA2BE3E75E2946D483060DF99277340B0AB65A2042AD088E2B75 +BBDAB869D1940F64B50D25078519D18748AD64AC5615EFAAF4F3105B0111AD40 +70EE173ABE6A4ACE486B4E5999158A4377FDA6922FAA6E9305F48570D14BC81F +BFF4C663E1EA9D1E050534F9315A663C4C5DA52CB02EA6408AA473C32CB0CD71 +169BB43C0508A842F400240F0063243B4C459A1FCB3312C41C32ED0EE87F591A +BCB6D5D3830AE4645CB4D40336DB4AB6540B52E70E1EA415CC6D886827EBC5B3 +EC35CC5C136243B0C20B3C603B648B132B99D05F9B48263ACFA59A856BE74441 +FECF5C6D1FE9D1F4F9942F460961901E16017144C37E83C6822177B2A6C47ECC +6C47A1104460665E5BCFCF08874008302750EB991CD98D0D8D22B921F90B99B9 +05EE7C39F2BC2A7798157503743C9F2F267BDBE2E8A4CDA7317F81DBF8962E1C +EC02822CC7F770FD4D08D335904375BF0C6DAA0510771627ECB9EE69C0F47D30 +69A87052989DF80D9F4F19F75B070C3689AB3BE0966453F9D56CED6C1745B50D +813AE6D7E44B73423AB3778ABE4CD2C4DF40E14C5A426043F7057E2DFA2DAA70 +EA6723F1C7967FECB1E7C1C0CA283334163FBE31C32254490170C3513580A552 +19A5DD75E6C4ADCB12D33517A03318A6BBC7E4214266E125140D8C40F78A0340 +1F95D9FBEC4DCC55B71E89375AA94B0D55646F6C069561480407D0A3AC127024 +D7D1E9ED6B599A2A8766B8792F46D35508B66F302D289405B101A3C6BADA680D +8C56E2A00B766A4CB155446F862FCF17537A2BE85418E20CD77C4F1F69F70BC6 +17BB5DA8FAA876D0E8BABE273A19C04A8697B3E3CF4725E2C77C8761A9243F24 +96F8AE96399996001A57FD75106745AB4646FB9C6421F1D4EBF3BE533BD11AE8 +14BFBD6D308376B26E08E4ADA490DDCCA94BE8240403D5EB0FE3549061DFB668 +4105B4FE77189546619B6BCF3F9723E278E98D50A17DB8A4C46744FA21760635 +5B332689316BD17C966D466AE737FE3ED7ABC443ADD88D4823A10BC9747ABDEE +027515AC353A420523F85298029475D8BFD83A2CD00C02CA07974BAA581D2215 +A850E6E4C0A5E17E0EDF91C63FAC18C70093F40FEEAF0350B403E2806F4EAE96 +BF616A805616EE55C4657418C26CAF54187A6684821B86A76F15088AC4D5B551 +66C3CA8DC61E9810858D1204F899C7E3A1754F483134609F6EEE6364B1CC04FD +92C86EF194FA3249601AD722D75D1D395CD15A93C768EC60A486AE885683364F +93DA00A865C1035F913FDA69E7D9A0422880FB81EC23C00427F07A5EA3CCB613 +83C859958AC53FAEA26A6BB39ABA068863CCE3D447720BC31A5136E08EE58963 +093AF587A72112D55853A1048A2B1695DB2D7F13CC924F2F0902071260C33ED6 +30893A04577C0ACF0681C0FEC23E5404F844A83BB5A2F8DE1F0792196139993C +1152094BC36A6AE5BAB4B8281E506F485F0BAEEBBE71E174B7CED1E52A8242F9 +DBDF3E0FBA296538D964EB5B7A4E23B1BB0F59872C9D4FE8498203E3AC08B71E +D2B965AA6CD5D20DA6C83FDC86F4A5D68A58A72C5BB9BFE9BC755C56B24025CE +6F24443D3CF32CD711D3D94C7C1DC275DDAE3341D840090F97CB6CAEF274C94F +9F3BD3AAB3F98BA8A7B5CE5E48D1462DAAB37BEB1C10B410E8D33FA42D898183 +BD4F807112D78AA94509E33C179BF7C9E82E55AA7D09E128A0DA06A330CF4AF8 +5DC861498CE029CE8C1BD15C923A708F2E7AF98E4F7B34212A0CB417553C86EB +6DD46B0466F1A21D29FC5111226794ECFCA5DD4240C0B8D106CCD7EA6F03E133 +BB7733F055D6FFA04EF5C6F872B4FDA3E42F0F036C4825543D75682ACF71B548 +DED160ACD05625274799D0AE201305DA526E01A3D2A719B1B15C05CC09467F3A +5627860C0F36C503EE392E1786620F3F2287AFE56634E03566B9B1F537FD92A2 +913166228791871A8F8CBA1A1DA634E8224058052A10FE1E67CBD3FD21A6C07E +243CBF58BDC78577847664EEA5225EB8D6679AB17C563848A9D4D58995EA3609 +51C1443B752A070D9872FE1643F0677019235AC25DC2B29169D38308F2170A1A +A0FDCC59E6602197D2815B914041FFC7106DAAAF30CD97400C6D0826A40385A4 +C8520119A065CF32CF2FC5FBD8DFD29222528A7F96FDA533145846B3428F8239 +E50277C366418D713F84B12A5FD4F904DC13DB1844A391FDAEB97643A6FD2945 +942FD4FC5A4A35E184F23304B8B4D93D0C37EFCC4E106D4FCD0DA3E5D2117589 +3FFC2BD1D121026562C55C455C3585050B9460891B006F62D9D9B66695C3D348 +A467C14C0256FA9621CB056E7CD389505194FF463BCC4010897F9A690EA87D9D +BB3ED4C174FBADB8A4744C6E4A44D773967FD703EC37672F9993DC48BCC8A060 +6CEFE8E6B8F10886E15BA0466AF410B90DF0020FAB88BE493606B6A734EA85BB +926950EB10D2F2CFDBD182B0F133809612CCF6ACCAD049C8005A42FAF78368B9 +E7684F98DE421BE0A3BC0FAEE024A7BE67E15C8394F17FE84DFD8156C2A3E94D +08259E15CC657E8CE3088395BF6B5F825764E141AE15EBD186DC049261623D26 +8636705E06C6E4A1F8ACAEA59F91B042DF5DB9C2AB986A784384706A43E5F18E +42C29CC1CA86D4F247B3BBBC89F3633EE074DCA4AC15B1E33EE4822812A62E88 +C32B0AA57249980EE17AFC1346074800FA529445D18649A0475246A25CF325A0 +BDA06AAF392FD455218B13D9ED577D51A9500B9FB7860716A8E2FB3A8C4BE3B3 +6656C6A5653AEF00184020ACA0BCCBF48BE3BF91E11C8658686C89848E714E6D +DC158DCD1C1BC03B83FF94C60B1DC71CE8A86B46DBE661C9F8F4677F8A2C7CF1 +E41A91EBDA2304735147BE66CDFF2673F09D408297302124C127F0B35690CAE9 +CE1679120CC4D582FB69550AD34A047DDFCD9D411724554CCED753DB52D6AA7B +22B0C55EB698ADDBB0F8ED15C971AEF113C74B9E25DA29199237B98DA4023665 +C2A63A837E4CAB38F8DF37DBAB5DC80C0AB25B56BCA5D899F1575E61ADF75676 +F48EE26C054AD9A75FD88A3E17498AC26FD4DC8000A125D6DD423540B8A98779 +B28CE97C9CAFAC45693FF43249E4B559E7F19FB349F94B60AAAAF05B5FBF244E +982B4B51D997DA5811CD43E1917DA885DD96133A5CE1A290DBBFD88AF285A879 +D3136C41C839FD2276760A7B4F21F4026AADCDAB3F113FCCCA9588C7FB72643E +AB8F6D8AEAD1DC3DCA6E436B3DF24E7DC6AD37137B49327871EA80F3B8AEE932 +D20D9A5B4779DFFAD7B3E5D447023D6433575F8F5AF589D7E094DA3786555D0C +046A427ADF128E00AC7B458D5A131A130D6F49A7ABF47833791F172D69FE6393 +EAE0E90E7FF7BC2333D4E0215D5201E4B209591782F8A664335F67B9DDE36DBA +793EC77E5EB405862D14EAB6A99218B3F66F11EA2F345629C402BD8FD9CA0AC8 +FB5A2E119DAA9F80083C9BC54F4586C44320993CB5D9CBDC8F8522001F82A16C +E307F175B794F4426E5D273581A6D2844444D82093FB03482B270D693391DEA7 +CB26D4A418E48A2989167B7DCE251F0D53D5C9B29D359A568FEDB965DF31CBF3 +900392FE739A2B43BFA2363CA74FA72668FC761D1A17B9C0B56D6172499CDDCC +90EA538A5526FD5AFF81D04BFEA703E5DA963B11042723106704021C1B90557C +B7AA96E076842E2C5F929FDA6D05E0B91B5548006EB4A6EB262077411083C2EE +D51D0D237A85D6480DA41A9D8DC24EAEC0C849E0D53D9FE1E54ECD82C957B8B9 +ED68D7B29A43F369C28272083B7B4E700546D293DEDAC7E74EEC946B4412B0B2 +0639AB78E79402C787F50C4F78991DBC12D73F5B371BBA2CD9535EEF0550084F +40A4B2C4D178C0C001E63E08DAF15D064426F6F24C49E02AF5417D18BB7997D1 +46CD6476615EE2F496EF2D2E5A6DE68ACABAEC2033F9F3689D9F8CA23483C81F +8E9CC42B7AF2BC3FA80B68FD37E3B87FC27AEB7AF6D2DFF9B4B7A60D26292AB2 +36461A349D3BEFAAB8918729204873D7793A647387156252B5A1B975639E02C8 +9715F8B4853B592ED9E467BA41B32363ED0D7557EA0AFB8EB093B4CB1FB3CCD9 +3369A67A60448575C7CE305DE7C1B59DC21DB0132F2B67B7B31EA068C5942DBD +7D1BE9CBA33107AA60AD033EA5B3618B83BEBA01BC0DB592BCB0796AF520E8EF +BAE6CBAA5DAB5897040D6CB1E3EEE78A98B59897138A084E64E116446EDAB213 +46AF2FED3E303F05D7EE630434645AD21B410AF8C1808A79F96CFC56741F62B4 +431AD2FD90CCF0A876EDDE18506E73B4E390C752DB45A2E8BB824F2E0310C59E +864A74877AB522D1B477F5A3D7ABF80CC031C2F2BE5D633E49E6D10EB6EB8434 +F17B15274840BEB842587F3B9AED05B97DD603AAF94D5FA688675B55D40FA43C +6D97741D9FE5F54C7D441AA62D48801769531ED7EFB3C438EFB1B513E93686D7 +1738FE955FD7C67F11323E059BCD0C4BEB275C26835080FD2AC78DE88BF65298 +A8EB4181F48C420D219CED950E4C0FC0330B49547E593F961B2BA33F375B75AD +3EC510349E6F496EBDCD1206243547DEC26F9A61DA31D6CD94A54CC54EC81B0B +176D21AC6779041F73E5DBC0A2107B612B9B89E20C373A057CD51327757A7928 +709B4C8BF80A78F5E2ED84A4941811EB4615720B646962D8037B07FE87D0E97C +F4FA509B30F40B5268F2FAA0615532EAE51CE1F857F270CB5304C5D21C76E501 +E0FFF703BC5D6E89877C911182DA4A939000AB0025E8A2B45590E4E80363ED65 +A7DC71D49784A7FEDC08AB6A58051F7A1CB16BCE7EFCD3969E2B49DAED8F29F5 +82ED86CAF81946032CA6EE62D04B068FB960219EFD6F33B33C27B6B49AE12BA2 +E6E677B95C8A90014C261C50958C69140F1F2C914618188154E7455D050B48CB +DC2B7CEF8518BFCBA0E1FE18CBB79A5BCE21BFA46CCFD6B4158BE06C768C73F4 +7089A6CFE99CAD9971037145AED0AE8FDDB40713F58F4803A0A78C455C560DD5 +2D9CB7B33928A0A248D16C6625A52C621744F41DEEEE6A9467DB7E5464F6CF6C +76B1CA4074893F360FD2D627F1D3FAE885D922A305F3CAFDAE6C20BA6346F0EE +E6593B6AB680AE19B67C76E8ABD370D5384B34D68C341B1DA6E735C370E8B5CC +3FD853D69EF243D1E3FBD3B1E5D72540938F542D983040DB65AD2F2D3AACC061 +BBAB7E37B95B6FE56D0CC3E90F2872FCCC2258B343F753A7BC8B7A60E9C93E58 +16581287CA52C91C95FFC4606C3187E7F38A87993F4D9B3EABC6E30D57CCF0FA +4E3D392CB0EE88E45E599BB5CC61C9EB26AAF4CB4E7AD44889B5E7E8B0ADB020 +2E2A034C09BF4A3D889594991EE6081B03663C98D3B0DB40C47E34709944DBC0 +5AA388D4A770C9085F5068F9964DE441F538254C4583D04EA2DF6DD8E4FBB600 +3E41629615843693874D67FB56FED2352DCE40FA1BAC8386E1F2924D310CD0C6 +3115E709D26257B5C19979E675BADE74EBDCC4993871E9718A75DF7F3B5D3FAF +F141BA38D65529F8C28C28D20FE50000C38BDC6A50BE2FF853710E22F1F98824 +AF736EB973F5BB591EFBA74DF88040460BE1B41F1DCEB1349D281A1FA5BDFB1F +A225CEDE409A83E8E129216035F189C9764F5744027B50DF95864E0159B477B9 +4FACFD9D63347D2E8B820DD0211E2DD31FF5A7AC48D7F471F1DBE0D0535789B8 +1AD29000BC87CD89A67BCA5F06C891C34A4660A3E4769323AADE88F539BDD546 +18B6F184F78735DDC5B14BA036E451D2B942C3780BD59AF901EA738ED4A85D77 +64EBB3116622F640366726C4A4B42BE89AE7040E10AE6F7E3E0D97E46E70E0CF +312F217028C2BD74CBD41D7FCFD4BC7267E2739FFEA096527A5B6CD8AFE97A87 +CF71BFAF222A2688683647271CEAFB80232EFD4948079302D79FD349D84446BE +5929269B0B4D05B3980E64E135A4F2A47C030203360F1941FAC5C1A1A83104B5 +68A3601806C60B33034A103DC16FD18B309C660D5004585BA6602B782939220D +351CE8179EE650B0D9C5050670AE394987D800FF2403F3A9C6A02B03E13DB99D +69CFA7C0AC1AB29B7607279862E41997BA05852B825D2575676BA141BF5BEB16 +7F3B35D43FA75D54066C370280B51CE82D5A1DF1205655D7358809552E38F80B +4DED0107CB4EFB3792223A2AA23AE7025F99D532574ED7CE8FBAAAEFD096F439 +B2D128A440DDC4886679BF01A7B127F68F2914E13BFEF37D799DADD1A6BE6D49 +17E8A084B9C290783AC358B95492AC7E1450E00BB9D0279A3809C6F6A80550E3 +A89AA8A100BAECC283B284661CE584A0F2CA51AC50C41D300E540D53723DE0B0 +184FE92989C382E8FAC2DADEDB73FBE42FE8E5BFFA61ACB36FCAD4F88BBEC2E2 +464A453049ABA5139548EA09718566B9DE86D04C3628DA170A885E82EAF0F9AF +A9C087F43AD07BFE56FD1D6ECD3F813C4B799B37D21481BB42DF6FC2EE0E526A +D721BCF39FCDD82C29413B52E8382F4E226B6D0A34EF6C23E528EF92F4C1B3BC +3128DCE9B8D68B81467A88252A70737B5140DFE152598D33FA161541F3F685BE +AA9AB71AABE3C2B949BEF8F9E96DA8472455910D6D61F24053B2D535147195B7 +2AE08A0D398286B2FB9050CA34766751BE84E730E799E404C7DB577CFEE6EBDB +10C814AB76183540CC368C0576501E138E4B2B3E55277F279CC71C87586C0736 +E62CD1CEB660425F040200EDAE2413F87FB6319106D6558A8DDBB3DBFC5E3532 +E70E13657B792C145FF2515C0D4B2AF2D9C3047E5DDC31CB8BEE42930CF633C6 +9D64978FD33DEB0B660C6C18E482FA39E54AF024B5924F5370E9C13FF635889F +4585DE3FB8127107D4220765D6C17A4A6536C586D6C9F763892AFB4F4404CBCD +515710D6B05C1D56C412718F41E74F1A3F132BB07771BEA13BD36C2714F75B49 +7F4632B1E182ECDC3B6F35E15E1EF3DF68FC2169556E2C39534F12614E0D50CF +902F521371898EE2F22B6965A3BD5CA5663314D11182E93939192490B0A5D703 +393ABA71EEC2416639F5AF6443AC340E3C4D43C6BE69357242509F738DEF1A52 +744FF295793FB839921F63516F5B2668420D17F2A20DE6C4C8CCD1BBB12881EE +74E1B7E08BDC853376FDC5BE44503C1B1FD00D758952A1E8403E16679A7124EF +C120F517CD16470C6945C1BF0C5E9F217FA5052D5143848C1ABCA495C4AD7980 +D8EE59A9F3F4A5E3E3898E7A9F829E3F52990B719FF6A47FD59038B5F4E552AB +9627B35725DED3B01496731471E3864466F59B909A039B8A02835E748597CD52 +470ED016CC613ECB5389C3E95E4F4E5780F00005CA8113C577AC7D43A10EEA63 +187FC9BF6907DAF69425D53BE1EE19D427AF6EA42D868A458ECEDF0532BC4268 +2F93CB185890DAFAF858FDEF5E5DC3D71EE13FCD512AC3A7E46A9FE960636E7A +563CEA2B5907088AD0C7E5AC7F2CA4F5960E199CE277D9387A34CEA35ADCA39C +F884C21560E71E1FC3F8248FB899107B2711337DB9E4DEEE132EAB7E0C3F6D87 +213567D866F34F405F07EB49952ADE4CADB5DD00B52E6BD1DD9A4FFBAC99213B +4105603374C9297D5D024F0F19E2E70AFBFECC928925668EACB52A75AE71F012 +39B1AFE2F7C0689AFD18C695292A08A4DDBDB3F1B33B1124D83F6CBCE2C621B3 +261D18AD7027CC619E9AB8A36141E409543918493ADFD1851C5CA878F461DE33 +706D4DF25FD9182144F2C7AEF5C003B1879D14A50D5069F0B6D52C049054A401 +E038942915E40B5D9806EDF9501D77774F7ED693CAECF88C9594782E03C3C114 +D36902199BCC84FF858DBE4C95DC4479CC051020A9F43A6FBA9649749030F2FB +3C48150B93D9E06A2FADE997CBEEBAFD0D1749D6DA209390F000D7EC4EBB9704 +32DA27E9AC1E6CF58F4100ABC8C6127AECE3FB8EA4BB97E4F60A7CD2D8A05BDA +8033CC5E39862C78FF5929791D839E6D342A47FBB29799E9EF3CD6A8D9EA09E2 +F97223CB4493A5C3BC1CD3EB4BDCEEA60FC78A82F6FCAC670252AC6FAC74261B +06B92BAFF8EB6DBDDC6E8AF7655C8F4729BB39435104D6479A816C56363E9DDA +01D132AED79F244A9050F81FAD6D73368ED5AFDD320D9E6D066849719CEA7C1C +99B901F2D7D63043D36309F06063557760BB0EA7805A438AAB42E6C360D2F050 +D5CF8F2BD82076DD38D7F4090080220D23CF25C7ACF3E3CBD66EC58EFA89A4A5 +A519D8D2F4D510C659F57DF4DCCC76A21806A24FFEC1A930125874B2B979C033 +B576965EFFC8F193D843DEBF3350376263F67B732F60166495F50105F43E4F29 +47EFDFC20A4DF5CB29838ECB95F682C382B55AAA87B02588A6A2FD64E95670F5 +AB185C2AE26BCFDB3DA40F4C615A21E18FE8A4981D4E9D4D7F5E235509044B12 +BA093E7ABFC169BF21DC7A2038290A70A5CF293ED04F9F892B58EE52FBBB2328 +EC9737EA4EC06131E5E4A438657969EF06AA1B4D4CBCFD4541D2777C97A3A170 +04776173B38C1B77F82669484FD07061BC5978F9ADA0197AAE090E9014EEB1A7 +72156C2BC994E748283D15444774B7D43F481522B7514AF900C7B772D52D8835 +2C1B6B496DBE45EAC8D1F54697500D71542E9E7405435CEA41D9F2F597D94539 +A163328FC05077111438BCB042C962E337E4493491C9C1F0196A6905A9965F49 +872B07EBA22F515AA56B5122711B3CAB4EF9FE8AB5FAA1814653F5684D15DDF3 +89B4B65AFC530B543E2F5287BE210270B93D0DCB125512D6775E8B8C6790F291 +736B3D9261F333AED2A69199A0ADE3C12533C8BE653447F9954D3B56E1995BB9 +5252295542A72FE2EE4589DDAAD72CC0E6C30470E4AE5399D054D42DCCFEC5ED +63F51E58627D5E262212579899A972B7835E41E4499B682B22645E49E4843545 +924546BD825A388A284708A4A9D358DEBB89BF70EF17F3C93390D29ECBF02C74 +B9F283AAF7ED938EDFB91AA665061354F84D0654EB67993D18073EEFF9508D30 +EFD997B30F1D783F9D6D4E2DA75E11BA36F8C26E810F718B13646CFABFF54643 +555A00BD56387C9C551889D698B46FB83704EC7FF41F573C79356CBC2EBA2061 +9D4A5E685EEB6A66FB690E03292AE7524609359715B0D5053E349C5CAEEECEB2 +7DC3C3354AEF685620751C70E0713C47141F87581B82BECC81A6045E89958EC4 +0E7D81594558E39A89292FEC67F306AE635FDBA5755FD01237748CAC14472552 +36B0A2CE2264A34F35741831CF21AEF590BD407FB80D726DE4C3FB5A1FA63959 +8C5298BD02EABCCCC2B4CDCBB6A5CE017A18A7513BAB33AAD8C1147C7611A9BA +FFF33ADCDDAC7A049B3AE0A94D2F35C4872320500E68C579F9961B7C40F06561 +0F5BFFF12A52686A4B8A180E5D088647A90248820E0C204E081CF17DE6301417 +6FE85B823A7C5C24D52120D7EEE87F1CE1638A6C39B554563FDFCFE7F57B3F6F +04CA206D2BF1373654D8AFF1F31557F7F274EAD3A0CE54CC7B45A70FCBAB27FD +C5D4A36653D4663E33173E5C99CBA2196FF85C9E48C224CF93084A27559309A1 +D39DC29FAE619426DFDFB6ABE33C5B9E6D85B95235613B6CB8ABA8D9B7167F71 +4F3529F3B691D452EE991BF9D159F51AA5066CD85A1E11AD16B293960775B199 +8EA3327F8B6701CF2692A12510BA4308C594DCCA4F6AFCD015C8FA8C921FDBDB +2773016895922821F87E18A18ECB0F44E37DFB1DE5A1202EBD0B745207FBBE14 +2E56E41B8F41A025F308E5E0A7AA69A90166661002FA6784A81925B56582A26D +1BF437F4187D598513D13DFC19C9FA4A525273CDCFF6769014093DCA26556BEF +0BC97DA1B23FAC0E48708F60DADC477FF34DC5880774A1F87F2C0C70A9942567 +5695A0ABC7361FB116EED1AE2A0123C1ECA4416BA0EC454DB2FA62E127795D30 +B240472543D83C85284C2CC51C4B08263313213BEB45BF043D34721866BC48A6 +E54490A93E958B9F47C3E881C8F476F2D963395E27844991D49E3F0BDC2DB17F +5A99BF8C8438D2C98C6E1CEAA8F48B19D4D7EBE6B1C9F153901C2F563E3E6B46 +E2B8B72027365AFA49351308EADD1A03E5D0F70632336D1C7F5A726D874A6C30 +91834B39EE6ECAD3EE7CE8536E2E313E43A348D6B42E0255E583B79B955AAA78 +2E456E0E0FADBFF233E2C7F14FFCBBA768AC70D424FE9E33F07710FF6362704D +9A602F812BA693365B1FA730A5E411B4DEB12F138373A9CDEF11E8568659AB35 +2442BD5DC23DFD1D3534864F1B1F08E1C90E2D393BC1574E70877958B7F3795C +00DCDA29EEBEF10B21468F32610DA773CA1EB721F84E299F921D810E01B501B2 +BA04AE51EFDEFDAFD90A93E8B1F4DFB226BBA3F11593E52C9B729BFADB533608 +720B0C72FA5548BB957A8AD061B696D051AEF50771CD338BDB2ABC4188F01ECF +299A8820B472E2E992F582EB8F2E8D16D211CFABBACF65AEB73A5BC81C817093 +6978C77D9E18731D34A0817EFBD6AE1C55B507A6B130EEEB31C8E769AE5E3346 +8844EA1958AB9048B992AD7432E14AE883B71E32BA80AF59605D99D6BF5DAFC7 +8C97CC9665851EA7115F8023B5D0A87D334E74C46E5E463C7579A2AFC0FC4EA2 +0E08FCAEC43F1FE423F1D855B297A6F2A709F364742C53B66D367D6D3D16C202 +A0B83A6041C9538548590A94E399A0C25692DE48FDB3D32D64869A9BB7E6B90B +3025D56C235D53A7E31F7A408529A86B0FAF7F415B3CCDE70DF025580677A455 +F028010F5E3FCF7D16A50C9500A6CF3D3C4CC7C0007CE52E4A17E3A940F3C1ED +6E15D8E189B5DC36224884FDAF0ADF4A12BC4B53114CA1E3D7AAAF8CBB7DDEC5 +2C108337BBA511F1394AA5FD0DCA9E14A07B167513EABF33029447D962D9825F +90B0AA9C76D4EA2C6D6F971A10B18945B5EF6CA014602BCDAA68E05F00872F84 +F208006F6A62C102911BD442CC584FD6EA91F7041C4557C98128FEAD19962F35 +23A9BD5A28F496B3DA188BBB6C646C225FC2F0D289F77ACF7F1721AA7F4A55DF +343F16DCA7F33A6A094EF095285D295595AC942C1EE9A39F868ACFB1AE7DACE2 +C6CE1BEDEA0587474F2BCE1B5EDB01395A54E656E7D0224BD6EC3EA8AA0E5C9A +AD672BC1B020D479318ACAD7810EB67C7517728831E193678AAFB249525DC218 +02676F4275E656CCA7F30470E4D6A9BE604128F1834FDACEF510EFF999F0CEED +1AF10B5B441796683305771A612944D3415824637F3167B455200B397E79A7D2 +A462FB0ABE96485B857F306725AB27E349B3711EEEB7033C52EBC1F2251FFD34 +F37184161E9E3017F646FB7704DFDF783BEC88651E1BE53B06D0297687367E1A +10842CA16C864D91A891A32B39F0C7A172BA374AB9C1D440243FC8404772A347 +6F6970579327343366E4A6EC2FB370A2B55654B4342F02C1D8E3C5AB45A7B6A9 +1CD7F03D0ABD1EF0D60D8CDE18A69981088E4A6324E3AA3545972D0DF2298EF9 +D676EC8CE48DDA8A62F03222ECC6B0B5EFEF0CEF9218B15730304662A7584EE8 +3C415696AC089BAD01BD6FFAD858F63A9B0E12DBB17F630E7E062D49E5191F12 +D65270203B25EB0F29FCC609749E9C2E874D5F11DFC0B452DEBC1C6BC2C15AD3 +9798E7D993822FF3C8744BEB56E989112C16437BE92E1BDB1521AB47AFCEFC39 +0BD391C6F3D21FBBAAD0CFA3B3C6F771E7EC6D48D9024B1745DB3042E986D1FA +8228ABAE9ABB2005E1491751F3A0176016F90E4C013BBD320A9F4D8CE7AEAE0B +82C5F6803D2DA18A1649E30DDF8FBA7DE0171F36AC856BF413F64EB03EC9915C +CB6E4F3060912B3A5A28742D137AFCE62859BE8AF6492BD0787C4C9329D931EB +7A9700F3B92995B26B09857241042BCECD556E37AFFE1CFD46CB8731B83689AF +60D9CCDA940D54B47716CBEF543EAA8FA757FFC84E6CFFCFED7C57FD85AD9B97 +22836AE06B69B330AEBF53CD0D06D5979CD877A9E5B845A6954AC46505D146DE +BF8C1E5CB4417D38716A8A9D88422781FFAD344A5394C8EDDD5880C7EBEE79B7 +4389F9DFE9DB33B362EF519C6C87999EF91FD793EB27CC09687B47201C3F78A0 +33828638489A89A3916709356208D8A278243D08A28F4F965C80B0B80245F95A +AD8CD2A62D16BEFDAB35E540AF4D5BF38F05BD173BA880E83ED1341B874AD164 +16C77E269A1FC2202FDAA375818BC28021EE1DF39681B545484771622DCCC4CF +F977242E74F056F5DF5E01A29684E3775D89F0B6B5C532D78B5DC546B1DD49EA +E360B18F4B4B20B77467F4E0405A64F57EFD5FB2F3C81424F7674DC5A3CAB914 +0D0EE78D6FA6F20C8E14D71ED117265A8FA0E4DF98DFA53AAADB40A528CE4B12 +8D33BE361DC980B0892A493E5939693EE966DED5DD1FFB31C0B16349ABC6923E +BAA8E352A0B7EDEB0CFE35448C1605A709DB9A947CE13495B37221ECB51F7CD4 +125B9223C197FD75E1C5EEB1F0BB6849E53CBC7C86C641DF87D34C48B0F03A1C +B4963BD66541CBE63127BA45D6E662D76EDBB844E71CE1A7B659F6EC35B09B9C +7A6443CF78887C04DA8E5E7185F3F149601449EB8C91DD0742297AB932745FFC +1E928F7DECDD5B004A02F98FC482CE090D39436450431324A635898E4E4B501A +A6BF1F39FA9BA52D7914E4C30652852E60C4EDA2749AED12FE7712F278449FEE +8A74CF28C245A352E719FC44447FE6E411C8D396974F2D0A93D2E6521E20CAEE +8EC36FB3778DE8A1836B0E7C0FAF06AAC5130955196FA7B2A224CE12FACC9BD5 +FDABD478DF2964A8169DF400690A8BD1FCB12D7B09DD46AEBEFEE91C64D64AE6 +93C33A92C936F28B7F7F369C62FEBE3CE6A75DDBEF8D80C150DBF417545668A4 +B2640525F0474CC4DD1739511491CFDAA41BC75DB2718E7ED6E0852015D266A6 +42CD2685A239D55F0B521B7E1EBCF85BDA0A09E6B6BB75766C4670BC03E88EB1 +2CD2EA69751B123A8DE9B17B33A96136C1529C8106FF4E3CAA73AB2B9AC5978D +CD3B9F70E40EF15D859E69646C73257F9327BCA00198C8967BBCA4A3A9D72140 +30CD111C4DCA5420A7BBE5D52CBF684FE007486D18898806CD1903C4E43FF4C3 +80C4B970C0AC65DAC87BBE1F6CEA015A0226A19D78014D6DD9EDA07FE4D6597F +2FF99B9E6969F1C84AA7567365E641CE9715AAD10325465F2C011FC88B020CD7 +C0C8EEB65F2DE85EFC9A6ADFD1502C881F121DF3FCA2417A0301FC6C8D9FA300 +07FA909571CD4F5B06362BDF7F833BD0584D8514E6DC71EE505E9280FB2FE188 +7B9F4B251B031C79653B9AF27272CCCF9FFC516E782B1D79EBBFE8D77BC0572C +58A8F6B355ED227F2138E5F3A385740581146E3767189946F9FE7710003A15C7 +CA5E0138778501630A870F03F0473479CEB85E44C263BE451E50E8E051644D7A +42D2EAC4917F2302EB45B1AB7F3303BCA046AB044DFC90C6351DDCB5C9C64416 +9747926238B69881787B9407B395C1776AAADA4F3CB734458218658C7FDECB51 +FB8179CEFDB7905887250286826CCD018AAE1F25022032A09E7B1D5ABB43677E +6E58542B3A4F801175EBB069B17CEC3D49A0086E5F3410B6645865AEA0768A3E +9F27F08DC87E8C436A75D1CBBAD46D05DA8D4CAF70790909149D6D8EA22C750F +4BDA941B6F31936C342F2847B3350E4D3A8202BA86D103F1AE2D416DD3E2EDD0 +69E5B111F4FF3C3DD3A75AA86721BD95ED2B14F17BEEF95E2CC0FDC3364FAA94 +F2C41CF57CFBE8DEF4BE7C4EC6ACAB89BEBECCB8C7735EA45033BB9B8038C35F +027FAC621F9C82A62B3FBB91AD33EF893C906C2756A98566679AEB20099C1B3F +E6D6E1E2BBEAEAB3485197DD03F743F51D26C672CF0DB1AC905EFA6038FB9B0B +CD3FA26B0865937A759C6B5F1A694BA9CF778FB7AED5628BF949411C4159F3FC +A41E1070870F50E2DF82C8DA5EAE42E2D6611397C65781470DF7EEB7C09F6A55 +A6C8AC34342F45D78F676510768D8F9154784C087C6C2507821A371676E514A7 +7C1D358E8110E7B40CF5C3FACD3A74C4BF1455BBA4DBEF2DC051AB36317A7B30 +DC063D31D6FCD5BCC1A139D1F0D8365D54E32DACF2A49909CDE3A6EAF40F071E +354AAA97C01188ABA1F01669132F696279483C431BCBDCF6E6386BA85FF7F0E3 +B6D859AC79348711D1BEE093334FEF60D856AC0A5F0969DB94CEE10BE69F79AD +3E5F79AF68ADD91ACEF7D32E8E8185741F2A9FF91BE15E837FE2751121E86CC0 +2105D77B86DD542EBB74CDAE2883DA9F3AF2A2A530066A50689FDD29F766CDE3 +806D775F877F08C6F2426E19FE361FE6870EF24BAFE518A82541A721AF5F6FEA +26CA4FAA9974B2598ECC7A9A31937B8C3A01874357C6A820B465D582B092AC6D +976DAE72B808E32BD4D19230B3E07108E15E482F0F77722B28C673D6162DA69D +BC1493255B456AEEE531CF8FEB2C232741A05EB98152F1C4E506316CBBB57088 +5D273535D36C1D96EBAC6F157007961767F715CF317702F1D8B438DEBAD37CAA +8FC81CC1A33C553707931A28A05FBDCFCCBE061607B2E2EBB273690D3A79B5F8 +17BD66A7703997B9D4F6BB3F4D127E9D6E5C57D7011CB79DBC33311FE1CB5372 +D5FA910243FB85840880F8C446B9D62D7AC256A3C4723CF81F74279323B5BD51 +494E2E719813FB3C04CD77B298F36322024599C0EF0FB8E59EB4F569F4385057 +3CAA85539DEA522AE7C528A5AD7953342406164B8D04A7FCA4DDEE4D3417DD8B +A2493490ECEFC88EB32AD3D2F884CD7AAC0E97D8F60841467D224AB9FE423073 +33F58B50C4CE5C924C9501CBD8EC763F2AAA91DAF246477E7AA1D04B9ABFD784 +EED48EEE9A5BF7F6408DDF9E767EB5EFE760AEF49493B284D261FA290D7D6571 +6CB501C36ADD79150207885B6E09D8ED8C379EA29C64F4F45683A61A71B618D9 +926AE986EC3740C4E2D8540F67844942201DEEE5BB871D3C21A466F9095DA182 +D796C081DFE67CA73C9BE74D000D60B2C8E89A63CEA1BB4EA824E82877519591 +C309F1DFB74F6FE3DA0050E995012263195F25B5E04F38CD85378EF971A1876D +A1DD02AA52562508CD79DF49E62B07E25CC9B4AE82979E01823DD9112042D99D +BFA6F0177784B13A1C6C17DCE6A5B11D37C55EAF5A079842035B2BEB80B6E80D +75A18AE1AE91D17778423D83EF86CB7F96D820033C76914C981641E63797A376 +0E4856250356F84255D64425F72978AA4099DC1B312F6BB567EE65770B9B936D +40DBAF3566C91A1A0AA8A63A3594552D3FAFF8B20D60851634773700B6C5975A +E294B0209CD31DE60BA4C89807039EE27ECC63ED0B30103D9264839A79B64C97 +0526A1FAE7648AD90DED9E0F297D698CCA33D83E7071306AFCCD15B6D9BB8BB7 +63E8F768DD41469743E4603B06C0BAF81E3F9382AAC9E08944710D7C5A10455C +35701F0105E4EA0A91866201E087290A5BAA7FC4BF325F9B1D860B3A85AE14A5 +C2FA8B12AF03131CCD2E728494E49027550F0EB469D8CE32ACABD2B1615BA044 +9B6C6417855530BA109E863A9A49740AC52330CDC0C56E82725BBA17EABDBF71 +F73E71B68C6C28003FB41F9AF7E5B643234DFBAFF08C97BC2E738410BCA10D9E +A85E74EEFF37F7C23D6419207D09A842E1D772937FEAD47D97BD6DE8AA2BAD34 +F0EA516227BFD2C38DCBD6AF0DE795DAEDA5742B2952C4A4BEEA84383BEF3F24 +E9666344B63AA4AA7BF8A81562E3863D0ACCA7FF120D8B348F02DE8B1844796A +3EFC082E4EA1B9CE68FA4093F0782A3E84B88EB3EE80752908DAB7F44F2EA078 +30FB84231E442648ADF1DBDB9EFCBC7FF86FEB25C1ACB394A951CDA3E6B0BA96 +0A46701F3E098009A9B798EAE63E0EBE0AD92E6F622FE571A142B319DED37251 +727D16650E96385715A3E30C782D11FF71CCB96EF8622A2F155FE38158D27879 +6C83A35F43D9ACFBB7879088AC5D42FC089EB04DC6FFF1782358555A41FA4A0C +8ABE13D29AF8C8704D32AEEDBC1CA1C26FB424E58A188D4FC6EA93928E0EF165 +CF4F623777C470FC014A5E0F4692FC48F1FC5E7EB5BFC27080CDD804692D9C03 +38FFA892F6646CEF24389001D864F948C4E2FFEA85EB3D38860347CF27C14B11 +C8ADAFD3470E4F36301728DE3ABC113B5524CCEEBA4B131B0C28AA7F5704607F +068F25D944724A720089DE0D31EA9F28E102CC2C5E7171045EBDF6F2B247D375 +1AB8275270FFBD8C7296BA324F41A50531FC5CE4A744F597B9721B517D0920CD +EC9BD2591A68C26E7FD8C85FF53296870B217F3E7CEDBEA624AE86B053519D43 +351A9ABD9200A210C37B63E3709AA987D5BD0E38E42FBBEF95D6AC8AFF39AFA9 +D617C95439431C548318902386CA491C8323DB9091E5D99A34876114073842B0 +4080A4C566AF2BE80C18728B4006906ED393B03F1483CFC1BE8AD34015DAEDA0 +52157860A182CF1273773E3935205A5A5471E4189D6CEF1C14D883EAF33A6A1A +97561202E48FEBFB694F64518121343FB6AD6A82FC3D8FFF30C12A4ECB069BEF +20051BEC2DC96D847B5D55DA3FDBD4E1141349B680BF87E0732C674FB43398A5 +9ABBA32B9E1CB05F252132AE267909E50545DD9AA346B82EF9A6ED32D003E154 +F56FF97CCFAA615AED2D602D4999F0897AC771B20D108A37AA837073D4B736A0 +24C71913D7FDC760069CA22DA19A894BC2BC0AB15B5D79B6342F27564C85BFCE +295F38B751FB4B001A1AA33C59B67382EB7E39A94C5667583B95E1966CC6C48F +D2486E9038DA341233176F50F02F8EAE53CE08912408D5051FAB8C5735442886 +C2DF65C0E354EEF4942C165BC9606DB23AC5501EFD2874771EBAAD3C163B7618 +11C6C10614BA0D80FB4CA69F9D086B02F0CB41C05902F714E8D2063A5080AFD8 +21373E9B5315889D838CCE0ED5D0E008407E2A84C978A33DC26A93070422DB9D +69B546FE7A35D50AF6D79AFB76BBAA096DF5AC92F1EA49223F1FF8780134AE63 +256048C0DD9E01DA1922B71A639B7C44BD7EE445905921052D7D8F388FCD9C44 +B6D5D314FB66472621113A6C7C659202F7723A40CC66E5069BC87327A5BC741C +AEA58DA6EF9C066ADC27FA41F58E33413451375E849DCB729431644F71E567B2 +3FDBB581F154C1E3CE505D015D5674AD6FFFAA8C34692DC90998C287130741A2 +ACC309F2EC1C1BA2687607B2A926F37E214EA8E3F786A8C0F720ED6225EEEEE7 +80ABCC7A1BAC33BF773DD5BE85947018612B376C47146667E32C964AA28168CE +5422582536FC6A15D6267A2C947E3E7E30746BEC06CD58F1BD87662C914A851D +AC113F4366560D6C5FBC874991CB3140ED7EA7B9DE23E0C5CD1D359476208DC3 +2297446F1F10E33F87EAD9379BDF1F327F1960A95D73FB1F1AF2E2546042DF29 +4EAA9243532A32E4B477F2FEC68C0A62D80FEF79177EDEC5B68B323E0098C842 +B812EB2A6AC35270AD5DBD54FD480E14701FB6EE024FB368CABB3C101A27A8B4 +139F707F03D27F954E965B26EDED11AD94E12ADAF4CEC098942A57CE1E3431CB +71ADDEB0722A5D3358E6C198E77C622CE1B8AC0926146A066640CE4B93E629F3 +44047767A4AE4BA22C62440985D81148CBFF2AF2C9CF4BF5FF470CF180DCF7CA +421C39825DEBDC32732C89880A1F01B6F0B5D4DF3D027FE085205665F38808EB +11C4E7EF100FCF42E6E2F6D9C0B8ED4C1FEDBFF2C0018E5791C4E7C476538EBF +2C9A1E3A637317FA9205F3E573EC10F4B64A2365089AF788DC7BC287D1F6A118 +A089C88DA558B5971DA04059DB4E50478574BBC5A168BF2AB2E20C6670342803 +843A1530112D5351BF57AAB18BE59B259BC31ADD0E09F5D74CEB65EE7F36D680 +F2EFF02FD7E28A41F252EB104B634427AF94C4D217F97561224122779530BCD8 +801CE8B85EC861118F8BFF03E6F0CD1DC849C1E926EFFA8D97AB46E37F542BD5 +EDAA0F0BBD6FB4DE0B9262BB62C16FC1C2AE6B293FDE5871FFC7281201DD1554 +6C854B7EDD2B6B0CDD8EE4FF8ABB384439E10466D26D429BBF4BB08141D25DE6 +14D21B427CEC42EB7D3F87503C815C98389EFD885A294026C2833DE371D57C6B +9A954EECBC8779C97D91DD7700C2E72BB555368F023DB92F052F3061C55A3507 +8FE9159D4C9729D1C7C68F0AABCFAD94E26BDFF858A6E72620C64D2E22BA6973 +8A4F897AA78F7D687C76474A9B23E526709142A6F7F3AF0086599A3E058A00B7 +57D6F9DCA2042B5EB6090750210C199931178AB3871F6D29F2970790BA0CBA58 +68E4FE92BC0663B9DA027F0038A151F117917525A8A0344490FE2DA3F6E86E30 +BBAAFFB548663A219F279321D099A29456E8B7F0C8A64D38A7F442FDD62F671B +01770FE0346EE1B13B504813FA52CCEC02D7CB1B8493A48761746AC966AC5314 +46FFF54315967666226901BF678CE112D69E2AB4B0EFA1657960CB1206EE696F +AEBBE067327BB8BD9806B66E7B7BD3E2F79B3A816D4A33165D4F742111D16798 +7A08CE4817294D85265BC9811BB1290A4963206A559BABA4E0BA8CEF5DB00B1E +3D96B4CFBE5C0C314EA62C469E1127D34A69E6CC3BA9BEC71EE25E45807D2C42 +5800706DF39D6DA998C8FD58E55F43A98CC91156B3F7EFE86EA0F98DF4ADE76A +FCA59D60D0F0A72878BC777565E94EBCB231DD2269E52F330B4B902BF8B41A4A +DED27BDC29C8E5532AC8D90110624A056840A71D54A333922DA9BC06DDCC065E +684B4E2378B593EA97953F08FD4CD1100CE5E8C1E231E72EF37871676AB50991 +37F07B58A725414088C6038BDA82084ED6D051B8CBE8D3575E5D0ECA800970CC +F4AFD3F945F5AEF79A8BB93491BC10CCCBCA635DC6C6C22392501F97C38DCED8 +6EB6C3D31108DD0AF903EDE33D36DA630DFAD75AF23D61E9ADA3AF8EC6A4B9E8 +5ACF5E0A02D63B06D45D0F98A93CD2671F213C0A4F27AD93CEE03A809445E381 +0B3EC3858D51448616623F36B6674E538572B99AA41F6298FC502B4C4C61CB06 +6D66D5D5C8C58C1B9AC62A4594D39BCAD5D3A82CEBEE4846D81F795B90784896 +2F3C4CF282FC10FA9FCC21E70B313AB2CCFD81A6F6F6CDB09FC559B2E19377F8 +28D8C5 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR10 +%!PS-AdobeFont-1.0: CMR10 003.002 +%%Title: CMR10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup +/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR10 def +/FontBBox {-40 -250 1009 750 }readonly def +/UniqueID 5000793 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 11 /ff put +dup 12 /fi put +dup 14 /ffi put +dup 15 /ffl put +dup 25 /germandbls put +dup 34 /quotedblright put +dup 35 /numbersign put +dup 36 /dollar put +dup 37 /percent put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 58 /colon put +dup 59 /semicolon put +dup 63 /question put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 88 /X put +dup 89 /Y put +dup 90 /Z put +dup 91 /bracketleft put +dup 92 /quotedblleft put +dup 93 /bracketright put +dup 94 /circumflex put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 123 /endash put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8 +569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079 +24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A +2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944 +8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E +3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26 +D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24 +D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B +03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685 +767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A +8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B +DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E +94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004 +22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7 +72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C +8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491 +344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A +64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B +07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC +1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8 +78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51 +CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120 +7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782 +BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462 +4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A +5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D +EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE +EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622 +4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE +0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5 +C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904 +314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E +DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029 +EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13 +DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E +DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084 +7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91 +1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155 +69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE +EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5 +7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67 +CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D +38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3 +22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C +0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1 +BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D +4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F +3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD +B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE +15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9 +849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3 +FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84 +4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76 +1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798 +84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF +7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122 +CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA +4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B +3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394 +F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D +F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140 +DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7 +D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886 +56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4 +8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53 +59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED +49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86 +87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B +8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60 +C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342 +D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64 +D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1 +F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178 +0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B +5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448 +229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC +17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4 +01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616 +F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662 +3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0 +689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20 +4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F +A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03 +DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D +364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F +7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F +26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1 +43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD +8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7 +C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08 +94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5 +C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1 +B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56 +4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5 +7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01 +204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE +B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56 +7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6 +279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB +E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346 +CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A +65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78 +BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285 +6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7 +B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3 +63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89 +4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A +A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6 +67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C +DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A +5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9 +C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C +9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D +B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51 +963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0 +D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB +B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B +72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE +B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358 +8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB +3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0 +668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152 +ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5 +69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118 +C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754 +3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13 +407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01 +11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF +2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87 +4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40 +2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF +9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889 +CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8 +DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973 +0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362 +5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7 +9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A +EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2 +09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A +2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2 +AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420 +324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786 +486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A +EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660 +52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5 +9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3 +4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D +B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7 +BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14 +6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0 +B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359 +16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED +E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6 +546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED +6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507 +559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B +C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A +ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354 +04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B +7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A +8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B +A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02 +94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB +C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC +41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654 +7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5 +18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76 +9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD +E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947 +5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F +4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F +E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF +9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9 +89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87 +7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3 +AAAEC15ED0F43F9A1290E91C463895BD12E8A831DAD661EF23CB9AD2C26CFB26 +71B72D15270CD8CB1D59CA2D9DEE4B63A8FD2929735CBAADF336DB2088C0BAD9 +B79DA00F002B98E0B4790F729DB337A63C1BF138947E9552402C37257019A2AE +6961E7DE6E5472914BBA36D0E9F53FA5771D2801267609C8B8B12A11E0AB6031 +E251D1F7D5055B426B1CEEB8B381E7D0C3953C9493D87FC6BF93A12EA642FE24 +2DF17AA5366C023E4C8CF8FBBFC9E17F1834BFA8B62DC91E5252BB2A1044B616 +C6A52E741050DD47796F65BA79F3465F7305DC0EDBB76D3873FD32A1EF0C6595 +55F853978F6483C58F2F27B70623BB0193E1DBFF2AB5B1368EFBF754882FF3DC +718EE9DF75250DE6FB69CD1F3FA88F74C28AB75D63C8632FECAD68D32B21307D +28832F55FD651BC6D56B03073DCF6DEB5873E715677479DB92989DF9FB1300BE +EB57CFF22C7CBA28D69C7E54DAB585AC1706688C94717B2F1204BBE9A32B02C5 +69FE47B757805513524F45903E166D92493145C52FB2AF2E61D48B83F794BED5 +E77E07C36E69E259E3E3D4156C9152A59752B0F2EE315A2ED05A5189E0C5A31E +35448577FD635ABA25D2D1E8ED86030B6FFC8FE5B6ED9A726CED9E29D9E11C12 +1BC6DBBF00CDAC1B83B6413C89AE9C0B75E2F3010CC15E842B0D6941E1062912 +E8AD848E60F4D09A441DD1B3CDFA4A39501C1657A4131B1C2F5F9081052FD7FE +48537BB9F93F480589012D7881C8E345FAE43DFDFF5F9C602EB47F4DF8FE8A5E +DC6EE00429F29DF6424012BC1FD7F41D8396162C3E37439A9BCFFDCEA7E9686C +074CDB097FE2E5FA7A4DE7C79850BDDDEE9E0845A4158485503684E0C5808916 +5DEF8158FF61B3601D83CFA2183777A4463C553A9D3FA7C7612CE52815250A47 +2B8DC7C58DFE9DF10BBC7C44086BC9088D744562422545FF61762A272F01A2A9 +1BA32B481655BB1D5A1D7873601C1318E24225317A8D8DDE34504C3252DE1BA1 +4616BCBEB112B3ACEB1C95129F14D50E1375DC1FA05957A0F054AE750CFD0800 +ED2E2AEE7903141C655655C007B65C755A23B3EE225AEEEE4199F65D8CE85A71 +6FAF25258A6FB58A9FB12A7CE8D1889F3A5672E14A759C03AD3089DA55B3DCC9 +318748F6ABB3AB456D19D9769EAE8761D3F2FAA263C6B723AE4E25543FC00F14 +0F43244E094BFA939E13EC7291BFF41F9C6C165AFC320B35CCDB5D8E13419C35 +989845797DF580DA0E0A4F6DB3FF53E47D79C93DBCA24D114668BF0933E4375B +0F19706FCAD31A30036E5778DCC3F224EDA854D4E210DAFD6601CFA788ADCDF6 +43C209226ECCB4FFA430CD0CA7B04681AFB83A9E85CE3D05FA59E3A4AA6C03AB +564001FEECD82EA90C526B7C069F7DFBD72517B16623441FB9F22209EEDDC398 +6FFE2E028E6F38694C8F8DC44FBA56798D8BC3FDC37AA148E17A0BA6D3F31894 +552717DFC8A538A12ABE23EAABF4378EA1AC7FB3A56AD0148429BC13BA6744A2 +78B6D8ADF0E5274BE625F3F1D1C471A889E06E4F7ADDACF6AF87A1D7613AA7C5 +19BCE1662DC2FF7B075BAFE9B5DE88D4C7E9BA4DAA2E68F6B00B0D233256F3BA +4120E57F166EE0323CA9B4716B63E1EFEFDCB3A71D1B4EF5408AE432A0EBBEFC +C4E1B70FADDC7800CF67337AF9A3F236C7462C608A5F680718EF99483F49460E +8535A62CF2E44BCFAAC6CBDEC0E56A55E18E0B8D3EC7E806B4728BE7045DF339 +751CEE9BCFAD1DBDF31DE8B449A841994FEA0B2C6B2E0B3D1A3CA8F705AFB312 +986143729B8A0B5B1591B6493D53C4E7ACAAF84D2E4898BBD96830A112FA2769 +8E2316852222C1C8FFB4B6B3CB02A3A4A604FF1E78EBBC6C56A8E448153895A3 +0B4A82AF5946FDA0A1D8287E95DCD5BF08A1FFCA11B8BD493853D06CBDB6303C +06F30AF37522828F5502EB7437BF4286C8546ED5D6C0E3081D83DBAAEE918F38 +F1B9E3F1296EBB8EF26D1B429057CE65E413EDA36A71E7B691A72FECC2A86FEF +6979FE7215557FA66E61C99533F4636BBAB037B0A3F808E890D1582E1E08A29B +B161EF7DB88DA4B045E17B4F7D5232E23470E0CE83C8E610D0FC97526C614C58 +D6AD7669F2185285C3D81BA82AB066516E81CD12261B97DE4D37A45283F5BB13 +CBBE74570767979CEC35A117AAD1DD78EC0DED1BE9967C8AB2B71F08C6C3D437 +D1791D6570725E8477C26075C8A819E11C98500653702E62937C1883F40C5506 +E6654A1C779B3E97C1235263B3D05F76F471A46DE232B3A44F7AA2BF1B70E7B5 +B5862C1AEF64BD04D1317E0394443FEE2BF46CBF877A487B252B5C8ECB4BBF0C +8AAF20088C9CA414DA5CF96A6F3FD39BD1204C93FD562F766BF6ACE4CF454DC4 +F17115FF5AB424DE55B277110EC8772128EFE9D83799A10BBB734D570F417BF4 +183D36FCFE919CD4ECE02EDAB6E65E2D49B5ABB051053D4FD805E250E92112CC +BD815A603AA52B9A33D5AACC0EBCDFEBF0CBADAFC5640344126F091C95C427FE +5C0B265BFF2B6BF271B4E439800F4175F04BF1B180B36040A6E556B4C3972DC9 +C186980FC25FBD19E33B4B791F11B1859B9E19B54C00F586804E192C0B1960B2 +86C97ECA03C5AC8933B3219B95CC3529EA8B10F6A09F40F8E4171E7245B0BDBF +3850A455A4BF878CA4C3DE60753B640307594753878D6C83B0BB79222513E257 +3DB609F9AAD8241B5A21B97A11E8A79A428F23B0F9B99692ADB0A09EE2E8BD55 +ACE7DED1225E5D860AB55E7F75E7FE5CC3426B22380B10AB2CAAA53B3B00A484 +48ECDC5E0226FCB10AFD47A1E2CB0F1F34F746455CC8B4AB162A8717F653103D +CAFD245C7B1F1047F47883359E4FFBE3857AF495A7F2B78BCD0823AC7E1E2025 +0E3AAB8758531D63D87181A3EEC1AD962E9417335D5E048521B2659656F9F7CB +E6C7FA3C27329D0C0D23799846911C6779A481CE7409E4E4DA600E5845B0A7B0 +2DE636111815ECD8DC921109991E7182DEA45A8D2C0298F54A56B2AF180671B6 +EFF4B42E03C760F6DDE2E6D311F3C54CFC0B2EA17B3A81901277A14D6C77058D +B59914E9576E25EB201C382190E112D64A81554DE99891B2F0D7EBF8D4C5DBE2 +73EBD4D52570D5DD5FBFAB9F6A941E5C5540002F29D19089D33D5A87D9E7AA45 +99020AEAC725B77764E530DE619BC3EF4D3C708824045B88C5088B8AA8C06EB7 +7B86EAB90B7FAADC4B50E3E892A5024FFA986DDF098E40E56AFF983715324807 +97E5C6BB1C54F665D63DF1AE22836A7E4948BF4DCE3B3B12C214D99E68F11657 +225A2C22AF9E5DEDF038F276EBEF811FDC5FB6CF767D24D5A22BA1060BFFDE0F +7D05AEC38EE038F811CF34BAB81F8FCB42A086E4C3D9080B58EC971402C4D6A3 +5BEBBF3EA120DE4F130A0B512508C566F265A4E0A25B9C7C4F5C41E2C0FF4395 +BEA88B830DCEE2F4E5177F4561B5DAAED2DEE10380BD028519280570B3D870EE +B5E23536A32BE129DD55913AB136B69E0300B60AB1780B3BF87021A251235B8E +485E42682E9F4C6A317239E4774F66DF77395FB3EEDBC971DA6C2698612A4EF0 +60B4B73403CD7DB537BD73E5546629028DCA3773494073CB6196341BF42F6A61 +A4FD298BF1AE9E404EF4F3F92B0DDD4C7520B11492D5F484A3E9DC21714D304D +ABE2D4C7135CD91BC11969A0F03E83161FAA1FA5B369D5E10CD71EEAAD098515 +40047B466EDDA89161EF8AEBBD38727F99076C63EC11C0CAA44C420C63229547 +841D36838D978E748A17A489B48CEFB85094854B5399ABCE0578AE20395635FB +33F399DBE972BA6F587102E1322FD08D6A1AD27024064FE8A785A3F66FFA385B +06A5C6F8495002E2A1DE3A1A676B565D7221F8D06EAAD43B626B8FBE73737903 +DE67E77566BB46EB6E8EB21382738DBA2830BADA6559929D616EF85F9DFBC289 +71C38FF6EDAF5D6C7BB6E40EE3EE505963717F4BBF420844446784B44F764CBA +D8D78B010A57B0C60732C984C398DB68FDBD24AABA00FB4631080066D1AA344F +E6F307228D7AB162EEADBB0B55F9C88123B62748D59922C5A5ADE7DD2AA96F4E +2E4650172463E7515E16F653C7F38A21429A9C1ED493DC71793E84BB038A07AD +BF0C24B9B322C361606FA6D8C8D83BB142B59477C368E35090C584D80F2DECF5 +0026C2CEFEB188AED87FA8D62A27D876A9A7D177222708945F9CC15C9669D209 +C3F43C5280E47C868308F3909B349CBDF897BF27736264F3A322DD55FEA99BE0 +FA9319F93F61B943815C000CBAAF4D8B1B920CEFFD34CC7850D4C09DA4EA2619 +C5122CCD1D5D807ECC4DAD91294893A7DA2C3ABF2B3E92559213BDFFFCD5CBAC +69A729C257BBE45A134F852F6EC3B1AAB0A8AEDC639B9C178D588AAD639CA04C +4E11FACE82C7EE87E64BDCA204945533BCBDBA14BD6E2EA1C3D785EF35C137E1 +7EBEB144224AA134D37E372342F292C15B2479B064A7C3CA87B7E5BBBCCB72D6 +E2DD788CCE37A721DB3DB7F08BD0F05444D9179149217DF6B36367AFA9386AB3 +2299F3DF4D06CED7009D348534EFAC6F7A5B6B9AC28D9C53D79DB19F848987CC +417517CF6F42243C234413756CA68A0F125A0E7C142D5999892446E4AF11C73D +526DE031FDE880348E1D6047F69779962573177E41250B70584E1BE4060333E4 +277DC522EC949F494669BCBCDE44BE80FAF49A42D33D8E79B4C628C9DA340E6B +7E864FC494626389BB2A07981E8090C3CA746B492B3F2090039563C2318069C6 +3018054CB8AE70D910AC6987E546C6E433A5C5494B9C31A180ED7D64C8D5C906 +28079C0CD805D9951D78789E7A3C9CAE15C186F6622FE721565CA4EABB14F6B9 +68D6C041D372AA81E33F34D77DF1D4123C266FE7300ADA662A732717DDA2B9A4 +41DA122921A6D987AD5D190BFAB12DE3FFEFBE2D7E324AF689E509A5F4CC08C6 +5F7CC1E0DE8AF88A448703D6101D1068D9DDC87DD608BD8679AAD51A259259CD +CF34FD0A33C82EB8A22A0537B9FCB7B78BD405287F5B1708FD0685C575449D29 +B51B30154E1501956276EDB93F1C143489363393F082E5ACC9FFDD1D90CA8189 +128BFE91A8696182161D557DA31A46FD5F24C877187796B3FF181058A1508EA0 +1E831214F7475EC7402791E1521B7642C7CCE6BEF9450CC68CEFF4DCABD7D922 +FC9BD10B688716058586012D42F0136F685428278E94C7DB872C6148A6B01931 +0EFC5E3BA1B04275033C4AAC3E18B02E65529D5FCD89FA9DB129352C06305664 +4F0319F22926BEE62ED455433442616A4C59248CFC9D7494E26582C63DA4A44C +DF95FA809B0F5FF2C8B862EE357855A01F21A61ACA426DB4BC12DEABBEECCFFB +079579F14686ED8E524E2244F64426BF8DEDA7755779416A08D0020E107BDDAA +A28D752A1C6EC87B4779FE03959A8EDCF072D248782F562F11448B756464160C +C70BB16FB6C0BB9E9393DA2CAFE45B3DFB070FCD1ED7743C35C73D6BA23E2941 +B85D00DDDD4DAA7454FC002446758262B90DFDAC3FCBF09A1C95825CFF2374E3 +3FD629441B82B0E148721AC3B443E7F7DADDC996E9EDE494DED89C746C69F9BA +E7662D04E3FD1874FA26179EA32176F2EBD45DAB751B8610B4CD9C16DD78761F +C9EAF01C45907119C3B07D5DE4617D17CEA3C9FFDED8B859263727957760826E +3F77F63EB00FCA5DBFB6FF6DD3994E72C79E397358F3C25EF8069BD8E5221E17 +B30C30F30C10522C2443C66BD7EC2719790CDD8D8236AD87B62E7A206B0EF403 +C93A9F3320F5F7990CB440AD4AEF0F9EAA7FAC600E65DD15C9C7E2C3B7D91AEF +EF71982648B53B26EA2310D400BE0744EA2DB6491AA220E0F307A86F9605DFDC +FF3D8F82203863B7E6A243700C31EEFC7139DF2CBE9507CFCCBE098B20AD88DD +B3492FCC625A73A2F9D133E81CB0AFAFA85A68556B1B65DC56D9AB12152BEF13 +D11D0A59408474B15008ACA21DDF965DEC28BE269B03A32073F5FF199DA83D32 +9085038A7B13CB2000AC3AC0433BFA7CA2EE48AC2063C256D51A52BF0D97B34C +313B579445747E7B5DAB31C81A3EB9B26931BDDCCF1F78DF4B7A41E21451394B +FD42560B379433F92EF6ED0654C1439DCE967B5DF595F89D7FCF6E24AD4F89A3 +8EB88F2C66ACC618420BA08810946E9E6DC7FDF2429C0ABBF816D98380F9C21E +89B09F6DF0E55634A5D9D3832CDB4671A67DDA477F87C2D12E01882C4958711D +8C93EDB509E79E3B0884832236EBF71B1CBB32E309CF1F99DD0BD3EE92DD1E93 +BA43C1126C126DAD53AD421863CEC59548823CF508C9590F11A1C9C7A9F7EFB7 +4D2F4154EA1F85A3C967D7F0D9EA815B18449974C3C6534ED6CCF0DF1B8002E8 +BF296A65E6D2566990B091DB2F6B458208BEFDD736242F7E1F9A9E1B3333EAEB +9D9B42EC68EC61B8F04EFD71481C8771D5F79E8E0B91049FA201449195B9D032 +21CC3EBFDADBB9195F850EC164E2C94AB650C80DA43A11D969C91E5D2C239909 +EB94D77A077FC4384EFCE586302B6C509E99154D8E36CE22E60AAC296211D46E +15E20F8EC1F8813DBB3ACA52C89746693C6A49ABE5DF040383BEFD466C4DF102 +8034543FA5E46F11F081A0B0E9698E283440AFC1AE93F6F311E0D15FF8BBA9DB +EC4E1302BC04A7337DB384762BE9C70D52E795A58D33CDE4455CEEB406118F1C +3C9B97141F096FEC8E3CEDB81047B6FAA3E0BFC95D171ACB70DA688E108C3141 +9165B94E25D083C53CACBF001E16EF046B87B19B7459F5181B5A70583700BDFC +2B3E109173C5604104AE2D290461836B0210A52D1EFD7DE714503137B4724AF1 +2A745F62993A47C1D46D4CEC47095D65750D822750669963E62DDE363A16129D +F268BE71FA84E64C9D8EC78180B5EF2E6CFD96C52722EFEC6BBCDB14764672C6 +228DEDB8A2F96DB1A69A9AD2FBDB2B531485EB80B267F70C05125BF1AABFB7CF +4D35CFFAEE03972735EA9D2D49D43098274CAC9C8938210116025ED282524B4F +CE2EB4155CF7BBB5127853DA344070A439C51C532197E87F2FAAA68A8A345497 +18565D75CA93E9A31ABA74507BF0ECBA8576D53A3F36CA02D548A8E36647BF3E +F4A2D999D579117B67BA1B8A14D09C312B0DA67F5E28683619E6A28B39C59836 +A091BC6B4BD0CDC749725100BEED6652D75E3CF7527DB0B383F674093587963C +665E70D245826DD32EA04946605D12F4EB2718802177E659100A2196C3E24B51 +A74DFA76C8DFCC9D06B13F6DA2EC3E91B5A67910ECF0766844DF389E461D4B9F +AFCCE6B97776EFB3EE6A979E162863346B6A2DB3574D442CB339F78C1846D0C4 +304309A1D68B0EE29304B20F84BE8EBFB5E52B26820218ADE1EAD41F03D6C6E1 +21E407DC64895AA38BBD38221F00FC586D67142EE082ABD57AAE5F689AF38468 +8B9F81EFD34AE428A7A02AD8E6BC8505FB45291079E1AE7A0C2EBDACAEE3708E +3C32681C0382B638915CB17045C2F0E81DDF09EB23D0D682A4DF62935087F7DA +5D0936C3507E2D5459041D547B8D255D306D3BD5C9C86E06EE84B5DEA86E978D +D9F0EF653B677BFDB4466801D835B819E95CEDEFB492E525F2D978E9CB28B3BD +C181F7BBB3794F0605C34CD4893500950C68C5A382E3A513EAF0A7B1C44E6697 +6F59C1C1D7C6E3A21F923268E13C6429D1E5B8EC78719E289412095B7E1AD936 +6686C8552127572A7AA700D4AE749407406CBC353F8CC9AF9CACE4CB0ECA8DB9 +777382C58A7B16FE1E7BF54BA03614BF1B1041C5C68C45B7D277F24C77F472E7 +7484BFD070D9236AFE5C943060D3E22699B746E96289994E943EB53A575F74F3 +8F18A75B46AD3F9B077264B4E72A5C82EE6D5E85EC30E7AA77762BF70AB5CCB2 +328B2B453ED7332623F7FA1018D9129505305766E28A13CD621AB3AE39B5FD8E +499E3F859C9846518C50C6272BED0A4FCBC9B8E9DF7383BA206A71D6084D3706 +E0227F7737289EF02CB9A063F9EA7081583A46C7AE3DE7242C987ED6703FDC6B +9B274E3C0F18928CA3303B92002B7507BDDA3E482861C92EDEFEF82798A1B1EA +DD97B1E6263AFE58BA1D72DC9231C4E40AB90F19BF54E807EF08D71838A33FDC +1EDBE07F50D986A29E42609E770E8BAB3C99BCA591AA32FC0551082F4DFF7A46 +6C0B45EFDA26DA8F8E158B1CC554BC0DF11075C1B0DA6152C53B563C0EF832A9 +E41846A57D0DE1552EAFD8FE44E0AB25983620310A3BB2CD4B6E1CFBC8300557 +E3E93504C3263CAA0962A0F9FE4EBBB4CC7DB9404E3301112D1CCDD005E55A4A +40ABD5E9942B4072C8627D4F38E1C6DBBB3B0539B4800ACFDFD1EC7D38BFEAA3 +AB140913D95B0A5F4CB5029AEB0B80DC6E0C45221B298E7A8A7A2755D5463970 +E9943BE672F551ABEAA747DF7C01F81BB2A240CDF82BDDF076E583628EF280A3 +A5826EA2CB3801592D910C932FE389A802797F33ACF8B933CA97078CE60AC97B +78C85CA773AAF818DFABDB4FD60AF12218C12C4B89D3579B4DCF1B697D213878 +BCCFB9D0DDE10FEAF270D473A7121184AB0DAEE1BECEEE46552F5825B9E497A9 +B17E02A4B1D7A60E8296E219170853F34DD6FD5514009F01BAAD9BA60B5C31FC +9E9F1493F9D828EE4D32456EE0249F375601EA4E1CA329BAA095C5DCC3750E59 +A2C5DADF6D5AD6DEEA9526478F8B3C8A6B8209818E1C5E9AFD9CD8363DF71C55 +65AF5B84510A5A31B2611029A72868EE9D01A4E308908BDFCE0D47F5F59A5875 +4A34A9A04FE68AA99DA440E927F4482AAE615EC3D649782279FB8864CD4E0078 +975BF61927DB520E5C540614DD882127481CAA42E9E0F9E06D8225D1DAC8B72C +1120DEA694861980A749F631F0219291A2129AD24DD053A7D70F06E894D26AB6 +80F3CC17D7D10930BDFE1754DBC8B137F99FF7CDBF725A6980E603FBA5B1F246 +F983C8BCD2E5F7DCD880E592378BFBF360F2C5535C16084FE2BFEB789F4F2239 +E51E3B7D7D4878C982D414E23FD2ABC318BDDB9C2B8DCEF39155DB40113AEC78 +68B1ECAABC5A22FAC5D839CE1E94048B6DE6F1E407520E80F9A459A74249068D +F1E50811FD6B2C06A074E45E20E5BECC9C78CABCE1AF1DDEDAD62F779B479707 +3FF6C110DE23F9154789B43241C269F4857374CB0FD313DB8FD3F358564B3415 +5830EAAABB95B187A4643879246F7C3178E493C801EB969DA2B34E270E5D4AAF +33E023668A92E5980712193A746DA33999189772E9F9266621FEBFC113BDADD7 +535F35CADD91136D3526457294A57DDBCF90E4E7344F3F67E00B2E7E7728F1D0 +4A4333374B4420DB9BE21B0008A982A9BDCE7E8A2F964AB6097247DD8DCB48AE +154810F8DC3633D9648BDE5AF9F5E90BB94C231B6DA6A182BB18A4E9EFFDDF8C +8A35D50D172136A8276156D9BEBC833F6895C5DA560CA412DCF311285228AA65 +AF102A1CC345B5B06CEB6EA5CA84932C89D76070F21A3D702C2B10231DDAED36 +1E6956F2D434067919EDA0C522F394D92D7AB18FB497164B0EA6F86912571B1F +C4B517F6535C0E67D552DDC65B3B3A2D11EACC8B5CE1BD3E87367929BF4897D4 +B84699731A6B3F86AFDBABB80BF2E62BA4E5B3DC4BC10D42A759A29135E26A7D +227809FEBF6AB48ADD106600FD9D7619EAA99F980665B74F33E0B73EBADBB379 +6610DD542AC6774BFAD42D0701FA1FE3D2526A63A23A657D2F48C2FA327385C2 +33984DF1095623271530155D25873791184E971F612CAA247E1E4D0F71EEAA82 +8E5601C70060A1789536D912DC1538B14CDA30A55CC9FEE9FEBF645824A37CA1 +A90E3B0DB87EB63A0D819B406807EE24653C218061FC6DAA12D74B121692F411 +33FED8C09966E4DC8759B3C0DCEDD402907D65370B274D29D60458D13DCCC21E +4B9FAF103267B8EC438FE7510FD3D1D1318C89BE7C2C5D549FA58902A5AF468F +539A10DC92E4B4942C757E3340713EC3DDD0DC456AA78A8C395DB7BCE107A386 +A0E4FE02136806AD1BCFF2EECD965CEB7CDB0E11BDDFD1402B8A5AE155E4E6B5 +4324D6EA65D3911E42568D2F8ACE0B4D12FA4862B6D4BAB15E433D36E04AE4E1 +5B9B76A20105EBCE0963CE2588912BE12D9F5762516588FB0B4549BE4CD45E90 +19BBB3FFD45F59A5701143DF58A8C89C9D1E6EF5729AE66BA3E83FC000434CA2 +4DF0517717C07D7D570A5E230237A2E53623484FF465ACF79D3F6860CD07F5FF +4A432DEBDEA9C5A621C0C69D6699D4464A30B9EA35C856F4B8914C08243CAAC8 +704939D1F838593E7979361CFF14F9D27CEBC56DB5289DA6034AA36A45C4622B +32939B064407071A63CEABB44FF97E7A513E34633831FEB057D5350E0ED9AA2B +6F46113A0A5CF7400E7B20B5B2344E2E6057B4A56428A4466BA9BA2845E5E165 +75CEB41E2D93E4E93FC183B980BF23A4CEFBD379CC8F9A1EA6461F2DD43299EA +3739A056169E7D53B3CC623B82EB1740F8A9002BCF312C6B142B1AFB2A34C188 +CE4767EF06ED56E91C20EAD1A9144D573B73EAA8B3334199C10A16E7A8C8DDA5 +48079A1AE853735E6BEB9CEE8F94EC7D2F89733ED3196B516103AF28934A55F4 +7D4C1692F423A5A4CADE2ACC8074FEC7F6AFB87147B4ACF45E002AECCCB15714 +39E5AF3F9C52B81CC0C4739B10B9E138F52D8E7D72088A84452C6110B0889D5B +37D64DE992D41574897B1DE7B5A7328397AA90B29A912993183D706C291F1D11 +5984844021655F433BB06D09479CD28DF71D186F2BC77688A0C2188FC8539B0A +4ED602D896F504D48136F192EC125F26D0D2B859EA843BC508F8F017510DA017 +31AA63614F0FC2EC91410B5609CC1D1BDF7925040A3222B08C2C2375DD644CD5 +CBBED0DEE20F78E13DB387FF8110827975A04E58654FB9B179FF36CD63132B59 +0D928A09BA4C0DD215C4961B4BF565C207EEA5F43C51988F188862A09C6EAA4F +56B73623EC1C6F279D405F6A4B5F0BC9EDA774DD15454858563868A0D16DEB16 +C8B72ED9F06F64348F130B0AC9B75E69BE56C017DDA4560DC8E69A51324602EF +D6091069F7B27F0FD384BD9D5861B5694159623805A4D537411A9B66DAB1D955 +4E45DBE9817A4255EB492EE4BC783B37084A7DC9B4B68A1DFC1B46705FC9763E +94679EDCCB0A4DE850C4480948133C2DD1CD525F498B01F5046FAF642EB6C5A4 +6861840CF18A04F1C84FD2A66D97A61AF17C2E66E7350BD46F94BE9B41DD776C +6EAFCC1759479016C3A27F0E12C5DC2E8A40E45571D5BB130E68EA57B97070E9 +33A07A9AD9130D3FA73207D372381836FC968813A578138A07F2F3826A2E41EA +03F607A5F8E637576965A41970039DCFEDA28E7D327F0F4C117F8AC445FA52E7 +CBD97BDB0EDF0D88B9DBB90D76E037C2489AE870AE0D83C143627D17C09A1A1D +CB0803B3A6CE9118E9AFA8FE44720B40ED6658D521F2C91735188EB59D12B833 +AFFAD67B5890E609F2CC73ECB235D27A14613AD6F9CAB6E7CDDF9A697A0BCDFD +3140825F77A4827D91D28192CE11D69D02705CF641C64F39BD531C74F49711CA +533AD45C5447EB029FA55E8A1E1DC69661D8C225B90255441E91557DFC761140 +22EA9B3681DB1A1460B3270D4FC7CEE62664234DF963BEEE1CE7776CF28E35B3 +2AA2DD131635AA1D3F394C8E39942DBB0DB456A7BBD5A21F6A7915830576D066 +600E72555CCC7E9F3C9D65F274A7A78317FFD2A359EF28E279B94439CB5FAFAC +5182486D5C820304993B2F59394E573CD409CF5657AE0AC097F2FBB4C6C6E1BE +A8CFC67244702D1C4832BCBC3924896389F9834D8960E0290B681C653A39EDE3 +F9E6D6626CC108BD5B26BFB4CA0117E1B29B138CFF8F5D77D5E5B49570A921A5 +8649D00FFC8E0D6ED7642E3352D1A6B3199C444976F34F301F2950F503BF335C +5EF25B82EFD2C40ECA5074264B9C6EDAF019A450B3C215E4AD72FEA7E1E4C59A +E3ACB379F4714216C4093711E17C5BB71F5D5B395AB8D02D1E5308D6BA838CCF +EF37988BB0E6C2F010C63B73D731119800BF923A9E0A9ECC93AE903B04DC7006 +95B18FB928D00DA2809AAEC38D83841083019E6DE38084773754AD52DCF168F5 +8FFD5DBBBA626D61716ECB0BA75240C14D16301D8C171A21E44D72F10BFA8A6D +6347CF46F17E8EBD4EB2304FCD5D2B3D97720F2409BDE416A21640655FC313BE +399C834B1E5C0691005BEB9C217C4725FFA537CC1DD8B3213202582D9E135F73 +E7B4CD4342DCC837DDB367C72849B0245588D1849D7B2402F69C01BEE77445AE +F8401907E6C77FF4DE2526545B3FB7946F693C04C544723FDAA03A532E4F180F +2DC2CE1694AFB703FE30B216086FCC4DC76B04DE1AB9AF8A8A1A068FE1DE76DC +4331566865F6B13C21507936C590C305192A9E3004190FD117C7BC922AF29E9C +D686E46B969C4F9A1A993ED2ED52A862737C6D46673CE064E1B7AE0CBC9BE116 +046CB1041E32E320D8AC967B12C6160AE8F3D8DE94C4CD19AE46A2879070923F +CB31881E14AEB002465B721587F600C5704ADCB4B3957E1B8ADD7A58CE1A9225 +B0FEC571F009611A48CB34B8E9173488B9F4C64CC52F438F544FCB12BCD994BE +CD1B7910BBFF76A0D063D8174376C3B9CE8AA11489D41D4AD5BE489852BD4F53 +9D1FDFA6A62951FDCA68ADDD1EA7DFA3012B2C859D98E20A4C116510D8EA67C1 +3D3A378FD21E99E132332A6388C0CB71380AA3272B437BE0F3341FB9B559CA00 +93B5F3896887F0DB0C5CDBCBE8D4A66562B841EEEF30F99ACD5BC89EC84A4925 +DCE688FDB27FE493ACE1A5E4B11C9102BA94F8725DD829A9D6679DCE2D08D70C +7AAAAF05EAD756142DE83A927103ECF8FC8F60F48A144DB116B3F8A6996E959B +A82DF5C6260FAAF934E052C95BB77377757E0CA686753E8E52123A64266661E8 +F5B9553B91933186C853BD5C428320396555DA1A22700A87676FA321798F8AD0 +59A2232670FA28E18B15C0C2D67A03489A730551FEA2007139330DA11EB80919 +CB8B1DFDFEFFC98335F6363A668D350F53A053B1E7AFF7832C08EA445DF32F79 +2EA754EB444BB61992CE75E20F2DC0BDDF917B50EC9CCFE6D83A9D150DD61997 +DE0954114663B21AC5B4FFFD52A8ED8577F72A527CF162F64ED65962C58B67FA +7E492D98AF68FA08A397736FD4D243C90BB7949ACD00099C3598330013E46BB6 +4AEF51F0FC8063050D27DB0577A5C28C480B80E20068E20AC6E67D013F479AB4 +D9DF8B27D9C16BEB06D96AE5C3934DF2C9E1B29CE389D3C92C5570559EFDBD7E +BD7F97F7B956F1471D96C9C6AA23E5761CF7BF3F0810DD432939EC465E50CADE +E581FB32ED1FF03A77D6EA7A35359AEC1D986BE6750BD647DD8CEE4FCFF3DF69 +3959B8D13ABE6949C4DD4685FED5A787A55E33444E9424D98BC288116499ED6E +76E10B1C56AED7FC99F0F1E053E7BA2066091C9F04F787785F95A620B155FE71 +706A20326226AB916E4816514FE598D46FFBF77A9113C7ABFF365A12446FF0B9 +0744C3C5C1B278968D2071C0322DDA802BFEA3D83B0ACE5E4CCD580233350196 +45D9C4601E86E3F77E0B06E2A313927795E8858FD27F0CC7147985D1A6EAA623 +CA96A0345C745A0F47581A977A220C598F4CF4CD539DDDBA83267F5D9E4F3AD2 +BC287248F885489206B590D9A34E948E6791F0F9948DDDA6AA1312D8559AC611 +33E35C7420B3394EBB1EA5E9D411FCF690A5B1357D06D41EE5062852CD122347 +FAD22F141F84284AC0B95F7A000AA1299A1EA2EC7D6F6EF8335B4989F8CC6B48 +0232CC4C044D7A7298C88A3720C693E2115A26711EF0FE171DDB45747BE2C9C0 +40562C2E7C6AFCA159AE341573055C3618D2532C4C69E72D9CB0A4D6267BF7D7 +AA4C30CEF7A19CD667865B963C6CB6C21DD4F887FB1B02C3E12B4483F07D98AA +C1C512014503F3B3A4BC6462B1BB6FEC75F95C3A3712E1530451C43C47EDB056 +FCC15D72C688C0E4A7B4FAED9C603A9C8F615EE2F862907331A30628A9E4BBF6 +05DAB43F30899103173521F6E36BCE6F4DFA484CC759F66C8CE335E056801B93 +AEE1FD94D95FE5DDCB783A6E9DC1A82A18BA67D8EB45F51C4251DEA708D79474 +8C7F97570B87AC6BD21590F305A531F6D32FB31B013ED8C7798A51291FD2A2C0 +0CB565F6BA2340F4599CF16480040D27941F25991F142901034AD95CF1EBFE7C +A57A2C97086B488481C04E9BE785DB89A299CAEAF736465FBFEC80A8197F09D3 +82EDDBF1CDD7E07A772455B51F37ABC5FF3F0220390419B797FB46A209FA528F +1DC77F67A25A3E2E032C263757BB040E174DE9AF9DA3829D31EE9DE79552C823 +418DC7853175138015FA33D5F39264ED66A4109F0F732104650CE5C56E0F23FA +C5F79C62759E8DA0DFB08C3D750433F1D6A14A095D2D8ACA849D7A6147EAC453 +318D58121426653A89F67D6C78DC5FD6964F85AA80757B90EF6A57E9F21A009E +C570D14808B3B2CED8CF671A34EDCA0518393DF0F2E6E1D4ACEEE71E5A5372E9 +26815A9068CE55EC3952AA1C75DBE28457A883B8846358F9820AE57A7393CC81 +DEEADB643938F84313DB8FD3F371417AB63ADEEA5E6B5F589744E408151F7A4C +3CA7131D6DDC40EC5AC9E386CD515DFAD56FB5D18D5E3A145976FC2449BBD14C +45E5CB314F707672F95115919EF34B41CB0F5EC7E68572E7188F5A936B13F967 +81CEB3BEB43602AD8BD4E464C0D5B09323F35A55327E83DBD06D75BD158B06D5 +7CF3F5DAA8556C812540377B20272FAF9B2B8959A12A0FEC9A445DC927627E74 +47456A4F02103A0586245FC6B44CF66C320913DE0F6F50384B3E0585BC7F299E +2B640C274802E3859821955666C75B6C06825E84C3DAFF2A5A535EFA52C1B252 +27077164C89F1541A1F060FE9D1A61F6B7443EB28DB9CA21C75D0DE9D9BD363A +DB927BEA8849C5765AA796AE54C512A3D51BF4A8E3C967F63EB1DCE13B0BA3EA +0F4CFB2630E103575B0EFB1FF207F96A23ED5F31134780FABEF0D630CC6AF64E +90A35089DA2354FFDAB7F4ADAC1426303AF547FA916342527380D5E0F7A5047F +541DC158B9CBD3853848D1066A80ACFF7BCA9CC5F2007F1DBBE53E825B85F8B8 +BDCA072350DAA9A1C825414E5FAB5BF2E5A5344481902958B59CC87C6A4547F4 +F399E74A9112431B2A066DA65D1F4B814E230E0E161DE600F61C554F696BBF18 +1A2FA6A3535D4983CB045A268B0F54D00774954590A4CE34FFB00B579485C402 +7C54A6717B111F55E30F58A2C928120900C189DC0A1CC44C1CDFA9E83693A8A2 +CBCAF1D2DD3BB067BAF86C8AC9AF020866991D1294D678088FDA6E14C70939AB +0F13A91CEB035EF5EFC9E837838497F2DE257BA0AEFB4617B3CB925D06250AD5 +AABF841DC47FFEB39EF6CF7AD55263AA3DBC3B9D50EEA595E203B78C5D30B83D +CCF8E79B86CBC3CBEBF1187065D31E10FFAF2798980099ABDF42D05948B22164 +286D1C77C56774DE2E5A03DC27C3FF53ACCB292A862B05B6AE210256B36A4410 +B9D1600D177098F06BD5DD7E5105DD1000FFCD84BEE0A9E5EE98424D6328C405 +EF84CDB2B4DF01F6105E40332D5E067208D78C9EB222FF0D49773D853F3995ED +DAB7BD856B8D7BE920FDFD64994613CE3153A0F82E9761888381D2BF49D14DC5 +BE70BB3017AAB6191DA90B440BE052CB3738110A94D7D9517FA7975A7D6E9574 +92495B202B3D7FB7F213ED050FE5E1CF7810A2FC62749C37D9E6A5B7C18C293B +29EC2169F31B6E2D7E20E3E10C6D941C2A8EACF5FD126EE9E9F8A0BE33B737C3 +18A4877BE24A66A364D37FA41B0BDFDCB041DA654F55A569C5DCAE8A1403E3BD +FAD659C4DC5EC98D6E36538A3680A7F8DF7D047B570031E7F9943714451AD5C6 +CAD5F766B2165AEF3ECB73BB8A60E53167E5F2E6636EF8B72B3E300DB4DD6CE3 +F0ED19F78FAB386989701CA816501BE8AF9C73DDE4C684FB380C05AAE1FA4957 +FCBFA59F4CC31C6CB6D4FD4214EFA50D25D005EC3211780EFB7CA85852179FCA +4EE10E811D2BBD3D6CAEE6577B25D04021D300DC4C347FBD839E1E9568958A2A +1E8509C66BF1A3A9CB82CED86FD20343936E341C1B59FBD0E2B9E95113E84B3E +7D42E0086A8069966E65DCB5E63B7DE1B8B97F1EADC31AD1541A466C74C2D588 +DA8978790722A0D712FDE78263835978A3A9373E13575DDB5DF4FD9E585C5F2C +7D0E7C2BDA36A6D949127B1169A4BDDFA48DA3B73A976218785CFCD8E3454B21 +F0E118D30463ED3184B218E697F4D78D36DBC927B1ADC31A9F6DE2862E16C779 +065D2470D23659D3DE2E7927C9D557DEA0DF036294563138A5A4C766A8900ABE +AA45892C3C0D6B6E55DD8CDA1F3CA86F60BCCD92E5E04ECAC7818BFB227C5A2F +4F55ABB82643DE9077B945DA2F3DDF3A87B581A623DBF213B904F829B1F83E25 +60CD32A8821B09445FF1D0569643B9BDC07141B607FBBB29A3552092E1F22BE8 +A9D852BD274A13DDE60C299FE21F354459D3334FAD429DA6EED4A948F8C10EDB +EE657858C0957C9229906FFDD270EAEA8E7A17010BB3868A1937BB08DADC4C1C +B19335DCA1CABBBD955D7C65BA978BA755045E5FE1537853650B191AB856360C +33DD87871939D2F36D49E95D19EE9B99EF15A017E7CEBF28741BB7CF66A57CFD +1AE132601DB33BB1935175F1C230270B2EA7C74F2EA94B762B40863EA03D3ACC +2F7BE81B66F94D4014D4765682ECF16B2982F3A6FDAC73577CD118EE21C95C28 +81BC2CDA0E59AB941EA9E95493AC01C62292BDE4B446AA19B4FE2F7FCF083FCA +4E6F7EA8624C034C343C610F6170FF97D3261970AA4E3CF4D27269DE79D84F08 +1E9A76252ED1C08B938BF7AF0748CD480C343DF351816B73CDF917CD7A09A86A +07B79985BDDF6475979EA36B4CF462D28988C7522DC7393D79E9706646C35CC9 +2759C1D2419991223E3198A3DADEA2A860EB5BA1EB6ECE1E1C7CEDE9D5D53F43 +3C3AA3AC8D8B342C1CEC6AC20621D66851EE10E3EA4660782400BC82839260D3 +EE4D5A45FA4FD477679ED3D039C916BEF2DFAD2A3E996374B1F6FFE299F63738 +69B82DD5395D8BCAD6C67D808B275075AF38BBC127A2E1608D4571F4FDB62CCF +F5D766D2D3B4E5C49E703E4C32FDFF5F9C602EB47FDD9F5DF5165CEF1AB8EBA0 +3CA149909A692C828D506C9674A036B1C9C962F856276B5B0296FE2195D68C29 +2AE3B2015599F0121B4986C36CA624D5EAD0531D4F136A17C054D4B0640DBFD2 +C913F9F066AC4940FF3C7D6D74C6B880986E42535618F558791F7577DEBF3E73 +09015F4139C40A428C47876F2A8648389ABA2EF638A621DDA85BA30DE99EC759 +722F41A8C569B116EB2DDBBB63A312418B4C5D9CABAB07A17C31BC8581C19053 +E563981EBB870F892218C5E9A93C205FF48D09CEB613D7323FB502F7C4855E96 +425AA5F10C0561F9443F1704E17D7D5927B4C3415D309DF5C2CF7F92025AFFD3 +A2A15552623D6797A8CF551A1F055EFC77CDFC618B3FF7B94B8DA3D855FF0C0A +43D017F1BDE8B5CDC530A196DF2DC759A3ED95AE44D1D2180EEF8F5A438F1986 +FF641B560C96A4663FDAF999D203D6B34D061F1169ED41AE812F7057B077780A +F2799D26094329AE8CAD0FE61B5A76A83A9BF74B0455E23B604692B82CB390B5 +41F4C9EDEF16091E6E9C177B7A5A7C08F3776B20C537FAAC7B9CE4A587170DC1 +7FD8EB494F4EC3257617A877AAE91976CC8596D661E609764FA64574D2D8DD9D +4C41A361E62AEEB1084DEF60BB6E7C2D22F821F9C797B8A74B626D68AB62B3C3 +CA139EEFC14221184FF1DE118AB8EDD95DB5DE62CD9B51840F60FAD19F167271 +A71740C4E61CA8B3D0582B63EF858B1B27FE2C5AC5836D7EA0A3B31382BB4683 +57C3C25A96CD5A10EBEBDAE276BB34900A5863CE6F4D64D50609B82FF4F02FAA +8CB2E8C3D2059FA0E352F0046F202A5EBC94CA18C569D20AA42BEDAE7BFE4BCC +80AAD6751AA3C570FE9B6C990DE994E770BF600FA7E88E37D4577C74DE09ECE6 +4654722B4429DC62340F3E8FCE6E6E074F013DCC43FE5C51CAE1957CB420ADA0 +AB58B9819B587EB18022DCCDACB469417DA285BE2CA97372E2EA60873D758F11 +8A353CECE1F1F900C55D79C58B353D3997A02B1CBC5339A3069595CB98CF55F6 +EAADBE17AE93F4863F32398863861F1865FE99737B9855F556DDEB479B9350DE +424B87904C3786F95320955C6055C90EE90AB678BF55B000003B668B990F38AD +70B3C4DDA1B89DB93A2FF4D1B3E0977C4C730F2A37981B0B647208E67C1753B8 +31D97A76FDE618CD7112C7039F077697D95094359037551C85FC5C150E0DBE63 +26A8CA688FBDCA0B5F06B64DC5B9CF62223B466251F09A2E19005180266819F3 +785A963E2EF7F598A2D6C2D7DA7749AC7AAF046F2D7948C5C55AF7316D0EE823 +F64FD165A6F72829FD0485529FC7B7C076C75A1C6360AB5B878E7656936D41F6 +8AF9A01E5695F674EFC4F7B06699EE8884C6E0FEE39544F1EF61C2EB6FEEA0D9 +BCF9FC3670A3D6A2CE61BA04637C81F97A0735A002C17D26F8A58650DC407D1B +4EFD4FA0F3AB2912C897C8D40876AF65F5AD3A625338CEDC4580CAE5E3471004 +C89565D9F53D67A41C175E301BD7D02C52C7C839EBEA60C396C5B0D73BE6A8AF +ACEAC7EEE25395D1B0CFD0C4406C15E446D66E171C7C5893CF2FA1BACA35440B +4494B8883AA6D9E4B7582ACDDC7ED6ECFCC6DBE83C1E4AC7B993763BD7B56AB3 +BB7DDB1966485732EA112CBA3237E5D7139190C59D25F37487FB66F95F57FE76 +384A38E97FEC1639C38B9697A4A7D3DF81CB9DBA1B8C2829EC74592DFE5378DB +FBC363E765E6719E83DFE522BB169BFCB63A315C737B99E8EEF8932AC764AA8B +CD024CB45BD0A39E96F40CCFE356FA905B9E450B74F2BB9D55DD92FE25210E94 +E3462D29C37AB32268F21B724A2404E504E95DAD1CB71605F38ACB8DAAB7822F +060309A73ABEF70CEDEAC12113F5571DE14F73804DCE23D71BC38B9A9FED9D9D +2D8EC6ED9C775BBDDC171E5C63CE9F39ACEFBD07A19C57FCBC5286C38C0171E5 +7341916F9404D576CA5E71B9993C0F301BE0D59FE2BC3765C6D21E4534A75E45 +18A86F2FF0A73D6576DBC5E0DCC287F109B1E96B2D954812FE5C7A5BCF2AFBB7 +5A608D6DAD6E9306BF6E80A062AFB67560A762F57C78B4330F5820F2F97ECD57 +F9FA88327D181429325F05FE5E81A7EB84195CB769C481FCE3111860A6DDDEEF +BA1E693E2E395900BD2A16D68A92085DF0508D4796934DA1BEB63D59F41B5AE3 +3A93220047C96B6420D1061DBE4F7DD168ADF7ADB7CD31391F62FE3C907FAB5B +FDF8D311E10DB23A6DAD5CDADDC50A4EBBD4C9DCA58CB8D2C6C6C9405DD7FA8C +16E21852FCF7807B56E5FB347B0BFAA4991FEAE0EC220B503EC0F220230AA521 +6B1039ACAC72EB3283AC6BC8539B884AEED40AFDD8DDBF17CB4CD825C68A9EB4 +137D77E6A5C4476A66A961FA52E102C3F49BD4B80ECF0BF7F853BF102C2D00EC +D545F12F0D8D5E04BC7C2BDDEA49199E7B6FB5817C576D58452D2E75162D011A +ACD7D0CCDEF71502FE88496C5E19CC81ADF1AA24A405206E61DDAAF130889DC3 +C15E4AD6F289F5024760A1A89CF9695BCCBF5DB7CC5B8EA83FC32B087DAA825D +D083612745861026D9C1D88D1C46BA5526A71F9AB4786C8110D8044D06D26B69 +CE1AEADB3A7342AFEE02C685C52E53E40662437ECC83685C70E15FEA06577A99 +565E0B85FFB0296F1C501FCB552194CDACD39130414418A68511CB9E4654A66D +4744F96A5D356CDE099EF984B6FFAA5A9CD967E37EB4D5D8433380567108200A +42B7084D9FDC5037B468AA275AFA62F116941558BD0F99E94A604AB19CE04E20 +1D782A1ED9246ECBFFE735D218AD7256D7CF6BDF707F7D65B9CC6BDF3857DC05 +D335E2D21DDD094A0AFB81F682609A44FCBDB3D6A2D696AE56EFE853338F8975 +998CE3577AC255E0F712F80ECE2C85B2C153CC3AB668A3915CE4724B2E3653B2 +2F38BDE00115A217FAF38675E9F16D91CF0AC34D687813746D269164CD505C9D +8B88D2119A8DACF3B9BBCDB6804248AB09BD0CCA2A9B0A617E3A27A65A2A6EE0 +1B5A0A6F29133FB63F527E00126DDB0B9A5C1CF4FA1C8D6E1C0323FB488A12F5 +A962654F0EB4A54F130B9A483BE9857F90764AE8B9AA0101BED1627EF1B95BAE +948A911DC5FD11009AC18D14217B504DE30D6433CE1F1358270AA5685A55D23E +D7DB15D2C32A9FEF30A89AD2A43966DAA115C75047474DD08C775DAB0328A2DD +CF16A236989F55B7A58D912F730B259E1872BE0C92C87EF7B4C9AD44789ADFF7 +38BECDACF9D5B8FDB828986367E268703B40A8B48ACEC6BB3359E61BBFE5B0F7 +23A6A24E1E3F63073E3665EDB2D32E9E047F6D1E47AAFDBD0033822928BD9C6E +0E545C3FE6421C74A24C484E7D51A71E8ACBD199D19CFB0804781EF93C074239 +EF2F6FA27F62F365EA2A12DCA5D088D258A6A726A7754EFDB1237A79A7138E85 +662B655E329E57666EF8A264F2DE28BE64AB7BDEBEA9C4A78B1250794B611375 +8033481E0B0BF46B098071269D74CA4CA7C0C13ED52B8B91D052574B7B3B83A6 +CC340258F8D30FEF7ADE448FEBA2810D6DB302D5119C7D1C5F42145A731921F5 +FCE9F9BAFA5CACB875F8650BDE37862E43066BC15FF5B106912A34DE22309B39 +693D45B868FC6F0D68B7E5C03E7FC334EAA3E911B85B49A9D3CAFAA9F401092E +18B29D792A18E94731DCBA1E208F1F4453C9B50884FC4FB147CF6824E13EAFD4 +80D2FD01EC9CE8C92A26189DD9582AAC06BB232EB59FF1FCDC52FD362B8897A3 +2D1417DB4E5746AFC353388AC3DCB8A39CB153E0E74C58211B8B7D871013E111 +8160FAB21A2FA2B768CE2CCB3F6D3458D555B3CFC5C70D8136F04AB0BDD84ED0 +86E21CF9CB9DD034E8AF0287E45DAF8773008F10AD5D0DD44F61E2E7C76E180C +4F8ECA6E1E0BD8335CD51AD318A7692AE3FE01D06884E13490575778D12D5B26 +519A85DEA89F3F59C36555BAC37A48E2FE44EA51E6BD750B1A01EF8E95742C94 +75C19AD531062F4AEAF23C6DC7421EFA7E7D8D6D7CDEEB9A3FBB385C53DC0BA6 +FD755E7F263CFF5F69D6B1AE706E31507BEBECB25E8CDC09956A2DC75EAADA2E +101336BA6815FFAC9EFBF32C57DE857E5BF524B1D82BCF7A485A8ECF04404B68 +04335E4A858D88D24E10264F5944A0695C5A07B3176FF22DAD9FF5B46DEB2DA7 +47B0A066C5816A277E85C1668BC0531719B190E40AAE955F758650901B6844FB +E1199CE9CDA9B63A5DFE7F076007EA9B735189D09420BAFDFC7195D8106EA86C +9B5F137F93F209F8355B96EF42FE38C74E791C99C1C9BCB283130D3134FE3468 +186ECD90E25DF9C4291EDE8D139298677E90175C1EC0DD4E46E497FC11DCC162 +5550553E6EC4D4647351530DADE101D6C6D4472C9BD8051E56601C34A6101E44 +820FFA209E6A9A6E9BA46B59CBD16C4FA650909359D48B54C30ACEB48E00138D +7CE7D83D957EDE6676614F8032E51973D692AE87027848BF2C4D4C3973A36091 +B68528CEDE4C0AB90C3170883C09659974723E8600AA0B93A2CEA4B5C74154B0 +1BE885C178E452B37F709DE61DFD09C473432087CF7E589CD7C544DACFB79D36 +AA7D8CF8A04096B5E41024C1B4910ECF14F5D132D5C9D3689FFA4FD58B1200AC +CCD41B8D76D9E4B80E0535458213890141A72FB1464B08617E3C668D0D1F1889 +DBFB2B7C07EDDF6C46D2CCB40CB1985D93F71420B3232925DEF1C219545B4024 +DDAAE581934F1A8CE228DF623A69D9CADD701BEA4DC16074475983D8DBB9FDD0 +E70A8542B3ED533B84E58AA0597396C584D3968E4DD65381D7A92CDFFFF378FC +F323C23ABAB68C4B514BC82931BA25C067356DF11994A9B6C8FEA1E7979EA892 +3FDDC99BBFEA09012097C49C257F1BD7B54B553698F9DF78C95D2624143792FF +1C2FDA58A0BE517D9002685087A375D2A8C58BDA973F22E0D484A3AB988D02CB +6E3525B9FB4DEDBBDAF2A1D93D4A0896C0806A8B693F24B688E5CDF0E2192586 +63D28C51A94E0A663E301A5FADFB39F8585D31D74CFA20F019AA7AD9DD0B322C +F97BC8380734140497F53A2B1EB430D810EE9E8FF15B8532C33BEB2924A2169E +FA282933C1562470BDF20114639049D28A9638661459BF75D6AE4B8B31327218 +3BFDF4187FF8F505AE635E1055676DCC784EB6BD7FFAC6D719270A1453F1F9C2 +3E347652AA2481513FED8C4894D3F53C7FD9D34B90099413F89D5C0CAD442D62 +F1CCAA21A28F364CEDF35957170B2E90F1FF8FD9CAD046DFA75E36CA36121145 +4ED800A81D865AF65195A5550F7798A9415218FCBC393904F932396292C6DEA5 +10957AE6ED2E6427CDFE962536DB7AC414C399799796F98C83C0007883AEA3B7 +08F67444842A99E0CD4A80429B4A8F832A07C085E9626E00DD327EC559A210B4 +CDADA11D28B6E95F7E119BC7CED1CCE4D8E9E1B2077DCE58876858BACC26C651 +9DE3C4D3F72DB66BCDDABC34E4A1981D79A502095863F441C1235722B25B2436 +91591E6F31041071EE87CD730BFC1C63C9C14D8D087E4AB1D8383B37BB2FA102 +F4EDD67F49D47BD89D4FCB481EF30CA6B8456020818885E7F88EE493C8380789 +011018C824EB9AA16BF47B53C0E98C1FBC321ED36BF17D4139F3E45DE798BE80 +5EC1130CE6F5705A3C45921CECD9578B8AAE1D420B16D48495D1A67E704A3E85 +F7F2590251A522259753C60C14845F699F062B626A1EDE4DBCE3CF08F1886688 +045C21BF0DBF5679683E184D6E7874CD634D930ABB02BA3317F55A0B81741ADA +315179F099CFBBFD351FA2976120F4DF07BDCD4EDB7FCCA27C4221C2557AE3AB +F378E1F7DF12B3BC213D5B9E31A8C2C9398F15E8D5297436161FC553B44DDB8B +ED03FA7772D605A843E64FF72818D0D51E3381DF8F13CB07AD0CE3755660C149 +3B8C5FBCCABC9D8C98C1D0BCDE05815426F390327E2C994C7C611EDBBC2BCE9E +5028419E6F78F301795A93122BE7F57A8B069EFD4FA61EF35C737267504EE1C1 +32CA2A025A99D9BA7328C2065C752AF365E942FA8F6BF88DD7EB7203B6A79B20 +E69C1AE38B3D1327FA639EEE719CD9C255A8E683A575904361ACA30BDB2FD061 +D70AA670A999AAAD749454CDC4AC3B2202C5EE338A4CDA93C9B05E6B58EB3FEA +47C65265E2D32210218239E3ACED483FEB1BAEBA73B544E03ED18567E7290F69 +0398071D16489E876A1136CB66E1DA46E7189367B18EF83D06E693127203DD1F +83B4A621F18ECCFC5292C529568D54F7B20C831037130750001E078B2881C017 +A308D79302E65E5F9E0DC18AEF3183AA8BEAED89A0798DE70DBE5EA3EC4C4F73 +EAD7E8FBFB19ED627192FDF050308B3E5F9B704591268C43F99B971DEB414068 +4AA4EF5113AC74D1C80C17A4AD810E258630B0DC109B02A80626059F893D08EE +7E112CBF87FCE766533BB99EE97CF2A7599C513EE55D4774001D76C6A24CBB41 +0E217FEAA6B6A4DCADF3520F0903F2B11648E5D7180A75F0391ABC4D75585E3C +668DDE41109B78FE828746631574AA36526A4079745BB36E0FAF1DD8C0873E91 +94E35BC415C4AE10AA8262AC3118CE310075014F478C9C59B2A77880F18FED70 +D021CF974CA7481B4F66AF8CF601F4DD56C1190F6D39349174DFE2EE684C780E +A6FE2DE96F67B27CF1C9942645E2D1621F2E55E6C197A3891C847290EA09F59C +B0C8D6688D1F3EDAA114485BDEEA0C419ADD8117670B274D12FA8D2DB25E2372 +B1F9E51313F80CBDA54AE2E1869F3972CC8188A94638F655C4CCEA5235A8F915 +AB2FD526AC22DB8C7FCE28B7D4D167BDA14FC19892E41AF539F131AC9FFFC4B2 +B0C6A689E6AFEA5EEE0A0CE86A2666D725CEEE2A278AA17E0E79CE79DE495E19 +61A2189F012D8E846C8D45D769D11D0997543781E6EA97BCF0DCEE589BFEBB51 +8A88A48FA27219DC97A08DCBE8BD239406EF626227AA7522CF6FDD2D38C0DD7B +D0A314D6B35CF17DCA54F04E786EC09C8D854CB8FCED2B1137856D697533A042 +16C3B3092ED3FA69E1E1429C87D7989E29EEC7F739A068CA8CC67B970C398C84 +2E76850FB2174CD17B06BDB9A4AA9BD656B367A443B538E03753A5C8EF1B6345 +8C17EE6E339E5C32D51644D5E840E27755D8540C57E4E876737DF31CCC03E8EA +2C4096647309F63DC679501C2E8CE4F6DC6DDDC9B211408B92A306C9ACAF7E2A +6DCDD2DBE4189FA285FE5B418765FA4E9A80005DEC72D3E0E2223430A467EC2C +AE486037BFE650C82AE865F42D913C630B921CD4E15652B9A3CD3D4EC407437D +1343DD19B80A96FFC3B15AF7E5DF2CEE19572E214E94A51A84B2404EAE132B58 +1199E65B1D8E5FFEAD1BB0C18EE1D6C62CA028A238F221BC0A55EE74B8731C36 +5A4A7BC82D523A26FFEF92557BEDDC0124EA1D4B76352FC8771D981D1C841019 +D1D6FE1D3161D60B59388A7EBBBD5827783141DAABA33231947EC9A98D106279 +B6A9D41CD7F2B9527E2791D4D6BCF70D5C32AC6FAD42D66D91B2BA2AF633B201 +88E46208334D018FF77F42467F919FC7B6355AC3511185399BA00B8D45BE2B35 +00CF8E20CE6F672B29BF2ACDC6DEA51C8C1B2EA1B83D3878FC0138139708049C +B5B62AC091103B6C2D4C1439AE3CF37B5E3CC4A28D6BD771655689E8C015447F +92B7A253708285F4C03A75641F84001FAFD36C8DF4150929EC7995B653B53305 +B2E3EFFE7C3BECA0B23CE0864AF88988A853716E7E7AF69D1A431FDA887790FD +6E1A9C6C35DBDBC5E39F009740ADD2348CA838B3017FD6A83E4341397CA7BC06 +2C6468F9F7E08309CFF4F72468BD5C7EC622F71C7DB512960993B80D150CEDE9 +0A051E7C28218604978AB4A64DC0FD1F4ABE7637CEFB7E4D549FCF16BD5BA9B3 +488B824758A5CAC3D392B30A4E74BC74E1C6A4D7DC85E08B1EFDF083A5E8E427 +E87A542CFEEA77F69BE0509119FF75F2EC64990265290AB3DBB90FD399CE126E +FC2B3EF77E064B19DB5CDF2A9E9DF9DA3CE07C6591A3AE7A06CCA8E1E18ED955 +1E3D4ED9AB413E1AB64581A3F2214AED77172CD93B90CFAB761597187CE7EB06 +9D4D6672E9B69D83897057B136436D260D5AB369FB4C9B13C8DB87ADA7BF2564 +967C6CFBB1B364222C89F0D67BE21A5CF4E3EE02D17256AE307BB987B2BAACD0 +4778574F3178EA919EF5CD14225FE3BBB886B2F6C7998A621B3560DC15A8F76D +6A2FF2C8EDA1464E4B6822265A492AF701C78077AD97B550680ADE63752A9CE8 +9B607F55B946A622D5FFA3D5A5FABD04CDD93388348817AD6734F9366CCF5F18 +CAEDF873F3D618FE24948208E795CB86016458F5B2062D839483C07AB449E107 +76873DCD8EBE90B79A54CA0D83978AF80DDFF7B213EF6626E759BB9E254F73FC +E54CB3DC00B23B848F83FBB9FC73A9529F5DCC469189E4067D5A8E4AC8A8B199 +EA673169A8E27E78A76D7A4295F36E03F3B3D1B98BE48CFDA821CB0A646516BB +83F203FD86AA860EC0A1DAF03FDAC8BBA4E0163F109E3D5F3D9C1596F8C8DFF4 +4A96C26A8603C9743800D28F8C13FE3948BB99DA9A81B0BDD06BC1246E31FCA3 +14A4BCE5845A79BF4DE8C28E556EBC3B4E01E2641361062E0D24DBA60EBFACEB +DABDFE057FFFF4727ED61CB0125FB0B933F2421C1589E848AD295B7FDFC5D1A1 +78CFA5CB9F8180F561EC5A9866781D82CCE5FAE0296FD548F7608297085274F6 +E33183D8C6CFDD9587723263B6F8D3FA343E38F8A738ED4E078436B3AFBBF4E2 +56ABF9F50D82A999FDD97E8C802029644702B8374DD158ACD14C1C3BC3659013 +C8CF9A26A4D38FE0820C48ED471593F81BB7213556531D027138DDBFE750D6DA +5AB6BED543E49ADFFE36C8421BCF9C3AEE247C1B17F1FA25FACA6B0635373049 +9B42EF812AC4501B101273E1CF8C7973210363A8C77EBB726CEBD7BEAAFC58F2 +F85CD373F341FE527A9658F19C7236A73C203AE3B8C358F22E0A75ABA2423748 +DEF72D3CD02821B6955A38637C6AB902FC79A9751798CD20D678BA95B04F544F +C6593651A8400477A3B51E140CB037C2B8BFE825BAA875C1DCCF5D87D32EFC94 +784DC47AF52924E28C1F80E7AA31F50B071E13DB7A8545365F09E98E50C68AE4 +8F0859BD1062B67A7EC810C8F15E1EC3EF0709D7165AB2B29D5321E8E43E84FD +8B2B469EE204F1482F4B2F519B554EEBEA1636D205620D539D7A573387AA2E29 +A61E715BA0AEB904163182B1CAB88B38822434C616C0004CCA8D6D4AC7352174 +6DE58FFCFAE5A35F57BE71D4D8AD77B95419BDA3C52E93B8D08559130F751213 +3D086B7600254208ECDE9481EB25ABB11783954FB1A35B216318C07028B4205C +179C8821FBD420B3A2532D991A1272003908E19C1B0963C5824E0271A6D2C31B +7DE8BE1F1CFF072B819194CB3DE154A1CC13244449FCB9E487F3F1E0DA3D90DE +640DFBAAAACB9C2E62ADC7D56B692CD0244FBF4D39FBB8DD8BD18839014DC7DC +EB4DDDFF18A68FCE660AA5C537184E94C3E955C479A7F493EB85392EA3E8F7B5 +BF919F8A4A4C21C227189F9B65717FEBEBE152F365DE7D84AA53129F1978F82E +75DCE1CC87D59E8E81FFA3A7A24B926575BBDF4FD65B3E54DE1F739DDD8A8243 +E7B2BE704B16DC90E87A0559DAEC85713C67BBF036C87602A121D8B25E040A46 +2BB02C9C79971A1C2BC40935BEFF7876ED50A0F26BFE8DFF0907A377C176FFC1 +EAC1E46C76BBCB6D188A7F9F75EC9BC2E162FEBB65B454C7CCFD6F5EE26677FE +432FC2E815F90E3EEE92DCD04237FD3BDA193A43B5BBC36D42642C6C0BB8F3CC +8019A3CF0B44CD80B6430597026844DC +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTT9 +%!PS-AdobeFont-1.0: CMTT9 003.002 +%%Title: CMTT9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT9 known{/CMTT9 findfont dup/UniqueID known{dup +/UniqueID get 5000831 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT9 def +/FontBBox {-6 -233 542 698 }readonly def +/UniqueID 5000831 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT9.) readonly def +/FullName (CMTT9) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 35 /numbersign put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 88 /X put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 124 /bar put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E6BABDA4215500A0 +42D1A3D0D02C0C98BB1D6ED0B7791274C38B038FC7921FF1FB8FAE7258C09259 +4B8E1BD9EDCEDE9ADAD9BD9598EEA9691589649A9A21539161E374075BEE3457 +689F308A4A7AC9F2FE4B301A6C36B0442FB92E3B002623493DC087800B5A0521 +0DB96A23175AC584DE166F59142779F26FEE9783E28DE49FC3A8D6583EE63FBA +610DA773CA18ACE6F64A4867A1A7817120ABF9DE4D17782866E6CB6B65A9F6D8 +3667C8D3E61E5356E35343FDD4C6436DF73934470916CB5F0ECEA6BFF092E735 +C7C355B56189D1DD5715EC97E50145FFC17BB1497315A9585D713A7A6DFC7933 +995468EFD0F59E3C15865B87925A3F2930E20D5A35970E2C44F1629FA16E00EE +EE21EFC50D49F5BC02300D0A7BB85E649CB4E2E828C8B1C5469463013E71D723 +2CB11BCBAC191AC751A2AF7FC228395CE9472DC1809052012AEC2CD66695DAF0 +4CA04234F0187F4116C93F59A7F1F8123DE87F111853B785A20CA8B49B3B0CEC +B11AD345E1A11578D2EFEB0536D125237086CC8CD9F34A5137AC5DDFD8746014 +D74AAE8239B81ACF65F379CF2153B06A238A2D767F294CAE0D79228F0B7D45CE +510AC9657A1776202FEF42F96D476E7DF407786AEA12DEA0013D3B4C5D0640F5 +BC5BB72C34066270399CE595827175B23B25072723BD24E07F6BCD9EF0175DEF +93714BAA53960F81103CFB731CED4A267B53727BCA3C97B0BA5004055D4EF0EC +F725658E53AC86E4061B489AD4154915C3981B3B703E1E2A8D390CCECCA99385 +45EBE35441B062D7D12DAB2B31569387187D74A4043FD71F1C6D352EAE0F6757 +4345FBFB6DB15CAE47CAC4BAE47AECAE5FF5EC19057DCEFA1B23F47364ABDF47 +088A7C6A2AE26B10459B6D41CB69182FD1472F326CE3A15B59255D1DE3B616D8 +9D1F12561038839781E657C896B8C58A32DF5AEA23732A0966D96C68C988ED7A +09B7E2C8F9F3D0D56879764781566299A4EDD3588BDF70E3D924D25074F30988 +E35BDD827AE4D0B4A06F55A9976BF0DB3C0B1D09CD08E8CB168B50617691638C +0EC1A791C228177D4FFB021EC3DF5082CA3487AD2EFC8DE9466A690ADDB4C52A +FE2A6DB4CC275CD33D9136E735279FBB2008D59E667905EBB04326EC33C98B2C +94744B7F540D86E90DED64572ECF1EAD3A58EC101642B245A9C7232DC8FB8741 +03F97883BB32FB955C22F878FA0FD114451A3B3859B0B5537AFAB73AEC7DB2BF +409E1FB41D473714F6BEA73CB085139879FA31710E01915C2938C37BAD6D7D71 +45B897E00857D3931A489EAC7B42BCE4E65F73F67FE027CE482DC47598ABCB95 +39E98DA8ECA3E23F0799D5963ABA6E2984DEACBE7B46B40ADC6213E0F4D08971 +58F68C946C748E4B4217CBA2391BE2086C9758F4E32C9B6413E48D84D33A6E85 +84747029C0A9C9B92841D217A902BA8EB333999D62FDA9F82BFC8ED11F67988A +0CAE42182E414A9766AFFF4B046A09D476F8E3F15A8C7829BEE982D8350BDF5F +F215F2BBBF68D4B567BAB798B9604C79306C475926E9FEC0F07A99F43473C6FD +B15AC29C3D07FEBAD1BAFF75AAF2FBE94F104F1DBF838044FAD94B661B06AECD +D9AEBD02B60CA4546DD6B5B5C1A3833ED07845671CEFCA8955CE0DE5DB8FC93B +3306683CBFB8E5B79A863DE78D455DE9D592043C2686F88A43140F8B9F3B553B +7047420E93E753829F8D47AC7621CFE3626F271E31F0019CC02D0B57F67BB47D +8CFB63E902EA3231C00EC66EEC0D30FE8394558BD3535C888C4CEFC6EB72E737 +712ADC6300162D5D79BEE0CA1F6E4127A0BC90656C01692F6D82C85550AFC97E +C2693E379160FDB9636FA41AE9C75B7F6643B05971C6D67CE30971D590FC07B3 +E0B36B4D1C7F25110B5DA2130D574FA292B47322975A2BADBDB39AAE69BDDBDA +A880F9AAB580117708C79204DFFDC08BF4A48919B5C22228845CE8C3109E93AC +2479E523B8A1C12A6E541118F121DC6B4EAED83491A03192D5C3A2A45D1A2467 +757E7B377C635CF5CAE11A7CB49D49F3A1BB2286090B5F0E4F89869D1771D50C +54B5C5E091E3048A2C194F0ED00DD64FB95BAC6FA9D61ECD093ED416DA3A4981 +DB07CFF17C4F55C62DF628EBFF06FAC3F3D3F91C30EBB34052BE1A08F5EDA4B9 +08977197950A282B84E21D43C64BE3AE4BCE22C70E7D392DE09D89B7F23351AD +6AD37225C12BA79EC9951F5DA1E505DB26200190ADE0E549305B7530CB86EFD2 +A896F13A97E51754F70B609CB4511CEFC38BA579C071E9510A49982389980DC5 +336D6C4A2DB100DFEC4055C7AA9C55880F94FBEA9EB280BEF66CB8E1E38A359D +E5AFB12B540CD599085ADDA7FC2C72E7C873015773FFEECA2C596B75BC39A3EB +3C43FA2E53C0D7993042F3D652BCC483E48B7F6C94C3FF6D38E276086A6AE67A +E5A571B9C72E0D7824E0BC2ADF51A393B9E334649F786EC1923C854382B89627 +1B9E701AE5A6C42E672B2C6A33C8BBCA8F69B9061E787D6B92183F20CF4C3903 +FF5417427B84798C82BE28D2C81624E3920CA61EC9EADB364B5A6E50E49A1A72 +A9A090A1FCD84814B8B2708AD787D2B5015DA1305874F58C5EB62F843685FCB6 +465FCA80176CAB2B2FE65E0A270BCE1E3DB97564BEDFAE5CA44395A8DF4505C0 +3E103CC3B914359B2870DA6CD30382EAE8949131CFE31E9E75C3E47A3834BB32 +CF183D4A8B9001710D0A11390C9DAD116196568591D38C2AF4ADD852F31494EF +573462759A35415900360882739789D6B89ACEFA251C5ED90ED704DD7C3C80CA +9F6CDED69537D201D520C99E69EEAD5D3C0EB84C166660B3C190166D93EDFE6D +15BCB6DC5CDCA825E48D33845CC2FB15291AAB823F25CF8BB0A1EAED8BEC524D +D9CA016027141FAC9D35B64FB9C224552F29EF6B32497254E319090E698FD8A5 +15491CDFE1B988C79A0E3B9D01E12FF084E9FA86CCAE02A3EE6F2917B61A2CC1 +64B8CAF309D1AB48A34227A7729DFF99CB6EC282E3FAEDD2673779AA7E4C1789 +D93FDC37FE95F087C5F88F53D30A2DA9C913BF205FC6BDD060A40184F4AAEB3C +D080D63B89CA3DEFF310D09EF0A83F3914BD5B7932980ECE139EF0313C20B4C8 +576EE0FE3F28FAF4D3CE7CD0890BC824A85B8EF4636BDF1EF1BB519F93D36540 +ED09FAF93FD71992CA2CE2E83F5355162ECEB32AD218092F45D5A61A44E67135 +EF0453589CECDC6962D0E8DA7E7567603BAF50B2C8F1CA65EA5320984E7D69AC +9A7D3D7F92565D79E8C9DD2D92CCA7DE9CD058545E9F98AA47904D70E1897099 +3C4C852B3BA131DDD348433C336BDF5FBDFB62120DDEAEB3255E3207B0C84A0A +1ECF9EC869DB9BFA3693B03FCB27C5A5D3CDD62630DEDE91B4DD5B9784BF0BDD +FC6EEC3FA7ACA9E15FAE47CDD9B7FCD2BF0EFA10716F08C0AF25FF67CB6F9598 +C607D2FCA452417D2C69DC808A9441A66492394C3450BD30632AE739EAD654BA +4343459CA36B6D5B2C12C39495952F2EF93D82C73E33236785A79609E260C4E0 +CF3A3C950DE71DDC3939D42DB1CB1CA917CEAD56979A70F8F3B207C805319FA7 +3C000AE2B21D711A6D78C7BFB901334DC06F59EAB6D94B507734C27971F8458D +D00193645AB92FB8FE163D5C51AE4F40BDB4F2C51691E76EE0636F071F37AAA9 +BA78BD12459CA499210EB0CE2F8BD317387797C33F5933AE7A6264DA06B4A6A6 +1188326147A16B205D1F965872DED7D8EDB3294FAD2FCDF0D423329E9CCF879D +4E0B966D509F45527F7609DD09694D286F6FF7535EF8971B7DFBAF608A19D442 +C133207EB1152ABBD11C455D0977F66A9B73E51381D1CA4B66E87C0C7175A63D +80C699A052F00C41DAEF42E7A40E07B1B14107AB0787E24E17C1462960E3C54C +AE73BE4924464FB177EC62F116B2822842541543EFF7ABDDEE197D6BD8F8D4E6 +59175D8C5957550B70BE775AD52FFF6E7C00DA7CDC16E1DF7446BB5D8FD82647 +3E9F87D5EA365C82A2D991321ECB14A9E3AEADC5A56665DF7072D6DAE402BCB6 +14D92B17F9E063E4E9D8D239C91F5C7C0BCD2FBD936C9D4A0B57659420343B59 +B395BBD1AB5B6003F653699D57E7581F9813CC98D4F072FB78899D6DECC42D34 +F2787EDEA64058B46C4BFAA2BB96E9BE5CACE8D91E4C080ADFC0FA0D4A29C6B8 +54FEA9E11DBCF53D9CA40A21AE5076451EDAB3593E56B6D453DC8EAB8C78B588 +34D4C4F36861B5649BC1E9F3091E704BDA7613ED45C911DFECA74EEA05165191 +825F95A947CAF382FBAF01F3B8B041ACCDF39718D7DC5BA6CA12BB20EEE96439 +BF2E2628AA3BD2C91998E6247A690FCB0CC95F286F427345CC4F1115BA3A6E54 +4743355F2CC991CBDFF5725902C1F5A6DEFDC8638A26EA456C33C27773D6214F +66536CD2E44FD253531732D5A8C44B336B1BB47B0477350EB8CF74889B93402E +2356A9CAAFCA562315D8E0B3F42F08932CB87BA2499A875AFA08D11DA73B38AF +F46D03B7F639A8D7BF88CF07FFF4E91716DCCE6E2CCAB60A64D5E40EFD8B336A +1BFCC4CB04F49DE1FBDE7AA5B2092A6EDBD913D161A3271AB6411622D0E14416 +37F81E0102F5B0F2F9A2B27819E4BACD7C50E29D6291AE5B0973C657761545A6 +741729620EF2BF1046B3913399C10982EE5F4142CF461EA31042E432CC79A1A1 +39C607D22E45A6DEC008CB4BF6007CDE9DD5802B49A62C8E02A6D448B64177CC +887AD71D171B99E7ABE2085B37D90B3BD8513995D9A57F53184DA474F6DB5E49 +B73E04CC214EA5398DF7D7541F94E623E8687B511640457A48A68E9D9D6584CD +15B57CC044D8091C771D175F2EEDD411099BC8F7B4317DC503BB5E405AEEB526 +5E6E1B1F2705275D274E012A98F66075CEB90AFC648B964DDC0E9C4AE7B24CE1 +80B051022E5781A533A21DCFB97893847D685137EAD85BA708A7E118C72FA839 +A9E460B5D17365A0AF1F53A98319FB64A5819B087F554BC056C4BE44113A5404 +BEF759F890C1CA5E7AE156F4F8106FDB4F8DFCCC640976983EADB30976344048 +2A86D7B2AF4A01CA736B98D52ACE392AD4BECE7E61C710B08B66F01857CA460B +B8376E257113E10F6DEDF14CE2A4E6A99ECBCD302C36CADB713D849EAE9EB598 +F29DC98531D793B79F83091F9B136809E006F34E423D528CC4309AFFB3EEB47B +9A9DE4D5B25CE953345C326BCBE2B4912641780637783084D3D12693F8135483 +CBB0AC4EE0B5610D7CEB7DF205830BDB9BB404DC1B28FB0824CC187B26C19A91 +DA0025EC739BF3993700101D042DED86D67F5FB87912CFC51AA7DF53F2162D62 +6314A2CE13810D0B8D81F45771391A236422CFA0F35F7A0CDF14ACB2724AA57B +7C2C28D53029B1146558610E0CFBBF72A85AB9BA308F846228F299F13F68E8F7 +D963B2EE9EF7D4C21690632B640BDDAD0556EFA4EFBF035F13377ABB5CBC280B +9E0C12AACB153C93351E5BA95A7D149010E204950A59C7FC6581D9703468C1E9 +EFAE37E7E6ACB892B3F8D1248D9A4A72F642FECC5E0B25C15EEB921EDDE84D12 +0E524FE6133C4921FF4921242392C12FBE69744D53739F7E849C1B96C4020AB2 +1FF10DEA608F111749E2FBD8DBCB17F353DCB3075B4F4B8186963EFE95A76A10 +85AA5BB6DB4095291974221829A8E436680F4860E01C3843BE5BB3101D0869C0 +EFCE08D187BC04F58C7A450A59093680A0F09E8E3F12DF5223E7EAFEFA01978F +D8354753A68022CC92C71F2CA732DADAA8A466D4AAE5999B0DC077715671F518 +E6277741F44AE798EE50DF44CCF71FCF8BC71F76374005FEBC4883C6EDA854B0 +88C0C2B476709AA809ECE41AE786DB1A32B3FBBCC14921673578D3514C8CA842 +E1FF90BE33F7B93ADF6BFB8B1AFBBD080783BEF056A6BFAEF676F7BF9F2DFCC8 +01D255A9F0391951210D60D4D4DCA93AA858B38C0D7B8FD740D5FC6F277C2A68 +54CC2DE1F40B6347201FCA2A0A91822708D820CE645C3E4E5A09FE25721AB33A +97871ED448F38FC5A349D81F402B34461D840D5768BFC6849439AB6115104F78 +B87115B1DAE12542EA898F86ACE247709817850B067F537E6137196101D46DD2 +D842EA03EF4501E34074E8458E638ACC4EB349A7430AB035BEF2DD4CE00554F9 +18F9FE32A55AC1E7E50D64AAFDA278D77A7149C59DC5B1E3064A4B281A54C9CE +A5EA94ABEAE4C6D5674C208ABC72563976487136AF2E21F835BEFD232D7F0D13 +1D19932367F51D5379934DA7F1635AC51EE5CEBFA63D4D32F018DEF13624EE62 +31DAE68A08DBE3B4FDAAFC75291C8C6CC7A657E3C7453C7D1461A36E88E633D5 +408253B673AD87A9FB2D0F56DF1305916D14D5DD62051E27BCE09CEE9A1F14AF +1D7164BA5FB6E6EC8D38750F7E28BE330909F303ECDEE692E347DE13C8C2F82E +29C8BE6EFD76546F362A12A1C2DC12389EA95ACB4DCBE95620F0C193EAD91B33 +BAAC5801AE827B9AB3FCE5D11D1D7854F8FA8A31670119CC0CA98628F801838B +AAC7EF90AC5466BE69CE3E3CD9951A5EB9AC08014285422F6DA6F6E221BB30F8 +0042A11F2E4B765BB0D142AD52F4D85785EA71B2E1CE20728B9E9306CE93268D +99B822A5AB5232EC7E26EE1160850AD3905864A01357F22722B6A54D4EBE58CE +480EAD9FBF068EE965AC4B5FD2FA8CCB91ECFC6E90B9C49268CA0B0FDAD23ADC +D5A74B41149BB08454054C451AD0DA4CCF8B60F2EBD061AA03A011D548B6B481 +FAB00AF9225BB5463F27FD67333FB51F8664536267E95CFAA0BE3BC1B8F889CB +587A3A4FA2B45864F07E11372C9507A625C0030EF7030A0B4D931BCC48F6DD51 +A4D1F63FDC4B59C1CB18E6242E9F4B4B8AD9755B870FE60D640181FB7EB8120C +C56F51DC8C47FCC6318C2145EDCBEFA7BC4253315BA67FD2B3D4AF6A9F3F229C +AB75B592EADE15B1FB5FDBA1C0F786BD21A51506B7A2E42C2D086BA6F84D1B3D +AC7531545F0B01346831FF36A52CAC1E390F99AEDC265B44B0FC9C581BBA6BE4 +48B723811EBCAEA5FEFAEA7E5B987F2C7B3E9A65D2D14A7B74F099401C57E367 +385352D0776D2A908F7A5A2E4D4160946C5591397877025C8C387CA413EFED56 +8B142E8341E349DB4DBA422A4FEE56A573972A0C66590175158E48850A9F7F38 +4B95726787B8F969FDBC97491CC81CABC976CD00A27D1DFCA7CF467A956C1C6C +839817AEF8794B6151FAE9261119DD5DB787DC9D3B420FD325ED6599FACADE0C +320D54C2E0D296537E22C1783670A9D9BECAEC63853EC2F05A990260DC189D63 +7CCC0BDDF2CF7585071ABAC14630666737041194D0777EA4292AE60BD7F7100E +DB568C90F0D899EA006CA423CFFD6EC70A5D3D8AC43C747DBAD3B02219E47D8D +DE030631F4678C357A58ECC52782B31B50CFD44EC33F41585E51B27E3997D33F +461BEF897220AEC80007F13C5A1EE3A0430CA899047DF944831F8B010A7DE74A +BFD26001472DC00CDC9F17CC435F61ADAD4E9AE062ED477FC621FDDF9242C449 +1BB3F77FDD1519A251B663A693D84B42BF0962F537757F38CE5C5D56B98AB10A +3B70C8AE8D52DCAFCEC22E7B09D3C4EFDA1841C74CA975E4F8294F7BDC796500 +0ABE197ED3737A65F7BAE601C91DB3983EAE11DA3EA18ABBBA3650DC361C2E77 +EF9F97618B0C337A906FF39926D2B0B7883ABBA650816C4C6B34EEA836994EEA +AFEDDE56E0099D0E09EB88EB093544B9BF4871200746A0409C475FC4232A38D8 +F3105B0FF44E4F132378DD12D9E796412FD0F9478322215E9F59E69396C35AC4 +097C4995B2C3BAB2DD04B1A7097DE16DFDD76465E79ADEEBA90489ADD0914EBA +53E11A43ECB11D072C68D2131BE1C7C43CB9DD5FBA0A67BA43D6851AD4CD3BC7 +39AE2E22CCC183A56CEB71D4F9F578518E376426E42B6390426A8434B5A83E78 +77A5B9963BAECD5FA5521C2A29418764E4EC1A72462B04957F823E2817A7F8D0 +1512919889500024B1C42EC107E8B8533C0B314EE4E23313A4C1BDB009A2073F +9BAB479A3F9DA76CCD65629CCEF78015ADBC2D0D124B3BB2D322FC4D209E417D +84BC3C758B6AB64A01E25C9C7B71D741AF90A19A339F99A0BE9FC39622F04C6F +737474CFEC19C890A657BCE192B9DCD8F273CDC5294875DD4507DC5723EBB357 +73DB0933927DC21081E67E5DCF4E41FAA6E00E8DF04128F86348FB0718068FA9 +918319C4EE9D090CDF348153B6CC48648C55E889B4FFD3D75466F1B50C437546 +7DD9CF20980B148F60BB146402DC0732A27F255DCB859CFB6F9D329C12FB14A6 +7824D6DE27B03FF85BC59703A5D6C5B7D1CEBCF3C3FCD71D6D6F0311E41BF8BF +0609D23C84720FA9EAC961C9D49C2E962D9618C32BAFBAA8CAB0B2F616E57DA6 +8CB44C5595A22D6793FE9323257F0881FEFF677F98573A8E3A4947086C83F739 +937FA170572C5DFCC89CAAD175D626CC2FF675A1DA4620152AFECA7497DD53AF +F1D82F68A75FF2AA16F255C247DDE3B5E307B96EB92BF7CA4C031B706053D16C +D78D2C620C5D1E95BDA3D8ED452CAAA579BB4AF1C5797F2B7225BBDA3E7AC5D9 +0F0C3AC5116C57334D40E1E44C4742D7AEE78BCBC3AD4871694AB4F3BA7F317D +443D7E9B9AD53380D62EDA208CB2CBD637037DD19A4787AC77D46D559C93213A +E272147F977F3BC1A4FD44643DDD46CF1E50E0DCACDBB2122817F290EBF666F1 +56F5CD26E995B1E3EB46308631D1FE378B37DC3D202113546B036DDF1DA32931 +9B67D9522DBD801FC6C8BE43C0FB3B37CE01E6BF14260530E493DC3A5EE2ED04 +2ED6B8C4BB6EFA642D66903EBCF687A161B94D63A670E90AC6514E1CDE477B4B +7E066CD84F61233A258B13DA77365C5E302627EBD033C63D47A86E6B2CEB4D4D +92E507F1953DAAEDF8CA558563E6CCBE51CA753082CA5EEE131C30CB7640B13B +0C5753268074BFF7779584A3808F8F14154500BF13ECA81FE6879875DE12FC3B +E58D65DAADD4205891AF008F869D867FA7DA4DCF23E2F46A1A1FC043E21F1915 +E9F79547291060D6BDD4671BB80234E474A98F1EC24FFE844079DD0D7BACC9AA +BF6B27DE5438995830877A20A04B06060B1B5584B8B54986F85FEC0938F63633 +75D11190084C2AE3AFCA77BB0A497E2D1D6F7CF6EF387B193A652C61E47BCB5F +C495AC3926FF8FC14D0B094A5C3CA9546388B135028E968B52C788F78ED28141 +176B1D2190D3552E654549EB21C6D76114FCFA365079A0968386320E37B32F94 +A550368ED5E8ED073D0CAF5DDF53FC5398DF274722D98462C15846C69EB7A4CD +47CD8F17B1D9D91C43CD5DF110056F18F56FF5DD3AD6FC34272C958B49ACA3AB +C713C8A459484D01C3D0610A03DBA37189003AAFA42F9301AD149E47611F44DC +E25C486BCD845B13A4E44A93D2991DDCB159A509CC19C7F2BC953885F508F90A +3FD4303179780FA973DB01432CEBAE35C71037449E6D5D44D4FE90E631890E56 +9E5FDD427175A7827DF70A58670BCFCB3C9F0F408C317481737A59C95C14F25C +5605D80C732821A948509CC07B21301CA80A9FCA91ADF6F0855677A3E0C6AA71 +944531E739D7677AA50824A3560D25C218161225DC6428F16D255666E97CA479 +DB6EAD9172E7A5CF9CC97B4884BFC57246E337094B476E89E0893D5B83377F9E +0AC80A72ACFF9110436A0BD07B43FEFDC429143548875D9CFCAB7143F391D974 +8A905F2EC166056B1EF2345EBCF2F27D60E3355C996515764C2332AD6641F610 +2ACBF70B22BE6871B3D1A9EAFC8EBCE9351E8436D4DBB45AF54E3E47B8B71A0F +09CB91AC8C56A96116B5FADECF1359D941800512B0AEF302A22A91A25AFBB1A1 +F47A9660E30FB00B88A14522B3B024A797DC65105CE08D3ED0C4CBE8A894E00B +98F77E873EB6FEA680DD131706336295628330E1FC6B1FF9D9503F5153A47A09 +83511D327E9D236CF4958FA037FBD3BB8002215C8BA4DFA1E788553178D1AB2C +8D7BBECEACAF478A17BA48D3A1493ADA8E82AE8E9EEC3E4F9B0D699A95ADD6A2 +E3AA945A6ED96D608AD857F98ECC8D9B1408B68E72B06EC582E31F94349E5522 +ECF56451C22643192954FC9674D0B00C42FC843C70243E5291CC8CC661A57786 +E8C418A22A492053C75CC1254DA918881F94667E894D3FD619C183D4C056CE60 +A641E8D0F4C4CFDD673E3BAF4F64CE3D6E8A9DF8016DCE40AE7C10BF0A08C3FC +11AB82036D171B62FF407E3157C50484617EF16AA9585C9F45ABC5EFBBCCF731 +BAE398448D796D0F12213F45A008451D84880940225B9B56DB581526E9538EAA +489844D639EDB7E21E7F3533998142B464A608D8C2BEE89E4ABC413C53E30BFB +D14A429DE14E03487C35453BFD76AB091E635DA15E9554EBE49CBF29B0C96706 +BB7AE920776672F3D9243E93F8985B7FDBCDF91805EE13CA01877D8476C88E2F +F36628FC3B72900F414BD6C22BD33E3C5C0642C093080D4C897BB90A76405916 +9C00C1B0744955AF8E136682937AAD1AB0112CD668F0EB174002049F4B659220 +5625F58CE12D3D47B355910BB66FA89C495263612B4F6ABFC5689178032C0B34 +A0821A28B1125F21350EFF330DC7BB7C98165AFC5543B21BB8C1F083274F2033 +FC409532068857C34B91FE26B56EF74A8A6C7EE4D4C4B834258A96F340DB9EC8 +940F158AE9F1F88A404D687F3F35C87A6B696D96DB62853DE8B521350BFF2151 +66595617F835DA8774BF046C4CB1B6DFC695234D9FAD62061439C605D4723ECC +665D49678D73D7538B292009527541DD30770E668DF5ABB0728C7D62A41FB6B4 +8B03448E69AFAEAFDA23B373B89A1798242C2DEB42910A641EEC277F33BF91FA +833DF65A73335E4F46C47EA655B21A58542B37F27E570104165417AE5CB3E512 +48C67ACD9CA710D776B0E4E8AB939C8709A2092E0AA4DA5C7C219921AE2D1978 +193155297E74307CD88057C8AA8A8C76E3E5B6DE395ACA37E5E56C7559426E0A +49BFF1F52ED7295BE8B69F1EAF891E3B7268E3074CEF9714934502100F940203 +AFCD1FB8EE701829079B7941C075CCF0CFB7F09BEDBBF3CD182D78E8523CC43F +C2B9CE51CB1D0FF9289B317711783EB1C74F45B2AFFEEA23A8E29B86E00730E0 +2554AA9F97871AFCE2E8175FB73D1F5C63330B973522E56528613EDB96BE2A0D +39B9171F18AA02C70815B8F039DC7F7C973C82B31E38B7022FC380FA56E84F02 +F611F79D7F82AD14C8A7FE68945F0E58FBDB9DE8885F8F279B4F52298223383E +72D0C56C3AABA7FAFCCA43B1D54EBE13967CB7227886AD1E360675567594570C +B144D383998186C83AC3C089CA1063D352B4926B75CA278961C14ACE4A0704EC +A9193D4D588EDDD2C0637C721290F8E5D45DAB3124306EC438C3874192C7528F +B42E815CDFB631D21412B39E5FC7C1AD908ADAD537B612FEC6CA686E32BCD9E1 +FC8857D659CC40EE9B739B7020E7ED14992D095CE8ACBA53C49062234B674F73 +DFA156AFF54B69A3B160C3CD1B3DC5D133AC282085CAB47A2DCCD17B276A9AAB +4E938175C455DE42C61CA17C7E932A265A2F4BD5B345F219675605D2C67DBA7D +E5603A0A2CA4FCDB480F6C5824F516FE89ADEA834678332793FED070554A2F11 +147483E2E07CA0C6482B1D8A86DD55E37132AD6C0A6809E884AAB7CDA8206071 +04160B8790D0443D15B78F6032A65125CF05D3D8C16833CF6F43AE0C2830C292 +0535277050AE35FD618168B69859A7324E69671BDFFD20D39945D5033759B689 +DBC5ABF16BABD01F223ABBE7E535CA0442DC2C0A39F7833FBEA24C0DB300D634 +163BCCC5419B2CF457AF7DF6F2FE3D7C1E93608D1B52B7F9C8DE2552CC35BEED +F38EECE0874AED4507157389043FB93BCC7D7E71D42A2284615677E9D1F9ABC2 +EE38578ED962596BD06DF0729A5A1D1EB41A2B9BDE97DB3B619252F024BAFDD1 +951DCF127753CD953486D634BF578C4E0BCCE5BCACC214210FB1CDBD22BA1A5E +BF0AF67E38E06554203587920EB27A91921FED3160832C6928AF86DDA5DAB1A1 +CBF3685B2D0FDE168B8F66E544900F889DF5E773CA536CC2FDE35287DBF7EC1A +CECFF6C2E32D002A653CAC20624A8AEB07D7DE1032F85DA68B483B83F8D123CE +833F0ADEC8B1537D0A68C3EFD8876C2094678AA68FB9ED4F57D71ECA40D03A19 +15DEFE183470DB6A31923C44F8AF1BCDCFF4379500C04057B981EDBBA752B735 +B7C2BF718D8D26C9EAB63E8901709325307AE7F6531B8B8D763F80436481BA89 +92A2D51E54976D43493B6D1B59E92ADFB58F037A5CF997F545666DE9466B313B +625592F04768EE45BB7545B559A084C613ED93173425A1522650944C76905E3F +481C4B96CC0B0DBA4DEEE7BC59AEA4E6408CF39CD800332E45040B32A17184F2 +325E01EA36ACB452010C9B3B8CD7DF2397B37EB3BE0BB4B55C2D10FA77409722 +EAA6057155F5647D973A321329B5718774F9F3F35CA7375EC6C7F1DAF1431861 +F18CC7B0DCDC88725D6B41118C18F736B7DE1C16685B03433EFC7EC4E26F9612 +03A3D3DC290527FB035F424C30473B870A4F87750424DF2ED547ABB12A3805F1 +BCF7ECC4AC554CDF539E151F001805C67174FD1FC9F9D1CE4CE1BAD0A65C4B4A +D563A0DDB1A04CCD0802AA24C81C4B25F5974A45E027369BD67A610F5756B1AA +8ED91CE191C24447D5AB4D12897D29DEC5E86FD992E80BC77951B5967FDA29DB +D049E77EA6AD8F916F8F8FF75E410B7816C66EEABEC14C5256B9940F9ECC8743 +00CD8EF5BCCC197064C50C721C382A0BEA95BB386BCEF0685E8CB3D7D8DD0DE1 +DF41CC00541D0C037C521D079925A3C8D218552ADEB32FA2D321F47E3D08CF5E +A82847545117C36DA06ADD506FAB524941783E6A87C302F2D2D82759311463C9 +A42D97ACAEB73F49028BBFDE395CC3E2B563AA0F36C3059A2A6333E4E77C5921 +FB8795471454AABA359A50B3216094ACBB0962899A36FDF04382B691F7C97D30 +7FE89BEDC4FE24714CBA54E1427C88F64EFC5181688EF2393AD72E3FB9A4467B +7B36AB5730EAC0C812682B2E47C939DBEBBEC96EE526473A5674228BB3A05113 +FD8B294E841866EFAE18608AF00A9CF163893CCBD7FCEF39BE311B7AE268FE85 +A6EECB162C5E8051479277DBD86FFF24C46891DF148B0F9797130AE285C8D908 +ABF924C74DA8D35629B5397CC4DD5FBCCAC5B51C842CBF6092575FEAB1730E6B +F57384D307A7D8F67B682F10191265E2DA24F793ADE78900FD1CBC50522D8662 +0F0DF6C00B435A8F66E88AF86323F599344974F570358E6FCE49A38C299F9413 +9E50CCCD28B4A1C79A25C1AA693B662A3694ED34A94967B7A153126797816A78 +337CA812AA2C63DC7BC0F721499ED576BB203055D2FC83EEEFA1EF1FACBC0B3B +754240A6A5193FBFEA971AC058876A77090EAF2AB953650BB9F0CDC2FF6197BB +8E712D60677E76E100001F3AD483CBC24CE8AE4154B42CFF1E8480EEF4A98B32 +2927FFD788EB04793C1E43CEB78FBC27E15E1EF3DF42D1538C9724D8A2A5A63E +C53FFB4507924371428CA6ABB3A3B347F233D3743826038929294F56FEBA1EC4 +047273DAD9F1CA8EE591F1FDAFAFA1FAB4BF194CDA6A5572039500514EB20C09 +6A60E3629CD2787CD08F9FA231B18E4EDAFE213853473647C877BB5801803D90 +4EE2D7AF340BFC3E5BEF8D7B94244405DFD9D2DD49F46ABFF331031BA9F65BCC +36A69F599FB82E28E1834A9B3BB9B2A28DD9DBD7820B0ACE05726A43A3C3B3BA +4DAB7FE6ED9E6BCAF5D96EEC1DF629752A70D1CFAB741C9292637B6B2C0EBFC4 +F7E9531CAA8688AB009605A918F3AF87490C913EC6AED16BB75B10D8C9BA8F48 +F6CE9F5120C674439113ABA876BB4CE0B40D34BC3F20153A89A843C1C1859C61 +4A085480779D170E26357EB5398057297666672861A025BD8724A747CF3B83E8 +754081C9B027B04189B2A1B024F1D39D11670BA834F37A20FADD07DD28094B00 +400D062383E2F9DBD12C5AA8BE4BC7D7DC145EE4B1A289EC539F58B5713950D1 +4070FA9EFE10838846E45C2AD47320A690CD51F6924FF283DE926F2A48A52EEC +9C648DBB8017A61C8B62A92F35BDAEFA6F8AC1E7970C4E1BDF827101F804D57C +B3C00B4A334DB98293236438B8CA4588123C3CC73BDDD5A09B0DC68C0F23028F +B51B6779066E74DF3665311F34EB389519910900DEF856C4F5BF7431754A18BF +535C2B3E5C19474282D056D4AE7380CBAB4FBD8A59FED62B60D3FACD9D410B77 +E56CE3F7125D6506A3D2C802853691736029DDD1508497176AF904A9FD483591 +956F10B517CC74C1A5911396E5A99B0F447A850208DE4F4AC40CC0EC5F43DC92 +B39B6E4E5FF46E20614CA2049240B2F7C9CDD38C5BD79602EA0AB461D4834C0C +4B3B7A7005E3D57694E177681034DA1C6CD9C59BF3CAC137804522E143EF99A5 +97F7203846CFD84F3D51C586FDD70F54D5251BF301C25F006F31211EBE68CED0 +42D4F978D1B92DC8E9E58B7901D5CF62F5B5668E3C5561593BA22BC17E73DE56 +796F09219554DECB4845CBC713DEED83F818F155424788C4259E558A4289DFF8 +8599CFAB3573E44663D553ED8B602D2DF5D335ADB1ABF2BE5B1CA57D8C7D1CBF +63339E66BEBCEDC145872DF8B754A5C084D1059CE5CA912A7F1B503D7D4A1A63 +89E090F319149CC5C1AFF5800A6070DEBECA4242A15096E32BCB4592EEC00C32 +011EDE9F0A28CFAAE8E0ED5868FF4B68D81EE71475742B8A16EBC31460713DC2 +2788C92C46762E1567DE47D45AB8CB0D6339782AE34310B7020A2D36E903F8E5 +916A2D87B1BAEB147AA0857E3B8C6B42EF85A0CAE8BD5EDE5B95BDB8E4197EE3 +D65AA606FA8F86B11B13FEAB59A093204BE0C77C59420BCAE0EEC7065E81F200 +2D9BD81B3BB5BF2BFC36F73119A8AC2ABAAE4F3BC4A4C4BE69083C86D7FA0235 +65C111C4FE98C0F0060CFD036EBCCCAF20E7C4887C542C65395993252DD3CC3E +27F937EA81E0471A987E8DC1E6E1DF6C5C24FE0D5919151855CC92A2F8643A1D +B1A476EC2D7987575465205CC3EEA45C582984311E70D017E5432F646A722E2C +7393CB76DE55B15840EF7B3457F381982E7D4E5EC036FB434CEF78189B0DBFFD +7A518A804578034D018F48838702C353C8A3412FBD465F6B26BDB6CC82F38273 +AF19BD450B45E226B0566EF87FC46BEF50D9019EFC0AC8EE69DB43BC4CE30401 +7F65D90F8167E0F8E0494374E1353AA5F76F988EA1F441AC2F9BD8F883831E9B +8788B2AEB6C47183385993A7092F24F178FA827C1B604C5C9B7D30998377F78F +DA11AB98CC4905278850D3088904DD8FDB80FD7800BFF48BB302D694D6802534 +28FD8EDE7640607DDBFACDBDACF74EF16233240F46FDD97470528FCDE11C87D9 +FE49262FE715673DA821164E565547283A97F5D6542AA91F232DC7CD55FA125D +7D4D6DE5C683EE4CAEEF3C5C0CA9095F49A6E5C50EF9648A48AB945A1159BD14 +9F6C559AFE9021DFFBB66ACDDA2656F75CF5668617DCE9E61190D69891E00DD1 +1D843815A8777773AC0700B8C288D4BFFDF47BDDC5E755CB45A2EF780806D00A +5199FDE0795FBA924B8DD3C62070829F736A9FA990426D05E3A17244140F2CEB +FEFD8AD5E9A2D06FEB8D2302930C10FA5FD32A80470D0C78155AEB79E65025E3 +D7742E53FA07ED4B5E28568B3EF58D84A1B030677B2049B47A9619D647459614 +B6C788A2D7B2A1A28473F7E03077F2B76800387EEBFE881ED2DF57D9E0731DF7 +F85B5893978E4987CB5F038D52DC04A77563F4C343A72A7467924DDDC46F9E71 +DC8F3C8B6DD1B257B0B2EEE2DBC375F6F10054508B3A9F5C96741C6C2EA4F362 +38499DAD4C3C60F872A4E60D46D4206CE505C79C9D23A90F6816A7D474F4A6CD +59F0E51F3F974A583E9B42359CB05A49944FD0C4A98E9F2EC4616A353C8602C9 +9FE9C23C5831B7795C8166D738C3B1AE8DA84D4BCBA8CC3B42CFACA6D3FF9911 +F6DD0E3F51D8A34FD4CF86947321F4F0D8A235958F97D420DC9B84EE4E181072 +8CF7775571B9A7546EC8AA888C0973844C950B9B7C1CB6BED4D22A645E0D6B02 +226CBB7C90C85C8C281A26A724FE55504AD3534CA1045059521D490A127827B4 +A8ED830409FA14EB7C72B07E7BDDF6A4DE72FAA2EAD35B2924AB20245EC34758 +BCDA458B46EE08FE9A4676FF2C62294A75900C1BD18576D5DC14C5BE3FB28C77 +91F4C70953982ECBF48EBBE5776B13C82DBB9BC342BA91472136FEFA77D26C34 +ED729A7461C599285073E8EA4EEF30482EEBE964287F2243AD8C0841EA7CF2F3 +254B4621467E0F6736897638F6D272BA843A59F1ADD0BE7A8CA10620DC3C2FC4 +09264EB8C91081B2D7A922ED3BF3A0FE977B105FC977ECE8D410B93DF0F10D92 +72AB21DC908B95030947295E31359EB24995E7F876030FFF8A6E6797638DFD7D +3D1A7CCD74A2508107B9E834F1EB6EF8ED145CBA279C34EA120B998251676FBB +5A948DED6DB868862BD883EF862871D7B6D0297943FDE54252AE65559D65E3F2 +16C955B774E4747C05D2292633C900A37DE2B36EA44F5EA63042A0CC8E67157E +25BEE390DE76BC6141F54432871301658FC5AC86572145CCAF0A7C28025D403D +9518B4228D451A50F7CC18EB253AB9C7E89964CA289C12520C7BE1E19325DBAA +731915673EE8E286116676248BE2F618B2E8D88EDD8D3AFBF84FC88A7BCFFE64 +C56BC9F94E2914FF82DA100C9A23E8C6E3931D225D917091A6695EAF38770815 +E35BC96122956581A14D30BB9F8AFEC5B6E831E8A8C230FCA87A4969BE1BDFAA +C51C5FC7791EB8013D67DED7F961AFE4BAFD3087FE23343678E218F269B9F0BC +E8B945EC8B9301E687FDFC672B7610F3D2ABDF92B441E25121AD2A0B46B1F84C +EA523E1E3AAFD1AE2A854F07F04F26DD3066A9D07FD6EE16897D00D9D2775F63 +1AAA5C4AC0B9B10517E8989D47E5A783448C7FF5400BFAEC1113651DC37F6726 +4D7D19E21155575154DE7A27F334EE41D977A13D0B5C8DD3CEB37BB2028B0B3C +B3E536882248A48FB1733F073EA75932139211D26F1E7270B02AAD59A1206AF2 +A5B6A2C8EFA38588D8204F9792988330E4025E3C9BFDE386810769C61FBB4949 +A207B499FE096D7A44BDCB2BCA400F579E91843CF70CECA76AE349662EF0A63E +620C8667348BE8FDB25AF98EF04FD9A4F892A3C8F8413421277E2B6FB2486EF6 +F05A03D14E730C1836F1277CB4F5AC25775C60DB75161D44D15185EBF7E0E6F8 +D8F2F6DBF4759AF9D5BD9055DED8AEC3FBA8ADEB5D9E361AEF2B91383F5F9169 +FAB27B66F49655E2B61608D11FF26979745A41552F95F7D2619B71EB64027247 +BAA809EC06768696FAE16C12C5E2AC3A878A5B4E351D83C7B8825580FFD67CF1 +3EACB86A53B9A4ABE5EEA872ADF50077056ACEAE91806E00E66C1AD9F5B1A52C +FAFDC465BB1F668A67F506EED2FDE3D54EF6764E4C5011117798500B3E6C28EF +C0FED72F487F121A962C503344813E38CB5A3D72357379187371EC173DD21ADA +12CABAE6EB771841322AA36B8C282B1A9027262DAB07C1CBCB5F7BD74B58D3F6 +B552C474C940D76B6B3F00373963C3E2F45140849316D44E18D30391EE2B1C3C +B8F58A2C9F8D04E6E0B03617B1556031A978CA4818ED5FF6CC44158F58CEDF6A +061EFB5DAD7186F2AF36E0A0F5B319E0E41DA7338F380927E5F281596A847F17 +042B12E23ECF0769CADAE5F045C270946CC62337819E6E939407CE14466C7308 +2E078A1B1EF7005F280DDE592D404AD4763A4CE3A6B15FEA9D73383A06523E45 +A7F6DE54DC41522BE72E5D8B82A54DC9F0903648FF3A0877AD61B1803F23C6D2 +BE9CD4E8E24E551E43363761FE61E05DC73F32F210E64A37C8B13F3EDE519589 +4E6FF502F07C4BF44C97EB9197DBC35147929EB0FA95A7202D9A3B335FDFBA0D +C14EE8D9C3542E820E0D21060E04498D76EDFFAF30ECEF0D86125DE871416240 +8F92B6DFB3F80E784C583C5985264BFC23D0BB50D1A3A1C3D561586FA4CD7B10 +CE39CDD98D501DB4F7127D1B51B58A4AAB5B5130FB3B273377F7AE494F6578BB +45370868FF64263542D8379B8744DD1D788F0858B599CBABE1DB48F1933C786C +DD0568B85C5789CA9068A9EA9C801AB346F94CBA2EC05B3A9242541AF7ADC502 +95B8F51B7CC659ACB1B0C3D46B45A030D94D181C7119184B5449FD71C7ADB953 +737565A83DE8B0F468E08ECD5AF1A9C11F2C62403751020268F79EEB0427AA02 +E64EC681B2D0F53462A329A802EDCDD9EF65F3954CB6A92B9FDAEEDBEFCDFAFE +FD174C46B841CC31AD035DF36428EAD6F11C4635F035B66E69238DBFD297EE3C +87625049D57F84F5646A50C313DCC2ECE03CACC4D4DFE22736F9F0758C78C33C +1F5130B1D80A22822557563FD1A6A4CF37A6B8C4A729043E77B423F362BBC608 +D22BB8A1AE5ADEC3DE3A3B8709BAA5174A8088BE74A23E8B71D78B9AA40CBA64 +8F62B35D7EE5711520B7A166A0435C6B8C55AF95BDAADF9A3C73D052FDA858FA +BAE6CA00EBA099BE3D34534B5C25377D1BEFE8BE0A70A0A6AE4AE339F8FC8DAE +BEA0581DA27DA791C0FF927BC4DB0BE7D2CFC0212A063DC4849B69BB764D6A04 +57984AF47C12989BA200C101EC9809248CB5F1A0ED85F07F76CB29A2D6602CC6 +D0E1D555B2A7851ED52FFD6FFB26F7763A24D492C14BDD4F35233B8E5A9DCF9B +D15A89629413C8AB70437EE8EC7A70B2EB64D6A055B6D27C46C7C7425578D6EB +891755F0C8B8F05E1D730E7D238557F7CE46CC283152ECF3BFE721D81A49A621 +94FB7C2607803BE877B1EA478C486CAD77AC0A9D386860DCC4D162838A2971A6 +65312084585325D103732865A54E3FDAC0F87BC43B7676E74A5DA5DE8F84C491 +95CCCCF0705E7B729F8920C5B64C2DD543E53E258799729881ACFD5A8F6F3E75 +63229380F433B95B5821B6633D76360B8D7F021C70547CC041ABF71316E51189 +7BBC5498527AC87593F8E5AF9FFBA61922EE096DC9C58FCAE9C100084918E2D6 +1DADD04C5A1DE76CD08173DD1206BD5487C152573E0A49464B9F9DE059F191BA +E67A322EDC77426CAAB128CD92E2E73D90931B5D11C5AE636FF6A15609E314B4 +CD44E7670B667BCD109C4EB9D23AB504031713BF3CFED13F53C5A80EE104FEDF +7A921F680926CC6E242452EC778F11E0C68829F53F22BCFB7D0B56CB37B370E1 +EA27A3CE6946CC8ACD2ECAB8E849E2D72C134BAF6A2CE17537C2C34F5B323751 +CF7E237C9B3D70DC661538E30AE2E6379725CB58CDA03BD38AF3A5A82FE3D8D8 +07FBBA36FE779DE11AEC8620C282FE1094CC96028CA626462C8B0F669AFDA0ED +2ACD9341F1449E97B6C733A25599146AB0A602B97915EE42B62517205EB1699D +F79CC40B4CF7CF1D71AF07D3CB68FB6D0E295EE783BAEB94BF5122D301897FFC +7F64520CE547CEB5362182166213923B92302564793CA30347D4BA68BD651E4C +AE6F66DA99A61B7DAA1FED9B1C32779AB9690AD6C3A67F170F58CE27E764DA10 +77062135BBD47BABB90D5F740A48F1F2369E3D7FFAAB23A5B554A6B6B83460DA +7C6C609364123991D419B49FEDD344A264BD8F09D8D6FAB43137869AE97D63FC +CEA9B1569B1706CD6AD6B7E7D1DB82900A325716F7A5C457A04F4B919C1798D9 +A81AC8FFC7D4DC1AE48E3671A73269C5EDAE5A645C430E273F4256412ABC761A +A67E87E0EEC49EF4380F8478AC2E100A4183DD84D1112C472FD6B7E4A910BBFF +880DA1EA898AF6E8CEC184D9B914C28B8305EFC8A101E55C1953C89983045C36 +D077C5776C3C365E26A920000A74813E3F4743A636133CFD94EB2F96566A7577 +750F9689DB2A77F6474EDB811394BFD4E0C2459A41B7B68131A2F6EB18372697 +339B8418BECD567E7CF7F6B6C2EBFCD23670C2EA9AD381061D1BEC0452DB0321 +89B0AB66CD300E29B33DFC62BAD4CDFBA974B28F21EA167755E6FBE16360612C +5640C74BCD2DE4833AE216053B73E6914C77377F6B2A9BEE25D2E41930970940 +4A94A8DEAFC7D7C6BA66FB10F475DD3D2A91F3B09A560FDE6E04161AA587D1A3 +CE17F73FEBD2D49AD752C136A06B3CBDDAA144981AA7E8203C3AB76995B34582 +361FC34D3C707E9D8917E0C3B5E2D9B7DD16FEA32F42A23D02909502017A157E +6D94CC34A4E8E367C1270AEA425CE44CEEFE419463BEA73047F6DE8C47422EF4 +0067D9667B6B457C7B16248F4D9AF8231B9E1B342322380FFCD0D3A7DE1BC0BD +0D3E8C06202EA5D5079469A1451C7F3AB46DEB1C3C65329A5E1F9BF8A6523288 +BA5D655B35F6CF412D866F182BA2802A14BF1E917FFE1141029B019E1F4420E4 +70A4A1147FCACC028AB14A619D3F3CB7A34C2383FC20D111889DA77F60AC58AC +F6B8CA68BFE8C81641CB473652735398ABF7DB6A58B5781AC2B95835E230BDC1 +64EEF942AAE9A54487A84A1FE082CACED06444B81008BBA78F3B6FFADF7E0A96 +DB4B09893823A691E353F23C48DBD76C5FD3BC53287DB89675646D14B1199B52 +62844A62C9257FBE5A611A2B7DDBCF91776CC36F4326584613D087364922BE5B +BBE4A52B49E42188373EFC9207FCBE11254735D5800C0FE514217BF774F7CC3F +98BA99A20C3F1F5ED1FB9FE91CFCA4C46E119A9029496B0007976A822C230694 +7F3C88511CE739512C2C62D3D5FCECED024F5DC86C3CEC0E81C16BF3DAAA2EA9 +F954541B305F70A7C313ADFE9B158EE4BE7E8982198B823FB11116D08D7F6B28 +EB7617650A5FC206E4BDDF4A150B666F1B53F623B5F0641EA50A82EE0D607326 +C2268E14F70723CB5536690FBA6E9D6DA27D +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR9 +%!PS-AdobeFont-1.0: CMR9 003.002 +%%Title: CMR9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR9 known{/CMR9 findfont dup/UniqueID known{dup +/UniqueID get 5000792 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR9 def +/FontBBox {-39 -250 1036 750 }readonly def +/UniqueID 5000792 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR9.) readonly def +/FullName (CMR9) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 58 /colon put +dup 69 /E put +dup 72 /H put +dup 73 /I put +dup 84 /T put +dup 86 /V put +dup 88 /X put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9AF72336CC4AD340 +15A449513D5F74BFB9A68ABC471020464E3E6E33008238B123DEDE18557D712E +ED5223722892A4DAC477120B8C9F3FE3FD334EACD3E8AABDC3C967C61FF003B4 +B10C56D6A490CE9594D57A2D431B9E5E10FE3D8832E227A7087611431ABCD029 +85F4865E17E17F8CFBD2CADC97E0A8820E3ACEC873F31464466A9545E967E53C +DBDDB8478E69063FBB891566BAF88B7660A4405B16834761F041CCF7650AF955 +F9E853AA9F5F4382E1FE7D0C5BB4023818A2383F91249D48CE021250EC9EEB1D +2835E18FB73026250B32A8849067D5E2258797C917F998F2D4121D96560C5FB5 +B5D3471216639A8671B6DFAC5E3554EC36D9A72518525A795590C74DD70DA3A7 +78BFC43E51D6F2BA52F17D4DD00D389D3983EC54912AFF73684A8A7E345537B7 +E62361C04A47859DA084BC72EA53512DC54132EB2EE671793603015652EAFDE3 +41C4B6B679BD60AEC5153EA0D2200CB1D097DAD770F5F31E6FC475A225995277 +B867B731D5401E2D02B85BA85158C80FF7E2BBCC42B98AC867E67D25DB656072 +55A0D32AB7AA483A5A9686CEA4E2B3031D90D84DB3E2DEE7706C91BA81CB8DAA +700E5F61E07D6998C9552C81B66FD10A10033D49EF3BCB0FF22ED0A3737523C9 +8F851C61C4BF8A213BF6EC70C956AE48B5BD276CC0437C72BF6515B10739919A +F00F6ADD2798CB211668842349171A5AEB0664D2C44397E55A4A9EBDF54A3EF4 +FBBCDAD9DAEF4B0CAEF7112FA828F2F8D9F633D37E5516AB5ECEA87342EF8DC4 +3A50548490F5BC9A8A1F98AC7AEAD9D913BFA10CA86D73AEB5BACC1FEEFDCC15 +B3655522CCA2C772E902FAB2A6FC153597D52763EB44AB7489FF061F7F58E8F2 +AEAAF4D17F36CBFC00D3C653F335D14240C87DB4339DA9D30A5BD1F502BC9013 +461B9DB2FBEEC01BB18990439A0E9CA6576BC9CF6B1A3DB9386C4A5D4AA6A5DC +CFA45FB75F22E10ECB72565DB441A194902C91427B4F676E531C661F7A2C3C85 +CD534D1C89B6779B2EDC8E44667B992C20C70B663BFBF680A6CF4383EB7CA26C +4D1F06B5EF4025BBE65795F1EDB5CCB97050872D6C07BC2974F905ACDB7A765F +291365D6C8152153E7F017A25FB4476C60FD9EAF9A121633DBEAC32F62850223 +D6418566AB350F90F4B35F19598478F76B63E347D4C61E203D4DB8ECB9889181 +C387F4B663A502C638761D2782BB96EAC81A0108D7BD6938F67FEBB69218D115 +D8E89CFABCE15C6ACC7FEB983332A51A6A73CF4E341574F366713D7FB29956D9 +9BF238A87483D37E526A2EA2F101EDD34E34CB92730DCA7235AA0027189BE405 +2DAB4AA021A30C28B26C50808E1E965C02F6212EC7C72F5683339425A7739380 +A422E6191ED8453AF0CAAA424AE44DFA7CC5C2F6EAA8D73A5101D8E9517DBCFB +2858D0E8ECB7DC430EF23A9E4428CB7DED8D035D6050251AC101A2D0E884721E +2F21E573F948048BB8FF888911C508CC198BD750083B339500C426AFCD5634A6 +AAAC1C7E91249667B231BBFC64B4317192FE07FE9DA0DDB5E517D097AAE46577 +9555F29D45C67CDE9812CAD03F220B20519F2FF32DCA56A554D4296FE2D1F3FB +B209B5270E0E695EA5A0EF1144957CE045881AEB8D05D72CE57F4D34617AED67 +0D3AF0472CD8D60933651626550366E300E72A9C89ACD475C2E2ED9BD44B472D +9DAFE943F8E02A6DC38E447EED964624C37C3130E48211CA279BB6A0BD59466B +42F3D89B5746F29E084E22CF58395AF0F29E55113F3A3F2F52CB3A6DF3D026D0 +C81754B8E2E4A15F6943BE9D0087D5166060734FD07C4C57D7C7D90E8C9C1F35 +623CEEE3ABAE75E1A18A1E3B50B7266BD2D8E812CFEB4A46B856885B185640D6 +B9C22179551002B94282F57FB433B7FF157D2F0D240836B72AF4A331668AE5D4 +E6B85415F4E8B9D2F9AF90FAFAA0A3866DF417CA5A31348CF9B41B8F5F4D2F97 +CCF7ADE851B5E2E2F6E319AAF5792EBB9DA2C6AA8B73D889F3CDAA42932CDA7D +07A7E59183CD89520DDFC36E5D513BFD8AD0886046585F29B4D7F42CC0C27AA7 +53915AB1167D292FE91957E94A57FEE2D49C20C9070ECD736BDEE0F046E60350 +EA539DC298156A4E0D019E7D481FDDA6861E20678516AB80ABEC1F09B126BCB9 +52E8272A06BB6DD87ACFC423B4A4FC9A3DC8DCAEBB807C5F748F1FF8B17B8B88 +F426206BF1B7B7D239D26BC3CF0776C467A98CFBBCA5FB6145D5900137ED19DC +D002F10704AA680EC753C22E29AAB15712EF22AF73D80820A1EEE953463D4EA3 +81FAF99518D4FD0F862A324FC44C4B9542A92C5B60CC983CC8F647CE5BDB4D6D +B92B380E0E5F7208A9CD91FA9A469548162C761C1BA05AC9D60B766764D821B6 +B4E17F56CE455F06EA1EE2D38FE47581746C4C5FBA63AEE2B58E877D1A8FA83A +31C972D53B64E92EEEA147426A92CFBF76FC614119C6E9C6476FD6A069C803BF +E949FBE50B5AB1F1463F9747E8D353F7BBD991C4F90F920BC9407D8E24720293 +846D052214E60390C3CB926D38C83AF697425D80C2B4FC4706615B905516B733 +46ACA325CEA68FB21B2D17CF0B68BA4DF249368625CF83441EDBF2B86C957C1E +44CD722BD2537CE84FBA07EC7AE15C840041B9F7F3040072E6084CD55B301C08 +A64A53BD4D3DC30DCAC6C152F316ABC59B8EE978793EBD568849DCC2A75A495A +BC83470D503F8E389F54B4A4A31624E83C601B43AC1E52CB811FAA7CA6B644A5 +1AE0BFD4FC774C9C9DFC2769ABFA9C83F900BE2DD4010416053A1D4874E6ECF4 +D86E44B4CAB15D53E5630C144B0C15B58DAAD785BA298B1893D1B09BA5D40344 +6678FD2D17FF6674433C976D6DAC659175CED26139967C9B2B9CFFD78FC2570A +E5142141C2888DBF2DC8503F9137CE7CB21A1EBC2D65BF33FCEFBC85C9CB736E +24E8595CE934AB032CC70BD6A3B0F3BDBFBBE185512FDB7BE3D4A6620478453E +75D044BF770B44C9741E31985E6DAF5A318D7BED12B02A4BCFE60D25EF12843D +EFC9BAE2A3F2EFAD66D7858E83EB46BB09D2FF8AE9C43844A7001C86ED97AF51 +C511E3A89A1BE349FF5215D1A57843EF51456B9838133846F19BE79AAA5C1AB0 +5F400E5E8E7B0BF96EFCA3B8F0894BE589F2C9FB6C97BD16D38F0A237CD4F034 +099C41F85C7E2C7BEC8E02C4F327306A53B4B48B26A8926670CEEF96F6DF2281 +7C2DAD99EF8B81BBB777227C2475AE7400DC393D9C0445E925DB1E955950F7AE +53E9AC4306794239346A419F7B5DF4168382EF5956B81F83BD4BB7635B3BCC84 +7D84D05AEDC02D14675D777CD19B08124001A4F4EA96990D96000C082A12F00F +7FEF793A7FA69D56D3A38D012168C5458B667190AFE80E02C816CAFF0A71953C +D80B085CD286027E2FDBB05452AA762FD7C813B2E19A79C74190E04E746C4933 +CE1E300CAF5DD53B08110509BDA404EF07FA1BC5224BF1205DE8E0C3276A13DD +866675103B960C5F36644F96B4FAC16F5D6E91F74629B318FCCC8E8CB13EB76B +B0B7B90718D913A52A04732EA3667674994A325A7973C601A7DDD50F658E0826 +ACB8E53D4914B0274AED98D7BC3B2B7F9D48A7ECC2F8ABEE05CF2C4F2B90360B +B7DF779EAF3E103D1D83EDBE32DDA873768D8C37DC10A5354A94B4153049AD64 +FF3E0BB51AB91D7C0B4134D8731CD0270DAAF19BED9EAD800A14B65B68EEE89B +40DD624111670DDC7C030DEFE0D1B96420E249332445C155BA96231C88E70643 +D526BDF3CA1E05FEE72CE2B881CFC01ED780C10E89F0828AD55FE29043BC56E8 +2750A6DD15AADD54492F6092618F4CC6A31766B17FC60766D18C307EFC9BB787 +39047DAD6B38419EFBA46B4E2C932F97451FE78AD75FA90DE409FC6DD46585D2 +1941F5ED47A8FBAEF5A917A240959E8D9F9917DEA3247D9CAE6BF7A88DB4C4A4 +F9F5A6DCE542420A032FF3392FE0F3357B51F884D6181583A554F75B1DF192E9 +253CC828FF06B0D992D5316435980B044BB191508C7C45CD90F797F88856424B +14A5707459C50EDCF3E3D8D1667AAA83015405354CE744C66D9A5728F29E0085 +6DBF740717FA0799E3BCC4ED7841588B496A5E549B953A7FD288B4A045DB611E +E3B2F35963FF18ACCB1C968BEEA2CBF52B3999AAF89A05320BB2E97F52CFE06B +9F10E3A79865A3059A957F97972D80ADF678A36E2B586C101FC6AFA4D137C13E +EE7102C9B8EF78CB057F8B7476F146E8FF5C897FD5503DD198128CFF7B5FB339 +FAD0AF0EA967F77B07B367A4AC9F668F8BED99B98E87FAC750EE045602D76C3F +289FC9D97694C96AAC0AD1BD3FA94DF2CBCEA24B40F47B9B59E54EECEE7AC4C3 +A3F5D19160E4C1EA830D57FBE10D8D46AC5CA0260F22FAA45236F0F542BEA9C5 +5A88F878F68B36114E0573900C65E305462B22A3429A17C7A567694414DDDA46 +5F30542B8FD4F00F6C295B2E8D3A986B953D96822DB2ECD48E8BB1763434E652 +152EF3717F5E7FA10FF0B01D9F64E22C5DBD7254629658887BACEC0ABDE972EE +67299FB84A05B3EFE22B6976DB4CCA384232DDAE38C31623A4E39EA2E82C1EA3 +BBB68F1A7DBF405DEC37CB7203A895C36A44BD2D63F45B3888AF91D37B510A59 +3C921BB44DA620892AD87B665F69F6FA510B071ECC403CB2BE2F54B3969C9E88 +713244BC97C1466DA8216DA7600C221E7E7EF5C789D2E12B36422023A03E11BF +2790FD6062FE6BF62F5010A92F0A104B76E255A0975E04F6F20F760881BDA7F5 +D834D1D328B6EC19AA7D5E5678A84C74C82553DBE8BB5765E84F5A8789032143 +6020940B4B8D45FC3433D356E28C25F42D0C19F911213D85951B2B00D01B77BB +A4C72E964F9D95422BEDE582A05CD52E03D28A996E6CC8FCD910CBAB728073F9 +F9FAEED5470FFA55930447C5BA816F826F983D53EC9941EC8364B3060FD74C95 +26D4F5CA753B574FD2FA4D1D333785241D8741B79E628BC852FDC35478C5ED9A +C1BE88C5EE7302816E65C12B58EA16FEDD4672EB3E24B6EDAD5DCE263BA8A970 +350B651E5A9F3C281D85BC3F44EADD0D93402E36489BA5185E7D388974B0B700 +70575188BB610CCA20F081E2CBDA13DCC6F72567962ADB342E02C1E763B673C5 +F7384E24C6E1730A3A790D690A2103AEF88E0C1D4480DC9B25E5C8C9E1919C95 +F83320179B4C7C4A26D559BFB24D7D596FB73758C9990C451E77FCDDD17763B8 +9C30A9534E3CB6680D3D419D4B70B0B0A0D160FCCDE169714E373F65B7144CC2 +DB9A44E041211E1517D3148E65A2486CBE5E74E625261CCF65392FB4F3091473 +F9E8DF327D59A58558E5C9F7190DB577D5DC658F5E36258291C708B3D224653D +064BB6079F91293FC733710893AD1C96169B30CBFE4E9D52E7EFAE4AFEE68FEF +1AFD5E7E9DFCE8DE332B0FDC0514F9B3090AC85BBFB527FD8034DD33E9576325 +A8769AE09AF1BA792447DDD932B98FC9486B39E0B04DDB3EFB7A30DA0940B33E +E27490E0E841E87B1C90E5248A91742ABEDC10F43A8AF0F9C5B4A4930B1AADAF +01874B9AC3B8D0DBECCDA6CD7E96471FAA15CB7F8A599C5746327CE392224C3C +40BD60AF97BCA6FF6FCAB2FEA114D7300B89E91C3BC92D5B3E2C83BB37992D8C +72F661EFD0AA034C738C019DFB79BF40651A1A34BC1EB9F5AAF58F8B3DA32645 +24AFF8636486F08BC21533B5FF7391B0679A78DFDCB03DAF6BB7475A1D51DAC1 +EE4BE9B986655D1FDB6936445EF99B58B303FE79F11275EEA96A9F6808EA8775 +D873D1052FAC93769789C700F20EB2ED6D15676F6E563A769CA9298E463FC311 +83281483B1C953370D196727A6A0E66D32D9480AB1B6DCA77868C1A2D5DB6483 +5F31EB6B18EEFEF1CDC31533E69B0AFC6B30FC9912DC89BAAEEADC30BE14F448 +1A6B70D36A5D9B01799BEEA686066114910842D022EB464A9A1E8F0A5628BA69 +AA9A1925CCADD44703BC67A89F3B48E4680726DC4360274185CF3C8AB747A8FC +4B928AD62B092EFE48B01E33ED756DB696171FDB775396BBA138E056F71EDAE3 +7A1E4CC272B8418114B0E81DE0BC43DB3C133167344488820A92DF10FFA26FB9 +65FCA2C87D302E956DE6B4FE145145440C83DB43A68F8B29A592B127BDF49063 +B7F11E155CD4CAE305525BEA56B7C412A6260426407BD892A3F2B444AC3421E6 +FB6E6425EB5C3053C5644666B80405530FA0012B54557327C98E0F4F064099A6 +4ACAAFC1870359C1B6FBE7606BB8A26026AE20C212210449905E628AF1B20490 +8CE908B7EF3E3DB551C85AEB0F7FEB6A8D215B97998E5DD9C7CCFB2A9402B8B6 +1770D4023777D4B45A73F471355353412C51D4CE71FAD1E0AFBD87B5F86307F3 +10D0B94F1194EFFB64AD5DA54A4200490F609CA8B912E149F8217ABB1E9EBB3B +C4470E7365CF5E1E761AA1945044B225BD53D142F6588C50E0644740F7DD55E4 +8F73201E5354A8BC78339211AFC4935F44701FBA043AAC4BA4698E9D7700029A +C79F992F62627C91EB855F64C4B251718FDA71EDAF082A0C7B00550949D617A0 +7071FB14F05620CCF2180941341D8E60FC88823438FD728A4042AFA8B853107F +852F631518B61B234565291B5D5B89DA818DEE3AE3B68A2869DFA63255CC882C +3B16BBA08FCE3632E57FF7A07F857A1F0FDCADAB39D77960BD827CCC8661A997 +648BF5BEBC0FD2286C2A112A8DEB9CCB6330A049170D5D68EEEEA011D3EF3EBD +855236B9380087CBBB6BE24191F728B7EAC5B50F7A547AA0989B7C7D3437DBCE +1669341264E290646F2C8C5A3ACAAC7CB63DC692FAAE13E9B40E8BD39FE16A0C +1660CE66872D061056C04DDDC265C024BEF8B7E3C3AEE76FE5C9702002C28BE0 +B180295EE00E567FA2E5CD1638226D24A7C732E1BD8103B476EF5702768689C7 +D4FCD47F2AB94A2B1FBAE6ABF87B09E7713C773FB65CA83F7318035B332B9F99 +24A2C8897527021321D003AAD7C273E4BFA2710B9BB26C2CFD3D9A5D7ED1096C +552D50028AE2476FCD6D12A5D0A897521313ED1A3A8456A70C16EAA50A3E6733 +6DC89FEC56AB54A579EF264377A103939D5EE00A90B4F2206D0023AF9491FBE0 +800C6540FC945199E20E945F46CEEA2E885F6800B9DF042BCEF4291A4B1A62C8 +6A7ACFF872B25FA3AE69E0093F3D0FF13A3313430C06F1AF94D500431566F659 +E8C859A5F80F5BD2E85C8E32603D3745628E8FE6FBC50FA68F9C3811A2BEFEA4 +5852CAE2AE5AAD3230ED050593BAD0A9581EB7B327C6916B8FC348F4C23E6FA2 +00FA28AAACCB3091C1D83F7BB88672A53A2EA3B8C7C24374E400C57F0F01019F +E52D5C47F389D4C9AF126F4080F9AB8D1C8F470932BBECCEC72A9796F6E965A4 +82057DDB43D68298A00880D4C2E2496F26F015FD83C5549215753459310339B7 +6B2961EEEE74DA31FEC8E2BDDA42D4080A32372AC372524BDDA580EF6634ACE3 +128C69D04D890DCA337212B109585C665AA83EFE47D5BABC2627A86EAD11BF7D +744176652C7F9497785A7A06A994ED8414BBE8B26E74D48CB83FA24AAFBDD507 +84A90195EA3D77BCE8C2BEDDD1DC52E8164DF15D65B916EBDF3A8A76849653DF +AE3CAF9561AF3B705F75B9E5DFD6758DB65A2FD54683759912E0D0035CFBCD86 +5D239CDECAAD9AE5D95377E0D3F61C2AB7EC99ED28D2B4A7B6004A566B43CECF +7E35419EBC2A47CC76393F4778DA801EA75B4C1FC38062AA77CC4EF0E6CB0C81 +9A797C01F89BB58A957D3DAE33E4256B1F5A7D66C8989C512DA066D6DC771548 +F2DA3B490834E7B4CECD9293A5DD581A3171DB1C41F348377A602A2DDB80C0CD +7B960942967BF3983FCE91203F8C465362CA8E91B3C759943797C24CC83176CE +2D044CC07FCD6CF9DD7FCE413A0B2CF777529685866C7855509CD57489F07108 +D995887AEA9D20B3CDA77BCA95B6F655020E2964AD82AD77382DFF4903C680FB +2C666FA0A35C4C85E87189C909F4B6A0C788077270ED2C2B0D838488F9DAC159 +7864727A4F21FDF43764C2E9B8BA9A8416FCC45247C82FE6FAEBCE13C1E3A49E +269A4690D0AE927362CA09840E5D802CFE2BD403D853D4FF9DB92D17AF722C95 +271E384878E4B6991DB3A90422F7D0D4A260E131BAD83120E618BBA0C7F201C3 +E6822BF981212D1462A8E8C28005291E4D768BAC7378E124713CA18F365A18DF +7FC981026EA47CEE8FFB0EFA469E23050DFF752ED042F0A9F8DD7CBEBE018E1F +056476FC098BE6A639F16CF415B773153D9615BED1251E4EE61363C0F51AD30F +D0099419E94B1EAAB833E4E31084024D0E7C946E83F574F370790FF713D5F12B +0141EE5B103939B88DDEA6D3A49A83886DB260065E423B426EFCAB1270E1C0F3 +A18E54817F7BDD3895DF79E9BE619F51924D7A42202DCE9AB3649C01936660D3 +CB62D4FB61BA328951941B644D69538C3D023168CD87F7D7697CCD5020446B3C +96FF9C99042164C633B9FF63BCB643226DE34650381E96D9477ED1CB332A3DB4 +2F3178303056364CE4F7AC5252F4EF69354E4B5A295D537FA83152FAC3669043 +970D18A18FA4ED1DFCBFD24365A1D19F3C5BBA92F55C6ADAA3B2B49B9C3EE3E0 +6D9F9888A90D060D77FBD0CA42F8B32E1766E71797F3EFD461A0076446786FC2 +92FB5760024DBE28098AAB2192AFF759FF2CC06304B71259AFD701D91D6CF5DC +1E2B1CEDDD6218A5CE4C089430B736FD3AA515B52633F76FC5EEB74856E83283 +84B4089802A732F224E57628117A428111B305CF8B23942378CC6217567E4235 +0C815DD3E183EEF39AED664EF1FB9E9BAD01368259709F26CC0B07673F44DA2E +1E7D41D889A9253E4930B2DFDB4E6C7FF05760B5DDC47CBF651A51CFCF2A2142 +AFCE68CF821605ABD7A734AFAC26C19DB24FCFDC97294C2C4256EA9FFD60532D +8BD22D850B8EB9E34C0EA2AE82D3DB12EC9C4A0C28E33ED8B155CED74370BB57 +70529AD5C6536228FCE80FD44B49B8059ACFE6DABCC6E1669788509B442DD84B +8E4AEC46F111F36491B206ED15DDBBAEEBE2A22F70C2FF03BC70A3463989ED53 +83D95E1F84E26AF5F6F841665A4FD1B019D2905524EDD4D0BC7169E507127649 +1B79153F8DF73FD49590C50730CFB259E34814DC29676637FFFEAA1E8BA1CF11 +32B3D87F43426B64371276F5CB3B235FBD689E5FDC0BDAFBB97E2699B7B1F51B +F6EEF56F77A6A2CCDB482604F556EE59B975BB4890B2029F4CDAF832B0662D9E +DBF8D21C482A04429DCD7338CCDFCC0B6C5359DBA150FC69E166E6A53CFAB7AF +619DF3FFB8CF5ED5C2907252FDC0F4955610BCB009883036F060449A1B19DDD3 +634F5805FED544B69EE9B0AE2BB4EB5C1F2818C30350872D90478F13CAA3A175 +F90BDE98CB15B4BAA4E3B7075CA47ECFE9EC94D5D5D84D40A1B1D6E2F900365B +83A6FBC06EBEF110CAB8928AD9CD5D7B8B80B8DE0773C917B3CAFF1F3287EE5C +4D96208EB19A39BC8F6F080FB260EBAC835F55317E4131800E99BD0B32DA1FC1 +70284FA71225B2BDB0FAB479D9B166D442B6640CE02C62C4CE72A35BFF14900D +564658F0A4ACFB0CFC3F7D2668AC317CC099EEBD1FA0531017D74B47E173553F +7727CAB5EA16F2831470D5B7A0906CD92658FEFE5A0ADC08552CA630C66C560F +F935F7987487ECF74CFA1CC3A21E456DB8A5216E4DB5EC85E5830B36D5468803 +6EE18D07609C02ED2E423C33B97B28C87C6040F4E6BEE05796BAC74FA8C066B5 +436D54BDB3E493F59FC8885EAD2CAB26E7035783057669FA05E97732D5F6BE7F +CCC5B7F4B697EC12999BBAB002791AEE65600A3C01C8FEFB74E98FCA5E9E36B2 +E49E4ABDB8B129EF6C93EE410E968D5EE1E5EC84A3F32305BAD602DDF9437D60 +03214A0D3351ECD6F4ACF057AFECCA827F424DE94980CC5FD17DBCAE3222218C +F679FCB30460FA4E858958555F5218EBA0BE32451BE4CBA35F7C9D751B6BF707 +E972BD5CF46386D697F7CBDAC0B2071A44CAF624CFAB5C7531FF7D73198BC5AE +D82A701376DCB4274936BDBC3BD19ED73BA77501C8242B0046C5312A303E2198 +96D29620BF292E814B9ED83A87FAD8959F0417939AFE2F8845FE0BA0A9989562 +B5B615D6F36D91BACA10C9F45D7C3910A3CECD86D600B6DF886DC3CF5B39AF59 +E36FE4E410392C9CDAA87F03FCD11FB6223C0FEE6D662B04536E8AD65C1254E3 +5A19BAD8513454F32331E759CBC124FE9E1008266412FEE1648B1160A6314F9B +47F7B91FFFF8CD31456565F6AFB681375D5FA0AC5790FCF3A5755BB958B651C3 +11A83CBCB8E2FC5BC9D8A59BDD06541BDAB1BE76B3FD97B4A7197E0FFB1B640E +D721F2FC9337AC26BBB0E45C46AFAA314B0E25DFF9AAA29F60CB6FCC2E67D0E1 +4C1CF35FCFCE344FB20D440FAC441FF8B26151B2917D2BEE72D46EE5482B256B +D5328509147B8FBF25EE397B651B556BCA4DA6F2E8560222A97B2EEB8DC3AB2D +1241467D6F903485AE77B72EA9F5532BA0033A14003DF2D73C6A10CED11F7E57 +DE14C95389CC9E461E1FA37CED4B65C99393D91D828D316BB3DD8F1B6C8C56EA +ECF797BD0D6F44120F3575AD8CF7D678D9916169DA9F1202F43282CFA34E0120 +A62C24A4965CF785CB7B6BB7958771662ACB1803A6969FF2287177623FDC4A64 +6DBBDB9D53C7E7BC530A6352C2359C1012CE330874226D75263A29D34EF7C6E9 +E56C720B4A9F3035A3498F403F122D2AF80B3537637C612EA41BCDD5C9DB5959 +77208870D8643672744EA706A62E0F53322EEE450FD834A7B5BB9EE2028F2B58 +4449AD9D3BB7D518DD0E16CC127046046DAC7C90915FFE332D68EC795A00E892 +9A4D829EEF2783476533D0ABE9FC00E92273701360D92E2D8DCF73407923ED50 +F09C1ECFCB5167E4FDB351F21C992EEDBB3F759D7893E67EE3F0B0AD27C22503 +8D154E4656F94CC6AFC011DB6A3DDD35F70132701BF491690BCFC0744A38275F +9071284BB8B2ACC2214FCC5F1F47B0E23D8A3A14BF9D769174192002FED503CE +76D41BD8DD4F4848538809124ACB478D62FC835E7B0F9F013CD7AA3726FFD602 +A277E2E3F14A3965A17A5D4D33244CE8CD73DEF41CEC508A5C2D495F4D59AFFE +3DD3B8F03E08648EFBB86C2FFF1CA81E59FBB95C742A6186D36BD2542942AA0B +F0AA77D6961D2FBE49EB4D96FDF73B2AD20E47067524ACF68ACD0FB98E735866 +6B6D95BEDCF14C80D2EAEEA5EAC08F610CDAF5792893B4528161E2C9BA02A14A +45BA7318088C962D8F83A096E3EDCE9DE8291CD606E8F0ACF4E735A7063E9D19 +5B968471FDA0C2F9665EAA77FDD0DB0972C27EB79C70648B9ABEB17C78F5BEA2 +B340DE91393D94C53BE1F14CE900F048915D4680B890963A23BB5C800E337F57 +377759DE9377556429120243752064DE70F565A3B8D8D74CEB8923BFEE5525BE +102F05442F7C2F4D45A46784BE9BDFD1AA3EDA2B7E46572872BA4CC4501D0F46 +A182F9775F1EE2991CBFE290CD5E39A79895D7ED557E0E23A70117DC23D47D04 +23CA9D1601B759952FF910C8E140F349F4D2807339BA0658E77DC1C67AD9C156 +316940293F225C9B5B62314E1C83F92BFF8AEB45A9C04441BEB0849B6CBB6066 +65C0F6E70494C86B2213B82AF766EFD17E62C5361EB6588177E291D0F8C62A16 +8377836C8A64B5ED8007EDA143A81830134AE19DE0493B53305FB68D254CEA16 +E4AC98C13FE473C58C8081F9E507675A7194EF82C2B7961FC49DBA6673C7EF54 +F9507FC208A3A0B9FF4E1E0A3B7106463659F1EA6D536CE2454CD97A16696280 +0DDAAED71FF66B64A7EF9D4A06D0606D153F00BAC17DF7453972AF36A9A548C2 +DCCD06DF7B30520C997EDE83AEF0B3E33AAB5F5A1D8CFC196A5233B33B4AA8F5 +69EB4D9D93E350EACA5E2BF58DB75E1CAD5D234ACDADBF12DB0FEA6B9F4F074B +D464EE9E4610F716DB761639569C1B114D89326A96A5EAE5C035240FF56FBE98 +C50ABC3B51D0B6F2A68A12A16C9EE9BBA04A2B4B7DFCAAD955DAEF48CA5210E7 +C415A7C3C8E07554E26120622D85B96084B1BD28EE71B1ADFA50385DA2BBF511 +469764A3C801675F38981960A27798757B286C745123ED30E5FE80B69F34BFAB +C75A3D92A552821A2DE47F53C5A0863CB8F60CE12D3F85136D4F0396548B225D +78C3112D8EC2F884DDECAD5C8E9DEBB7E01E55078B3B2F4D046A5CBEF678C10E +7D430D1F164A19992A554540AFD5C8917D5F853A531B89D00506EEBC5385733B +C3311FB5309B8C1FF683A4C639E2E599FD1BB1335FB99E71911D1E25B342CC56 +946BE1A45FC5D4A0545327F52527A53AF90C853DEEE4FDBABF7AA8A5E39615CF +ABD1CE72F60173AA6E1BF7B3BA5165616442AEF6F839B0511A3C6C50920574AE +0D92E1E3D702F4256F73CC1E4BCEAFA5914B4A8DCEE327CE9C6D45B1DFBC252D +C54040FDEEA9364D6822A6798EEEAD1A5F469B9877082D321C9F6BE9B8D20042 +E267A129D30ADC64A9BC0673BE4A23570A3EA396F07DC54E4BA7B3E84D555171 +33D499CA5CDA191E9A0A094995160BD2D2B59D6071F00CC7CBA5B2BEEBC284CB +D29744E360D8F9A41A1E0476BF25C5DDDAA1BF5EB9095062688B73EB66222C0F +44AA7BAD1F26B3FD30B9981FDCFB6549493E7B494BB0BBD7826C23095FEB87A0 +0A74D49A9688C29DAB21D32C3CEFCF46A38215F6CCB23CEA21AA8CF599C651E2 +7AF4B67C3F17B052BBC06AA6038111E4AA0765B4464051A74EEA4DB70BF14B40 +FCA95228909BB7FE9F90B5A5D4CA465C5C9924A7F06BC5BC43486464DF0B1BA1 +D52A4F390BDA3CF2F7898E9DB58CB98A9B151ED5387CE5848EC497C61D072EC4 +8D5FA825E7480C063A17420F0414A2F666F2A868564439E000DE89DA8501C759 +63183AE8E7577A6C163CF145A0243349E61B96D1A6121361EDE749D9FA2D8270 +72BDA70435FE0BEDB2D5F290842B8E7BD56B4B91AFF3F4853B9DBDAF3F1B5FB8 +75DD8A2464C82B46C3FBDCFF3A54460275BBBAFED4C163CAF70044879A3068D2 +6A272EE3E379ED00D7481AEC7571FA1AAADB1ABE6F46042F5CF2BB8D9E58FA3C +4E5943B0EE8AAC87913AC1A9531F1BBE3A3DDC8B156D61C3681C014DF910B806 +8921AD41FDCBB90E1B86B8450339B0214C6A0B9457280FF745F2B7DB1BE176BD +67E4FBA23C53ACF8D95276968CF1F106119C0FFFE7274BB2F20E06BDE3C04B77 +6FAD50A4F9AA371D0993F72BAE8794CADE9606D5F417D2DC807B6AA2AA2B10E7 +E25AB7BA3587EDAAE4069F8450590280024D2B81D239ECAC5456965DB9F3A939 +733C9E978F1456F0FDC64D886FAEE31E9F62964840A96972A1387600AADB271D +30B93615DCD8B639F81A687C0CA41254439A567CC65CC4B0B774A225FD784704 +7BAA107DA3E7C20DFF37B99B0F5721D793487589526BC08905CFDB85B62CDE82 +2FEA6A0F6E948DF73EEF8FA0F6F29E789F66A1E0566020543278540AF1B4361B +A961865D1022965B49E438C3F9BC685323A2A871E9B7AFDD8A2EB3AB1DFD5BE6 +9FECCF68FDDB761D7B6689122219105C1D8E1D5BC94024E964FE1176C6ABA0DA +48E74C7015FC77B449324B9878D319D1F1D21F9F02BC95A88E02EA5667B8E830 +0602469858B496505CD9296F388A71517385EA7B452B2C6E93BEF2BECF10C8E1 +48B3FC7CEE4A9F477C15780EE71AF93FAB17BF5BD6CDCE2E2DA8780A8409DD9A +D7BAFC72237AC873661A7042EE2B039E92D9B44A38260B071A46A0999BF1041A +4DCB3C05055F52A57FC7A8BE53DE835B76BB8A6EE7830E549EFC04DE2F3EE026 +38701AD0E574275655153583405C3C1020442D267B083B59AA35DCBAAA3A0E4E +7E6DE7C103BF73224BDFAE6036A0574151E6431A35DA4ADC35316EAE06E000D3 +91FA7F8F21FE72B6EFBF41BEE012D23C634514A5FF1CD272A0EF4B9B647734E1 +AF50C61348A99C9B94C12A7DA8E711E443025CF4D21ADA5B74696B9766253DEA +96BC70B99CDAA427566E3CEDDA1AF905E627D5480B08B1B48EDFACE359ECF4E4 +261B86B2B05172F088135E7D13731E9D5455B8FA0FB97DF030951801D6A7218D +7D7AA38715DD62430FFF595826EA5985360BEDC65F0CDCEB890F0CCA08193607 +166078E612F83F7AC14156E825C62089D3EFAD3B5A4179D998BF8B7C2C70B1F0 +33BF461B1A4207471A8BE6A12580BC8223B359DA5A761FA4C88064E17D22DC59 +547D891DAD7315E16B7AE84CD7CDB1F4D9B3889752C5E68B81AC0EB288A088C6 +B17ABBDF5E19BA911AE09551737AB8D3FF959C1E15EE3A7C0CB48DE2B50F6CE0 +7549957D9E2F3888C29B62E336EFB8F3A5652A1C9F2DC1679C407793C4A863AC +5F99AC9BD056C7EB3AD743B511D89F8C6558622D67261F5DE0C52CF6C2F36977 +AA2A9A6DFD45A90F001C377EA4E38724869190A4F01DCE1D7A890D058395B528 +1732B4F73F734176F9AC5DB5C520D99D72235125E9E08FCA56B61C2C5984D632 +294DB55B28E48D427288486F2EDE088E767AAC46C12F3C10EC87B488B512B7C5 +4348F00978E626178F568FD1F5436AEE4762FDEFA11402D0906218F50F3DA6AA +A04844E7CA384F311F23DCF95D310D7F9B9D38EDEF8AEA6363C0D51EA6D0F29A +2186AA3AE105A891C328861D191DBCC47B4C4DB1A2540E890B4316F7441F738E +FC091ADEEABB3343E4E4ED63596865D81044094DE5FC00354A41B5980B0C361F +20D2256ACA15780E1C2EFF4C2491007F4EC6D8325095956A8CFD231D8D1AC6A8 +BB1A614497B78039D2C3956923C97B82864C40988463F8B94B8C649EB7CB5CC3 +93072CABFC642D697B156199CCC534B0B97BDDC44772F16A4385A391A65E5776 +C43BBD7CD659713B990C21F89B76BFF6594F466B21A713B32EB922655AFDF1F3 +A88ED6A0755FE59B23E305DACC3D95855DFD1F4205656366D6BB17E11CA018C8 +547D9BDE88DB0D68CD1698894EE41C3B8311F5CED298CDEF4D83D6E1926FD245 +1341681972317B536B5A0453E73101AA0D7A911CFAE6CE64DFF39BD6E9E30578 +A1FCD948544A44452F91E2199548F830E022AE220CDDF6A67CC6A3969E0D4D25 +1655E1799CD1802F45D3D1FBC5FDBA201F4D91146F8FE690BEA0DF724D52FC99 +994BA6E31A96D8EF6E2628A0F965972C3348E285D90576BA196877343635B41E +A00F67F3AE300F1FD2958663CF6E5BAD2F8432332BED21E07E5FB76CB67E7885 +157153DA37CC792A807A2EE1C3560D29BA8E48F273DA2872BF3DFC5C13AEFD96 +36BCD22374DA92E31E37830BE982529E468CFA0E6E40A412DC4D3427C0726D26 +2A1CE96C5442CB301B65672FB8DA07CA7A0D03B0EF1D6392CBD797A909CAE239 +B9C9C961B10893DB86C1F882B7FBC0A1788B0A8CEEFFAD0C5D2740BC69B07B1D +262497AE2F1A8461E337FE59B03B621EADF70E9C09EB9D3F4FE0C19DB056E6F8 +3E776F3ACCDC906058AFEFD022EF62D6C0C9BD626F61184E7C5DAEDFF88BB984 +219128F32AF8EDA2D4C286D1EAEA9947083C5F84FFFDF1698FD0A140C5FD35B2 +C153A7A44135BF077C180328684AA8B0074E6BC727000BA9A6F55D127C5A61B2 +786AC1F6EFCEFD7E544F43B61FC067D162576AA75F7EAFDC11A71237AA5C2749 +FB42DBF094BF1A24EFA8E4D5C324378AA86CDEE4F0867790CC8437A91E4DBAA2 +C67B8E50996E2FA20F2C807918C6D6AC4FB3406F52FB10D3C33466A786C1331F +E6FD17D02B2161E8AA4F49144D020EA450C1151755507FE5E4A207C6314DE1DA +73F3E8EE316A9BCD56BC484826A6E3731BA6BCC8C90196EFE9E93D562F0C216D +6BEE0DFD78492921DF217A7B8170493E06143923D732F75CC42576D2BFEDDA04 +1AB26BC3E37337479E122353FD6C11DDF4CC88CFB52D07FC73071E0016999727 +F77BDAB173E0EEBB69FFBD3F3A5B28FAA49B0D29211B58B338BB439513BA611C +84AE2700585AEC8E79DD42BBAAA2453DB4E349353950189BA77E9FB98B6FC38F +D3E73834D346EF768820F034CAB3B791BC5CA82C2D33D17CB0C4E88274FE29EC +572908CBB2B819E1971128645A9373A0D8CE8747D84D40D60F69DC0E8BA13FBE +76913402FA2FAE04DB7985A2C99165B2F431DC15DA0D34664471FB1B697D46C9 +ED5D42AF27EBBEEAD58583299608464236FB81A60B99E0431B71FF7646BB3CE8 +D877C62AB73EEC60B77351E8DAEBE0FB978B46E7396103E9729453E8DEE72E68 +85E205D26FDC8E8D6F834C478AFC517F4EA94EE8FCEC998B391277B30ED892FE +8D79E45727AD340282BFBF4235C5C9FB7BA254BD24EF7EC7238ED953E03C27F8 +1B71F2C6911FDFDB6CD504B2E92F7755CA74722679ECE1212823C09FB19E3531 +333FC8A708D326DD49804CAA48C448D1D4D974A8C050FD05E5CCDA19EBC30CC0 +AFA0B88AC7DF8198E35A0D74993713AB2F5F037B6236622622D86C1079CCF80A +8FE8CAB525769A921BD1C6600A3DE4BE8576702CF3E2CC7AF51E2A3A7E050236 +9BC648D2F843223DA0D2DB037A2CAE9CB06ADCC85A51C7BBF268D7BE707B6BB0 +B90E831B731278E0594C5C14FF15704FEA9ADCDDCD4A989A0C39D82B8F40806D +90BC8619E0ADDFCE793292A5356F624308C95E4F557BA45AFC035F42FED5F04E +EF3AC54B87E360CE0FA0F60BD92CBBFCD468867DD42EBA220203999279564632 +AD5BF1C08DA86C099F5DB5DB9E031DD2E546A1EAC7BC97E5E88533F01544066B +E088EDAEAE072A5D317116C3E55EFB7612719A6706AA71999D4061945984FC64 +A560E657E5AA5FDE7187EA16953E198591AC15D67B7D3D59EA35DFABE898981B +64B3BAE0CEE31925CF6B0C303E94D98DF94A8784D472BD8D065D83CC41468CA5 +9AB2276F462F780BAB521DD0014BA3DE5A82C0EC50201858F76B04C8D4371F9A +EF45B0CD7AAE9E94ECC8E4F3DA892A17562C79ACA97E98859F941082E4E1B976 +F76A494D3690E1C1E9C20AD705FA119348B066B5CE1CF5A249602AB3F380A2D9 +E8323C14BB6375C6F6E26D89B365012AB759ED11483EDF9B5999FD867B3C913C +6C482818B91694CCEDF61DD190BD9B62CAC3AB7A8D4463D85686C6ECD5BC07AE +AC13A42D6642876E2586A25D61E4B1C8FC0C8814B15FE19DA06A8809147B5810 +833194A76611355D1CC1172B63CDA43EF2A083699D73EBC356B69238C2453C40 +1A553D752A265A31D2BE724668132716A403C5BAC8C806C8ADCD285D92BDF679 +7EE0136BA3CB0AC50581CDF674D7CDB4261C4237876DB78FD3AFBF70E0294256 +F815EAAF85AECBAC5705170FDA60E36C7E613C9E63EC80E6E210AA7D5416A6E9 +39EDF1E54423C6DFE793C16F9C0CFA563159A2A20783AD48F1482F47637FE25A +319165D066C62FD852BE13FEAEE0D804FFF36794F4473D9254A75369C07B0CA3 +AF4F13C11E5DDB2C79E30C415A2E5B86BC888EE26AC3D16521F4E41A5B84CEF3 +A248A75EAA7CBB431008F732F212F2C6D77445C4C067678DEC4433B31145C20A +53FB885026A0CA0AC8CA4751B4A8731E39205F9EA6A7D08241196476739564C0 +9368C4CF443AE2EA48A71B462697920BA6FB380C32ED4F5EFB7864B89534648F +112DE3DD40B88C5BF816C338002F627A681B286E576F4168439D49D0ED88FE16 +955C6AB7ABB7CF985D5BC5EBB432E5D4CA25A66073C53BF91B03287529B1326F +FAFDBE548926563F392BEA729F31E65AE2487F8A476095B72A5044175DE35387 +2CA57DA0CBE2CD63F7AC4EFA6F98081336C24F89BE9940908B1F6B1AAF5E162C +0985EEAF6A2BE772172CDE530E83C2B59EBE5464A6AC1B41ACD17857F53BBE49 +A423293003C16EE19F30B99D116357AF029C1FF748242CAA8A21F5F2DD8CA94E +E901ED3DF42C4D0651B240638EDCD0AB8189227AA170DD5A7FF685B9C85C6BFA +1B7F484E204A5B151F3414265D0C5E6B48E96E3A6FF2C43B1F8ED6F7BC82F656 +7AF6B474498DA2D389410B9F4983A1097B1EABD1BB5067899DB67E61D0E7DFFE +A6F4EC9A7B20FEFBFCD896263C76250805FCC6C078E3BF0AA8638D48575E0300 +590D8132CCA0AF6111FE2B2D57F96D4D36A92DB55ECE23E5F6883D413C6229EB +A0FB25382549C2B6926D74F7FF9D53AAD8EA9FAF75883EC6DA29287F931FF2B2 +BA12B5C24A882474B5F66E8CA66E4C7474B8072550D60E408A3D2021E5ADEDA7 +E214C34CC5AFFFC02229677981A2E2B2FA9C8BB2B1D0D9BE7E99829F17C6EC96 +D798A9E2FE20608963D369DA60BE1BE0E87F95CBE766DE18EE0A93D19A829BB5 +F1586DCE7AE31A6F7A1F92EBE214DD351A8C443A547B3B67C8733FA5CE337A6D +1B47A99318E013E1ED7B3F3AEA5D79F9E261F8D4529D93F25F2935DF0FA5D30C +0B243699E93EEA3174D2B30A5FC364345218621D1897D2548CFCDE59864326A6 +5D94C6D0652C5B72121F69ACCC80D90C0E8ABEA97E37F8EC60E58BF0E6606BC8 +90E547BF3D1E5F02FA70759A2970A5C9EC187293176E41C955A8775E050D49C5 +9DD1D0ED73D23975CAA1898A2C66414B0CD89DE2550FE4FCCDB5A7C6477D9566 +2F9B3CD48FB28C81934421DB2EC0028CCC7C402B6825EB6221CE23173748CB5E +7A84BD0B580838144EA26B46BE90D73E4B3D8B78D5CA180B25B525957377480E +9129C05515CF65817532EE7343A78A120C49C45172261F4711C0FC0338ADA281 +15469B936B41014ADEF72EC990E23EE0730EB85A6D85619A7C923FA3350FCD37 +6DACE732D9BC5467DC8330A1A5D2F7060ABB7E73A928FC75113866068FF95FD8 +6D6799FDD774578C6CD828A3ED6DD18A4932284DFB898FB21671F59EBC7D525A +ABFBBCA0DAC780777B6BA35BDB1C0B6964CEBA2BD7A98EFC832238B7485D0189 +BD2013396646CA52418D671642D576C9E2F228F32CA1E58A2A089557D9EC314C +C2F78469A52C072BFC65B40901748D35420B6517A73A255A2D098AA025626C66 +3598F533BACC6D27A18A9E824DB5BF6578B44159A32948B97C96F6AF09691ACA +E3658DA9CDFD89D78DE9B5E09CCCFE41628E39B75235150689CDAC6D32FAC958 +CA455631C8A34E21CF3AEA2CC668F0250DAD25BD3012478CA71F0BCD6468C54A +F1C896E4C148C513057A2B10D31D396D0E5A62F656C213EA0B58BAC39AD1B63D +F717162909F4753751875B46004663F07F906246912B923334DE536383C5FAC8 +A10A38094CC6EBEDEA4D175727995B36B3D4C1AAAB07A9532BAF0E0BFB349D6F +93687D2F7BBAE79737755DFC40F3C87FB3C0060DE09F138D26DE3B7F9C1429AF +F5626A2D9C2E6F461B58DCB7F3D59C5821B75D6686EF4690472ECCEB3A70D2F2 +DFBF9089912205163607ADA8E107C4C29E2A097B5B5D8438A81051D57F45AEDA +9A1CA666B7CFC8535A9F132DE2FD99296583ECED832CEA3D351E6FC987B594E6 +546876E63CEAF6928FC11000CDFA34CCC7D8BDFA3D285E3E1F5BB6452EF08055 +5BD95E479ADEECF421D5192BD864AFEA280085681DE3A36C7292F9A6E78210DB +0A89B12CF873B769ACE73EE3D4CB691580896E1851649F7F4902E0FBDF7C4867 +35384636DA7A3207D00F902C466BF6E89CFFC66C16985E2F831A75663ABA9C8B +D7F923B03D969D102BBE89EC9F7392CA28D009719D96B3F0B94B9B0D76BED15D +5E3C8201B7F0E03FAB23ECD685BFC43A50EDD32317B952108DE60B7F61E3AD09 +AA0AF1EA3183D2D872F1E2F353AEFF4883D1AD9D0681531456BA95604147BBE0 +878B38C8930D3D524FDDCD0C7FC40BF3CE0A591C61AACB1529733ACB0B8E0BE6 +380F5CC1D2E1AA682926115CD76E348409587B4F24D081BEB230B6A364ED765D +D2193E2143B1883BE67FA6BCFC91416FDF79BF230CE19697C28E5661E368C6BB +A8EFFB5CD3805E5C0DA787089B5EC4DC23DCE672B0B3E939CF3EC6FECB2CE15A +C496A16591CC96A5AA55EB8035DB4886ECFC0E281D184431B5C3B8B64A985BE3 +3A783BCE9D824630160735A6A13A68FB985E974F19163C5B3F6264E110918970 +A6B02F961AB1453AE10A5FC248F2E356EFCC247A8AC5CAC7EE0DA8C969710E26 +DFA6B7D4BE798017FBAF1D94A49ABBDD04F823C83AB1ADF6446D144A0ADC1CB0 +6B95C3B23E9486492A7FD96FC1E2C63D44BC3B527B0559358FCEF56D0496197D +135F69F113C41264FDBED2BC94E2DEE33B60C71BC2DA2F94C2F3F8F2357D5706 +02E6E0353219A68ACEEC6D78435F45C403AA3F0E0DC2E635A15EAA944BE84D4B +83F1B1777BD6684E782670A3F4C65ED63C7CC8F7EBB3CE092AA21D4F1E91AF1D +4D8037D83316A5FA87E3069FED76C6DC9BF11F5D53E32CE4DDBE458B6956E502 +63CE1BAB78E04107BFEECE499A6982419C +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBX9 +%!PS-AdobeFont-1.0: CMBX9 003.002 +%%Title: CMBX9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX9 known{/CMBX9 findfont dup/UniqueID known{dup +/UniqueID get 5000767 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX9 def +/FontBBox {-58 -250 1195 750 }readonly def +/UniqueID 5000767 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX9.) readonly def +/FullName (CMBX9) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 114 /r put +dup 115 /s put +dup 116 /t put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D4347EE3E5AFBE73BA +31023D79A7299D8F662042A8D8B6A7B4E86F48AE98EF848E83FFDE68E17A0832 +A181C126D15EC79861796F03957F5A51462C817DF752097718413D012D19C9D4 +423A5EAE1EFD4EA7A9651BAE6E45CC194BDCD03FF43F255E58EB5E50CA26BB98 +B8B11E21DBFF2BBB04D039E63C453EEDFCD9378F5E7AAE3A93E8691DED5865B2 +B78F540F8AA3224BE372B18904651D057608DE4DD729FAC398A80CB904410451 +90D66C44E943517A8F4969673B985D9D244FFC743E0AEE309EFD224F7029D37A +F6EDD96E2F88C9D071FF16EDF055955D31DEF10808B343E948BB4F6393D275D0 +44C4DABB75332DD716E8127283E8D70511F8EAF4D1A5F72E2F8503A2F964E5F9 +39304CC17ACCF531A8C0B6A9D58DBA6F24A4ECA62EECC939E8111E4BF79BDF77 +D656F9998F1EFD2ECE3E61CA526106662273D5AD3E74D08E9D4453569B359C2B +E2455F2136B4DB54ADDC3C0256EB7A11E1615AB9323ECCBB6EB48ACD469A2020 +A873E88B28AEAACAA01826C1C18120774FD5324DF9AD36FC256706DB24FEDF34 +0FCDF04B12ADB66876EC7AEC183A1EA8BABD38BADDCD0EBDE11A5A1BEADD0F7B +83585C3BA141A8B296872F712EC42C625DBEE9EBD2C414E57CC1378CAEFD00E8 +DB4B84F51967F2968329B8503C4B37A56F6136DA89167FE3AAA93257140FE94D +D96C7F85C6F82AE1596511ADFEFDEBC1B41B0395E66D2074B39B5565AD4687FC +89BB4BAFF0F7568D9EAF069CCBA2DFF61C59E2CB2F4274459792C5D097FDE6DE +0E40AAD8DD8F64C28D04EE50AB79EA7D3420CE42D39FA9080E9E046A4F22B5AE +AAA17FE750BFAF7BFF097E4A6E9362412C55E25767C311832C1C0C76005C733F +E046FCFD4CF49C6181C24BD299E90F20A0A0ADC868C11A8AB7F610186D0483A1 +B3BC4FAFFFE12FD746777209B4DCEF0E4ED15D90F19BF2FB2B56231FFDE5D40B +146E3FAEDDBAB365D88CED98629B9855AD6E57FB01BB82659BD320D248E5F7D7 +B584DD43E1F5DD2C91945DDB772E5A62AEB7080AF36A83D2BA8533E7E6FD287A +924F616F8090E9FFAA607A21F38718D668FBD6BA3434500BD01EDCEC00354F68 +E1D0E9A921DACFB83FB61C1A5C27D027CAB348C4B7E2781013B68CC5A2BC8703 +2809A49A0C2E9E004D56844EFAB4A8763B103CF7CFF980C9CF7F6BE28814CBDC +348E2486D9379DFFCC0E9329854D518B49B98F582972B0D1D18A3319EC00DDF2 +F64C2CD2DCDBA287B279F98D16ABD1D140246E8B66C759571981FE7402F14C94 +18394A4C426AEE4B0688D86D08B408763DA3537E5BA0D6A6796C316FDB0193E6 +77C6F257BEDDE17F2CA5E661F434964BAC9834BFF36F563637872FCDDE94CF22 +F076D1C2DF6357D8A26D305D52C9086CE36F49CD92ADFB4306705A0887407C9D +59B6BFDB82379111C9E33692BA9E2ED9782CE4334C6125933A2F210684642DF5 +3B129F955BADA1E86D6B80CE299FA0D1C0AED1AD61686AF1052A188881E2125C +98083BA8255B92B9CA0B48EB57F936790DEFA6E6947C0FF4083FEC296FF3034D +AD657C64F2675EED2B4EED1E88F0B1338762CB4C64C79F111CDE9777A000F65A +F9979943ED7C445815BB59052B91F0FEF7219E3DF27E1D5155B9C42B7BBB06EB +1815997FC3471CF963A15B1C5E4653C84236CC5BF55A31B94E394C635B95D847 +69E8134F4FFEAE836CD6AE71F58F48AA2F95BDB1E2CB89DEE590EFF3AB7097DF +AC185303E647628F5D87E0D82E6685DB467A0F8B7D3AB2B7F3F11BCC99BD48A6 +FA5D4D75698454CB74451B486CDA6B65547C0CBAA563EC3574364540AE7B11B8 +F9E86BFA655CDE88DE2E7D41851FD208649E9C011E04C78ED9209FD56E2447BC +E1AAA0A3D36F6406C60F6B19347CCB7D56A84D961E17E361F92C5542109D9BFC +FEA2FF9775230EABE3333EB25A40E29016E9A8255713AC8336B8F7DEB89FEFEF +4006DAAEA26C6BA1EF494AB99C2BC960D9E07981BABE909B5C121F2CAD48C938 +A36129D10D38AE8F5C64879F61138FA9F7479341F5C5DE86376B65A642B9622B +E58DBBFAFE07EEE1D11DE9DC34309572868586CD92D39FADB711883AA85210E5 +C82842EF225E55370FE0AC600A170687C60C8091B0625A1C5589186F3C7C1218 +B15B5CC3A5CDBA7085338D963D929A18A651EC7CC39B8500899DE9220A1BA363 +78698E414607C34E06E29AC5BCBAB98A70DC2BDE0FDDCCE22D4717EDA7D95397 +33420EDEC2F1D6E7072FEA85945378A6BE9C7F68DB4FDA6B5BBC0032B3C02519 +F4168C804B6A101AA60EF4FC40C2428AFEEF5A80F9B76D561C8A21B3633E13C5 +215A14D54B8A1E6143A9CA0B5794D20DF97C35B3C9E9A4673AC2123E7DD8E216 +044269B1D6AEEA46757F8D9AC5C8A92BDC1EF22EE0575C80CA7895722CDD2BA6 +F9A208E6BEE5319E63B3B3CA197D9739A4498AAAC9C7484D61418ED2BEBF63A7 +F5283A075D1DFD4B2702E1551A0D1A90DBBBEFB6A55B5F29C869763A856C4E61 +EEB3C8E14E3376B7D01A4E265C6C8056ED23931DCF669A0EC9427F74A147AD8E +82E172FA6C13DB1281651BF3D14163D963EFC7384BFC4B3B9274274DCEF647FD +D6DF0CC146BE8AA660D709526B394CE253369281FDB45AE071319E8FAE4EDF10 +2867A431E22779EE40D885E95AFBF62916D9900016805D004C0375D29130CA14 +F3E466AF350D1A5D181816EE1C4BC75DC09E4195DADA5AB09CE9EF2C4D5F7CEC +6C16BB6EC791E2870DB46B6B06DF421E7A2781D82A07D92316B553D068A1DF5A +8B19041F96ED637B932DE184F8B856FE1947F5FC8AE505F0E3953B325E0FD6FA +825EAD072AF06E258BD35607A1F082DFBC2BA5251DEDCAF68B4D03086CCF84BC +DF70BB8D2EEEE3E0EAEACC8440AA130273E5C7E78A15EEF66A9A1E0D5E022188 +0AFA50FA55C6C461C743E1845FED77378D639839F548D6827CF371AD3DFCE592 +B7F6E29FFEB6CB92B33E24E34875A5A92C08806F67E18AEAD86447A977890AE2 +30A452F33B609DE5B792D9CABF39A086C0936AECC081CBBC810B3EE1D35F9717 +260E76132661E3A8170759084AFAB04A6E773E9714A6D486E0BF46F336A7CDB5 +C325E28E747295CB0E8FFB289F4907BAEC213D4D0B495A246A3DC359B995E9C0 +C5322D750E13159B7242E4C4DD27932AAA130BC6B0400428B5E6F928CB8F7658 +EF02F7522779CDBB67722E09774C419489192FDAD3DF272C95BD9BD64DDF0BDE +999FC72607F52805DCCA5EC17150EEE38B866E3D5199E5A6CC262785EEB11D51 +80E79545DA191071487EF70C7FAC0CA345955F797912C1268924DD79D0FCA3BA +460F43E74975C04296E34423BD366A4EF7EE9463ECEF08F7E7BC8BEC570F812B +066383C2EF5375FB1504537D902818D63B30385421FF81AD92A1C153852B1427 +A39685A76DD636DC4ADCC53F2A78F795F48EFB23807E5751023FE324CB401281 +60F8A8DA779A245DBC26E73B61A1450F25AC276E1B5240578E85E1CDF5A784F7 +D4F5BAFA76F70300972E4B130C685189C4010B9035A5CBF0562EB3B387FD89F5 +C53A25D3E883B506E0B477389DA5CFA82CB157D8C30F287678B0F9A17F5A8704 +ACB5DC57D7CAD21A4EBA49248F277F929D3E49B17463EA5F31A4FC11B0836E34 +3A5FDDC6B9A45113590F114B99566D18C21464E7FC1D9AAA9B1133E5E8E2D14B +8E143E1E16595C42376694A83684E3B217A17F158DE89549ECCCB443701B520B +E20B972CA5EC6405C479C5054663D48A22D105AC98AF094340B5964D0C26D9CE +241D2706D3444C1405B2C9F7C912CDFC87EE8FBA01C0020D1AED1A6205A8A45F +8504B42431DB5409BA8AC472F2FCB4CE698F6DA92C4C8BF1293C2C998B771540 +3D933EB5E976B7D2252DAE9584E5C6864B29C3048EE159BCB7638CA956E07F81 +F76391380AAD2F1DC2DC201BAC657A1BC93F5569A5F612A4EB6B01F136F41B87 +E20D4DD6ABD7ACF1275FD80D9BBB87A45572979BDFEF59212F1F6D9423FEC976 +1228499D626A328569B4BA2755B1ACD20796398AEEC5F3C61122D52124996535 +D0813227F549FCF59C6182D6514A70F9E38565C8C98D5F797318FB531B5DA58E +EC60235B6F1D97CA5D495CF689C3F9B3260998ADA1204AC00135C7C72700DB00 +7C06798A46E897875BE619508DFA2201FDCF689E51C3D85342247B059C0DDA14 +766A31E3E25E792F090DF3EA0C45C3F64AFB918BDFF92FF0ADA2F71866CA190B +87B2FF90C872284652619F084E2259F044E2980101A62004AE9F4BBF675C5279 +BA3437ADDF2D552A033D2301A669EE8BBC840C0028275D077B8E9977D447B396 +F1D82608E030FA43511BA01C345078986B8C35B6C6990D018C2DD2CBC7774450 +D8482DBB262BB816E6A26A1FEB084FC2027C62D17790C80C65A9183F23BB2458 +34FDC5D566C1B667EE801D0521BBA520A15C0C923EDAD84AD6A83DB23806711B +0AC2631C15EB1D33C26F8D65852EC37A3479152557366929A63B753226059870 +45CE6403CA23FF95BCFB6F0C8DF8CAFCC0BF27C59414217CC6552F5945D9E6DA +AF83F4AB1917742F7502B069DE44A6ED3BEC966F59A84FAA2F8DE441C11FB122 +DEF1768D250C0CA5F2DDE6FC4E24FD3AE4386B91ED2A492A959BF7E4C0AABEAA +5BC2D933147A4A21FC5E5CF3B2AF5C0A768A8B79337FA3934A43E24F9F7DF24D +22C5BFE4DF1FD57289A6E1C9AA48D32D20F613AE94B4308E0D3BE4D1BC95B33E +A9911B82EFF461D295C5462EE2B12A3E40B89E0BC778FB76F8B847B6AA99E061 +3444A55D83FF839B926985B0F4E562D726FD99C5DC86DA24BA7AF38B93C90F51 +A937E7C35793010F351594465B39BA5276F223DD3CAE1868B969D8EC93AA50C1 +4C7E51D0D7F5E9F0EDBE1BE24BA5A977163BEC724D575749C56C4F39BD60F3AC +47B930C9E07A2D59642C9DE85EA6FAD1E7D8817812C049FDAEE148E8AB207B89 +B2324191F1A82A7C499E7BF09CF1299F0ECF55EB0A2A32C5BB89411B4AF2A401 +074718859CDC27C2FA78BC5269D5A38DBCAE55F6CB669DEED2C36E5B0D590504 +B6162391FACA9F20224E6AD24B86CCAC0048EC7A618B3263F82A317B3969F0FA +9D5EA4676B27F371785FFF6599B61A6D32E82DD9D511B04E03F14C95A4CA6CD9 +5B59A8A7BFB2AE32E9357C7766528E9F74BB8D0B9317F02EDACE2033B7918D6B +8616F1C1B3E113B0F77B0A1292E41F8353DB55EBD872290491AE1FBE95EC034F +DAC1394928930EE297693598D97EBD0720A0A7B4A5DF4EF4BE0E2E0968E64CB8 +167CA1B8C40A779023AB6F74E0F1626D8BFFA96EA09CA88524837B18DA6152A4 +3F0DC3C3958EFFF86B07581B416720FADFFC4AD35F1553A18944A6DB8FAB0AE0 +A8118C09DC8E905CA32904B44E0541FCC7EE555335E61108D8346B4EF697DE67 +7F67E1E4CF0EE2F6D89D10FF2D115C6F8163B8180378018F58C148EAD188E969 +C60B83C7B295F30614B93FF925BBB2974B0B9C68C2BBA6E973DBFB5500A574A4 +F7348BD31C735A1E57519990582D8F7D97F8B63D9DCD488DC569D5B392FF26FE +F06F9762956D64E9C258EB9B90733BAA8F1912F3B9AE88C6D14DB46B7131BCBB +D47CE60D9C63FE0B9620D03F615EEDAA3C76A7285F9897A0D476F35F5CC158D2 +D148CA1E5A96D16253B360F34336D476FABE9A434AAD5FCF65A27F48C5BC3519 +DCBC35DC1D324A270996B8DEC6D3833E76A434E05074C7E3FC8E5633D6B25B7D +69D9BF7039DE4E755A7E3BEC8A4E5929A98FE265E742B269666C75644E53E6A4 +C5AC907F7DEB319BC88CD1A7F29A0A4D43D471892A674D50C70BB6EFE5740F97 +50522F2EF056E208C0134EAF15DC9F85C7C06066782B715A5EBC22AD414A169D +86A2F606150B6F903D3AAAF44E75649DC410C3B8C845909BFC8235E573A2D291 +19440D724C960014917EC802414651E298160EA70FD54BE4EAA1A1007ABDA8B6 +085A89221C3DD5E9C759C19BAD6EFB91360CFDEE6C4876AC19B4BF67A38BBD5E +0BA20996BEFC1F8C427EBDD666B30DF5A2389F1F3BCA17132FEFFD3231570AD2 +61CB33381A0D2E2FDFF470FAC3A60E61E99C76A3F4A6BF32FD4B2B6DB6B27F2A +76A5C35E24E78F7DF28AE1B7D04A71097881CB67E060DE537C1A318B95964FAA +1455264E48DAC7689EF10905E381C569DD65825089EF325595388FA5BA6A1EA2 +E2536872DE92D46AF3BB3F1DD920FBAA4481034DF831FD15C01798AB04A73B50 +1461BA7298B2EAD460D6E645A9ED41EE0E0282C335AA716D7563AD7CFE2841B7 +0C782ED3F6D31871350A12A41AEFE21E9A03DF676671E4C953E51F801CBEE091 +BE0B7B413B7EA2479E2529DE9E49C03CBE8159DB1B28D2E290826B6D01B35DDD +083F85E9CAE378C1A3B7065280D9FFEB04A02B76F1F0E547328F005CBD39936A +5063812D1C958FD4EA6BE9FF87E5FAAD483055819D1DC39D31B8417B44F30B50 +EC95E26103A0DC2241B56DC62D424438A5FDBA8AD4D9B417F0DC31CD82DD772E +FEA23036A719927A4654876985FF4AC2D28A180969A76F3584D001A2EFAA2BB3 +7F0CC228CAD9A485F3FEE3E0F0059D3BD8484FB97593A6EF08F9D352E3860613 +2617ED6138ABE551DBC67F0151D0F9CD83A613C245E23FEE6FCC8858592AB43F +8E66FDC5A27F9312091478D102BF867B320431F7A6EA42EA763C51FF7E0E0FED +A6A830AC95600C837033968174A9406D0DFA72FD65ADF153E5CB3420CEC76A3B +43DA6743F24C6CFE0E9A7E78D540385B657CCB379BF5E238A07B836F907017D9 +C0CBA503FCF625536E27B77A262A0EA1C3DFAB015EC859FFE5BB26197A05F4F9 +87046F3AFD3387CF1B040DA7B7CFB1EE92816C7C172164CBAE3E9204559C2A74 +87E4A41AFB16E7789686047067947F41C82A26E3F343E7359804BFB3B7904F4A +12FBB7EA0E8C26801ACE0E9093D7E2C3E288F781E3E6A53B8C121625CEE7354F +B1A059AFE21AB4DD2B43A9DA710F2D811F63DC41699FCC43330DC7AB9CD10F00 +C959F73155E9D63EE7B20970C7AB1B9A8A51D0DA0ECDB917291FBD57CFAFD9F0 +E1636B9DEC48FA7FE5B225283546B01ACF3036F1B5F399688F1657E41A5F4EEC +2CB1324C136CFE6C6B92958597B952552EB7A8D58BA7773CF685FED451D89392 +C290D38D67FA7519ABD024B85D3002D8592C5D30B50726C7BD17577FDBA79E38 +3D99B3A08797696E593C0BEDC50706C986E6BD05AEF30108F4BA192E956D2942 +72F59E1A025FC31568C2EAA1D5942A479203EC01B37626F1EC334DC3C6527C06 +41162B68D66E7923911921E861FECF78F36E4BA60B4FB8554E83AB554054B2C5 +8C05D3FBA010846BC5B32E9ED62C6A0E8D92B8F3546CE0406A87634E2D96F5E1 +F007DA0161E75DA55FEC10F7564CD7CB9AA0A016438D082D9A9FD107CEFA7B27 +BA3C61B3A13D9A30E4BAD25B2FAE3ECE3FEBC9722B448E3AC5DD9FF784718F6D +DF58A8A7DA91086BD86AC776CAF3F4F2DBC2F0AA81600D53D2A0EB178568DD96 +1ED459E1CD3D897776901284DE5673813ABA0CA7ED342130B261727DBAE566E5 +F57FA86A7B4EE5F48F039FB95D318DC142E26022D7F85B34558E99078C5E6467 +FB2ECB21BCE1E271E22FFD2E71F203DE5D3BE3EE5DC01A9FA9D3E4D01C0F12D7 +D430BF07CD774516464C6FBD414FF6F0C22B9C02C7B4DC659BA3D7306AB4EA90 +12AD3D9EF3C73E567590ADB3C6D261F650E218E7A87DFD9185BD17E8FB9B8AF8 +5616C4309919470B2E01F294D6CF5A8D89BEE7B3B199C4D935EB8F12308C4610 +01A5E4EA5AC9E47B414B924B518F44461695BDBB493256D530C80A2A88A2177C +7389DB61382349231040253A36E9C91355A5F712201ECD1C786660F544C3116B +A0993F9C043DFFAD52BBAE21E69799BCD56EAC612B22742334E801FE3F6789D9 +E8B51FB66F3A3994BE700FAB60C8433504179D9329E6662652F1C6DE49CD8369 +9CAEAAE9C25FF0A986CD5B91A78A7B281FF724201841CA0C0D9D48D68AD9C991 +4A2B7D515CDE867B33DF058A239E5FFCDC44E20149C02C89C5B87B075FDFFEB3 +371700E036FA0A232D1B534C581C33583889251B9F3E32203D8FC328299D6093 +BA244223A74506D13E1CC9716F496D50AED48F058071D6AD036D571F32185338 +F2A6793724E8FB850E9A175C83CF701AD2876DF91DE0D9DA7C3D13B745367D96 +22E1B8C006DDADFFE4804F83FB3BCB48544D0091684C1BE9A4BD325AB959050F +2535F50F12B73DB7FFB418D7D6B2CAFCFD5BC761EAC675E0EBB8A23BF332794C +2D67F4974EDEF1EBCBC5FE26D62FD71DD749445960267DD18322626F84416B78 +AABA54E6DC8181CAC0ACBC66952C4E96507800FEED6D7604834A14D9499F5D7F +D93E31CC2152EFE43CD355D981F91D774689EA589E542F11297A430617BBC177 +2AF03ECEFD7151E6347343F6A12CCFF5F64FFBBAD48D8A806C6E563511C97581 +7D4BA510BA1B84B72FB495434C2C07DFB05F8BA0CB099FCE8AF1275AB983855E +3E61F8B818BD04B15533479FEDAF2AA4CF1A0F111834BAB2929A9E9B67335F5C +085B13726B55EB619D2474BB50B473629FD0ED9D4987C17A36CD0B3016F479D8 +EBEDCC7B626FD5F54EB70EEF08006C92D863F9623F50F35158EED0C209FB9D84 +45BDE42A5B3F1FCDDA88353965D55AF0072AA1278B3CCE16218C2B393263FBA8 +2C2210721E5B8A92633F6E19EA3CBBC54CB10EDEB70C4DC00502F8C7B72BCB5C +12EDA943F183B470D7878B1911583199701BEAD17F5C4A5481BC27597DC35EC9 +FFA8941D718692B0B33DEA798101DAA470BD4444CCE1FA857E6ACFFF8B860F75 +CFB76AC54708C02584E9FC8AF486A9D16D6175B87DDBCE0F270603A94B7612D2 +65181880FC339C100B1A7EA58DFF7C64FFF8FF24790DCBFFEDB4AAF033B93215 +8367CD9A9AF44E12A8EE4B7A2DCFC02C969AF8FAB72C1A1AAFD91C36173D7AED +B259DA94331F79CC0698CF95D14562D88E6BF6C99743307FDF5269B44DAA11AE +2C5505BA70F9616A855D5A75026005164BA2ADA6279CB3664A23B3C5A339CE52 +D11627E92365C39D4CC02D34F9340F4A97E6E186FA9C52E9D7086FCFED0C5319 +C97670CDA4461985A2553A7E845737E04268AEA9FD26BB8409D145E3ABDE88FF +2730DB4697F637CCC4F94F633F4B6F1D352D5E6E192932120AC10E0830B436DA +B474789F08F51E23D3DF5867A64D688F5A671E0D025FB5217B919B0C8E9154ED +43BB6B3ABE0AECE3A74A4AD8EEF54C1AD48F8B63525A05227A52E33D81C9D531 +9FF9821CAADCDA4157F8871CC1DFA9450E12B9996997BBD6A3A399C2C8461B38 +8D509B501C34B319E11FC9CC32116E9FBC913C73E80797C995ABA622E8D8BC16 +27AD703EE7676F06CC2BAA648EE5E0C04156DF21D18EF62A577CD2F9056A5A6C +B7EABD639EA8115274A88C57247A82CF44ECFF98BCF7C128452DFD54FF9590AF +464D0474E06F30DD2D82390805F4703740FB5BC6D0807F83F866A06302548ACE +CDCAE86F789563 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTT12 +%!PS-AdobeFont-1.0: CMTT12 003.002 +%%Title: CMTT12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT12 known{/CMTT12 findfont dup/UniqueID known{dup +/UniqueID get 5000833 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT12 def +/FontBBox {-1 -234 524 695 }readonly def +/UniqueID 5000833 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT12.) readonly def +/FullName (CMTT12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 45 /hyphen put +dup 46 /period put +dup 64 /at put +dup 98 /b put +dup 100 /d put +dup 101 /e put +dup 103 /g put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 118 /v put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D05DA0555DF933BB0 +7B42D264831116C06C79335D519461E7B0E870A6715E3D74A08D1BCF86E3BCC3 +A43FC6BAD1C68BD9D4AFCC06D845FD1F1E70D7A47F0BBCAECE8396E04591E5E3 +4797F646AFEEB7DB548183F0B74C9BB6BA2AA04E7F5950EC8AE97C741D4B2C5C +A8E7A8DF5A36A30B5A7592D95E1DBC63EF33C92FE459792CED29E2B8B6919251 +75EF62089BD7D44A6E1F9B62EC802FBE62B821DA1C3B2DDED45D27964AD29ED0 +9FB7868F3A8FEADA87A8E42D52C1EB7229D7C79B60BDA263F2BDB025AE14A507 +098FA274206BACFB4A0A7257D5998EE8F0FDCA79CB61DD1FC59DADD11E16BF02 +ECDFD706CDA1E72054D4EB55AF7BA9F19955886BC0BD6E0E3FE3769C94AF3581 +DFB2BCD67FE2892AF07E858A01280194D8DD7332B3D0A585C87FAB056C2EAA9B +5AD48D1C9F00CEF8EF0D1408DBE1C03D04B231D7B8D5D998FE0CD7EE19828EF2 +F988EBF6DDBFEE00F04A4A1F4E1A55DED7EF3AACEAB5005F1962C724A017C914 +2936E2E0DF26A55ACD7DD836C6035CBF07981C1BCE3615064F0540A1034C69B4 +E3908E76EF8925D486DF0B4A8E1F02D8AA99585A7C31847AB9382F83880C1C21 +C496AB2DF8E7BD4643B28B704B5F6B53429D3EE940A79135F5BF0396E5B46F23 +42AF406C26D12BEA7A41F332AEB75DF43C15334CF4651A99F602036946B1B91D +4BB0D2E51C20216D892C8173241AC8FD15A37C3CDD8AB4FB67D8565AFA61C068 +95E3D6E46D7C09BBD09428207D506AD43C693F3C3D787F6A5C39084AE45E81C9 +830900DB50DAD10A17E118FB5E9680B5194716A788FF7514A1167DD1A305FBE3 +FC1F39A39F5613D50934419B95A4A2FE1B6C18912CECB86726926F6B77B5C3AF +F38F85F974A2D2145BE010EBB4A390B842BC222AD4A0B7FDD882668C04C51F19 +13FF91E7CFA0A0F4E99A1944B272E0291BBF3F9ADFCF3F625B87377AFEBD9F11 +6385726E908BAB7D1357504048C0F5B26251A1FA52F08BAE1D64B9FC32A684AE +896F3DD0AAE9624050D4DFDA25E581FB2630E8840AC5322D38B92F3E77B55CE2 +91ACB8321BE53A2C7D274D63CF0C68AC833BAF4B22B26EFC197D4A893A5AE492 +660D995DA9294C16BED1113CBCC18AFCB5968175EE2FB374B1AA261F22CD75F6 +6E7295A254FEFC41A66EA6833A6A4EE0E75EF6B6FAF292DC5D2AFB61D5203DB5 +4BAEAABAF39E9F98B45F22F2E37F337A7BA412807A31B4A5A4E1627BAA964B77 +6AA397D368985045244ACE969799A9489CCA8FEFCF2EAF262ECE08BBD9573C79 +2785F1004C34F4D728E9E820B4133FD5F823B067F6686C82BCD35123E4831E38 +CDD5ADB098BC3F1B4162F45B11ED39CFB65DB1A10646D0B9FB5BBE475031B2AC +9E0769CB063B82D1232E24CAA86D9D5DBB9737B1E69608106D34CFEE3FFB4213 +5DBFB88BF9012F430D55CF8D510FAE1524FB065D71F9781548B302CFE791BD03 +3057F5089784DB541D8D299C5CDF6423AFFEE19BC2C9114E0D85ABE928884624 +5E75A98EE2F7A8F5E99A7E943C255A8388A6E02BE7EA7C091CCAF8A574D4BCBF +A55C5A52F94E0E553A03AE4434AA09AB5859ECC86C49BFCF99947E1E073A2BCC +E2787821CB17F37691E51E830A2B3094386555159AE9BDA2590FF0802F1ACD5C +8F11D85F179C02A33F45A06DF0063B47B2442D8A9A975937862F3A0FE3A5E339 +453CC574D7315AD20D2647A5C7A190C632F782943C22A8778DE08B591A972A46 +CF62A4FCD5A2D803AD8308D2894B8837D26A3E560C98BECB5A1CBD336AC82648 +F146E894011D0CDD1A2766A07FC3EE5F382171805DC30FC1E12956669E713081 +84D255B9280CC54C75AD3DAB76217343E434AD38B7A3121C5FE630BEA26DE2FD +83DC2539BFE46B5571EA73E3F6643B90F1C8D01905CCF7D311843B5E9E36A8ED +761C81A06B5A31E86F4460F5FD6EC3754FF3D11BD0975A23B764E4B51D0C7048 +31F482420FE8C1CFA4C158395C5CE454A8ED558DB7A11B5C7AEFCF65BEEAFCD7 +9B0F98719CB8FE611A924C28E32FB3BFF145BD613C74E4438F8AF37B3AB1401A +1E122B8D9B9AF5CB0ABBCDB921D4A603AF221F01DD69D7C80545264B3C45FCDA +25759B22BD1E2E22A3BA6A1C30D9D49E11B3BAA8F82DA49D5473914CB806F263 +03E63D18EFF6D0872F3BF6D573CF64D692E69394A207122F8E7FF2D0AE26FA1E +9B24B6ED94D8FC58B8D3B3C5C6E68B71A48BCBF15A778CC208D4D5EDF68A6E99 +EE8AA6DC84CCB00037BFD8B83F00350EC1F03F8B0EB4B3C0B9074733436D1A34 +E35CD79E927BCD0CFFA629D144F71A12DB5974FFB6B0E0DA7B6FD204F9C3548E +AB081BFD6941AAFCEF045AA82252C3E903C56B1CA12D46B0959479B4C80D346D +1110BFE7F58BE59B547EF4F8BDEA3B25043E7B7FE30D31721BA9FC316036074E +96F1F8358D29438385828F22A6B8294CF98C51E749E01079A5DF6DA3BA79D1F5 +DBE0E751395D6B471606D2DC3FB8FF67E9D7E60A45F2518897186CE1463929AF +1D97C372A0257B04DD8A63524DE5812951E51DF6D5500DFEC3A0B6EEF591A9B5 +19A071089E55F7EBFD339EF3AEF402DB63EA1208BF1BD9E2029A3B0ED74530FF +E1029CFBABDE8EB84BB4BB8BC77B7E303DC64348D7D6E6D195EC75A86042B31D +B7951325CDB85694AA8BB60FB92C60205CE758F2449DB29A73BBFAE2FADE1A36 +2608837AC1D0EA690CC5F0ECCCB745B68D25A1D968424B84B4D7430993E3447C +926E20EF91A80D48C4113BF7F732AD8DC1155162DF98F6B18AB911E33506D543 +866A06BC3B46B0231E5F8E701794F6C4D22C5553421D391454AF46A2E57E7075 +18D3082BDFD0B1FE8F616A0E5E3B6B7D26AE83D6255A244553984FB963DCE328 +83E0AAD3A215685A822732FCB67EC329BB2D4EAEBEC5AC2C451DD702CDC27FDC +97A92428EB3FBCB26A4E68EF36B8D6F9E2E1AB6524D806B25D33ACD6BF0BB338 +48115172DBFDB7AE6A62FB87F8790A1788FA96FE9234C92DFE646BE3D4C3D8F9 +6F03834D679B32D8B05551EB1F135BEDEB3297493CFEBF6CDB879D9ADDC8867D +67024403B04E3388741C059074390E6F0781823F9875696CB64D84F440815036 +DB2BA2A9996E5277AEC7686E7239AEAAA21590FD5D1BB8CFC587F8E71AA2D121 +12ACA259465CE17000427203489F266FB09562B55464D3A6CF9F3356D49ACA5D +031C0461261FB773A976C514961C773F77B8F703C6AE6C88173758DD73690623 +16CC78F644237CAB3726CD9ED398095465F29097327B8D0F4E50944647A96A1F +D7F1BFCA9A1596D2F68C042F470B66D73C2C92A174FCF1A9B2DB236AB4A76EEF +70B42F3B65B38775B589A36B55B0ADDF332662F0BAE5360D13A2212541ACD822 +2318DD57D048363BAA7DAFC3AC3BB5A60105C2A2141F1695D7469A84909F3A8C +615F3DF7B02FBF1E3A3A5426FE68BBA888FC073F6C2FE7727547825EFBCAEF7B +9050DCA6FBBCCCA91E538F0093FD5CBDBA8811E79C2BD2185DF8D17CF7CE6F3A +90B7C680DF106F5ABECEF7811682D79C9578B092BE3820D6045377F003BF5AD8 +5D8BB13A61E75D8B20D201522FC3BA1ACD67106246926594AD9E1914F0EE4557 +4008A3286A2792D5E6D3E67BB6AC948295EB0064D8DC68CDAB0583527632CA05 +D6EA8A92A23B7AB6DB4EF7EB951CA73344AC37CA00CC119F55DB4E2FD0DD9546 +35FA1622015C7E7B1B3BDB035A49F160ED0F7DC915E37BB877598C3A9C84F60B +5DB3B42B85D24549D34CF85B58C11900B9B8C7CA6188D2697B5AD4FF8B75862F +937F3485D032A438A36464F5D1B7F74053A435C034C41AC5B58641A7BDF99428 +2F3111A7BFAE57D9A47D3A4E74C216B5AE744B6F8F653687CC6FE421867B5011 +EA710E28E31A0F9C5B6E230772CBCDFC578B62EEA3F44698AC3DA27B48D7E3D2 +C81310DB70F7ABC2F245F15EAEF6830D134CB908649A0AA927A0A59116948B1C +5DC93D49256079FA692DBD8642933AEB115509D0CB976964CEDE5676AC47D1AC +4D50B1FF54DFE905871DD272AF22BD3EB27E47E248CE9D9609D0C1EB98B18C18 +1284757D1090682A326CF56E264FDF5053E658D85C6A33B6920478AF331CA90A +2630CF4BCE9B45F192C23FBA88A620DE298C7F22C46BD3552D7645B97A598605 +555ED30E464A2434C389FE078B70B1E51E938FEBD2AEAB5EB2429CEE119AFD50 +041078B9F352A22E270593D50A7C1599E62D4F6510978622A2FD9619B1681D7C +DC36C65C7F67A6417DF0467F371C2F8D93017B48A93F2388A355618BC26030F6 +A9892136D3CE5E0773FC6F3E80BF5742A423F6E4CD452F90F3BC3BD57BA0F5AB +00D833997A68A932C4DD0FAAE6228BF64E1BE565A0AC6AC05F3860AA9D6C08FC +C9333FCA56B91304E70B01623EAE23103EE845446289735651F4F392BECAF7C1 +B4DB4B9BAE1D9001D51DC2C29CB0C7B9159EF69C5C510EB06A0DA3F4D6963D70 +BBBA90CFECB9EE0B0739617AF3052270465AA9D376C507461322D6536482521E +4AFF6BDE7F8A52087F903BE7C6B863C4801766FB57493CC63B76AA53F8BC6488 +43E1CBC68CED44FD45BDAF6067C3CCCC6D2F2DD76BB211976E04B58183775936 +B7E4F9105A597E487AEF1C1127512198DFE01E2D8637477FD8B7D6F71E5BF480 +50F00F624B93A053B6E36F0BABB04C50B68BC5EFE96D2E1D +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR12 +%!PS-AdobeFont-1.0: CMR12 003.002 +%%Title: CMR12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR12 known{/CMR12 findfont dup/UniqueID known{dup +/UniqueID get 5000794 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR12 def +/FontBBox {-34 -251 988 750 }readonly def +/UniqueID 5000794 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR12.) readonly def +/FullName (CMR12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 44 /comma put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 65 /A put +dup 66 /B put +dup 76 /L put +dup 77 /M put +dup 86 /V put +dup 97 /a put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 118 /v put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9C535A5E57376651 +F6823308463DC4E0339C78699AC82C769542FD3B410E236AF8AF68CF124D9224 +FD6EE92A38075CAAF82447C7AF41EF96F3ADF62F76FB425BEDE4C4124E7B1E0B +8BF254D91912D3A99557F5427907A56514C5A3EB961B94112077FE9417B70DA0 +B2E1C1FA3E1D6F01D11F640CF848E45BE3E205258E64FE36AFBD4DF4E93F6B1A +966C8E7FBE2CC8FF43C1F67BF6C361678B5E90F4BA524FE8A4CAD6AB28183E6E +CA6C9636E884845105595A2E40CDBE8D4807A81AF4DB77B31873FEB221BCADD4 +2C4669459704CB58A7BC230FC59F867EEADE660E49AEEDEEB042BA9A7DD8193E +56C3A36A1F639F7EA512EE4BC6992F52C2FC82A890EFDA730105B0AF7B819295 +EE00B48F64C2B5BCB275B1DD62F289CDAD4AD9B7EF057684642FA6FA6322C277 +E779CAC36D78F7779CB6DE12638B3C65B70C6B5F8A8C6421A379719B8DD44973 +5F52856A4A29B2ED37F2B1FBE6EF4B79B7C0CD6395C756A00FACD763C235914F +847D1D99831023CE1FD89EFEC83AA7E313131C0C197248605EF5BA773D0A4000 +72F607551A8EA6F0FF19441ACA179177D1FF7B423FEBDF58B0C19CAE3C10EEF6 +3538D8FC4762B77C5AA023A8186C40D0365A4487DC3564265B3DF908572DEAA2 +57E29EC669DD72974F806EFF5ECAFA9ADF1F9D2A63087FB7BBD100F0F81C6FFB +B1EA1C9DD46548AEDD147EE64B1B4894972DAE1DC3E8569D6A3CEF9F9E46DEB7 +547E10BB2959D374A33E47C58F1B20419920AB485F166062FCCC08EB5CC9AC88 +F388F0C0155027B727729488E44CCABB7064A1432E179189C4627453C5231535 +47D1F2B8BA43069696830CBB6E5F9A135CF22D3D1FE490A3A63C088EA32FF444 +24A2427BBA63033DFE2E06DF8CE67949B6AB02F26335A376B57376814D2A7DE7 +64A4347577EBE9A6E33DD2FC214A09C6D889C8FFBF1D567032548851B8F97204 +49E215CC7D222F593E1EF1439ED60AD922D41E0E9EFB5CA48F2FEFF75AC5FEE7 +FB6676D8B8D4DB6885FBE8B61B586313E4DAFB09D94CEDC0507E93000104F3DD +F83865A2C6F6A7DA8562BF86F5DB233CC9B53391273A1462E40876A8AC2B098A +DBADD5A160DEAC061F86A5FCCAB495EF8A9D121AF07928EAFD56F618E4EAEA97 +CF89A3AFD406FC9DE1E9769C1E1EB83BB883786BC075EB5DA2692CD59C4DD7C1 +7FD2FF9B18AC740A390C1DB38670DEB18C67721A1DCD502FE7368F47DB4281D5 +459B3F020595FA3B10544AAE9EF786A0645FB7C9BB29D091E1432CD878A05918 +1665643005BFD9A4B0FFD347ADC84CE22D6F9AD4EDC05E8C7179DCB360AB57D1 +6ABCD200A4B4AD56825DC345984D9A3DE11CDA5E9EC1E5006EE4181E4EFE0846 +67D8C27BEE8F84A1E01947E945BBE988702DEB2240C4BED952E433E5305484E5 +71965D3DE95C4115FF78CE9EC18E323C599727C8B93CDFBCD1CCA780DB8C81ED +C4B5E596E1603624308972FFAE9A57B0EDB51FDDB6E23EDE2946F61BEB241345 +2A192D8CAD53E823D687F9C64A70A4B4B703291FA6317C051DC6A44BCCE0288E +3839D726A8F2E39BFF429865E95C726E808E02CD06F36C1CC9AC77999F8E28BF +CE9D74B699CA982479E9D0DD98EAB24D29C981EF0349721D6819549A39413801 +F80182D567EE316E2F0AB208068E15693E4C399A381BF9BBA625E597E6E109B8 +16F3A84C8EC92F2ADE288821092A421A8D3B907048FE947230810F0777EE2542 +29A3485223FEA079B359034F70464DAD2F0E420271A4E0CCF57A0ABBC20AB327 +0CA71B292126D395E0D083B19BEC6B48A9DE2BF470C3D01A8C3F52075BD4BE02 +A0C518355814478202FD4762EC542F8E7B9B1F7824F0554660CEB83E35635E1E +DF0D03C94C903ECB36B4948ED98B6324E0094EB1DF70863142D4ED3A932D7346 +39D69F8F044B6084482D7748C27328AFD24A3A70B99D1F7D32CB984488672254 +28B6A9E9DCA2C9FF6A1B311D72413404B3CE5428BDB7FF3C36357D7975184F56 +FA6B32AD54C37D0AF7576663AB1397B80D4E998F0B4C4F6D90B483029EF2EDA9 +D4C4204C1546EFF3100629453EAE01918D09FE104E626ABA38646F17B6A94CE8 +116BC7A8D9C319434CA5B830859B4164DFADF1D7C3ECA5C78D8DEA930EA4AC3F +59DBBF3148C91A2E807FB934E3439D4F67C6DBBA9972854E6E3688E1E0A34B74 +482217CFE031CD7B5DFEF727C3EF8DAEEEDA08F4C90289E62FB2AF2357EB2E45 +4BC547980FD479101FFEEE477AAC6268DD659E8DD9E244676FD3C6909713B71A +323B211E571BE711D103FA23B5B9AF077D84E2D20FEE805E81D20C03501F0F17 +C3B081946CD0FD577F00E50B76CC37CFA97A61B89C25DD43911B28857284BEBB +5BEC61FFE3A14C64BC5425A7A82326617F6F1FA4FEAE56071C9F559F91568179 +46369B394A5CE96FB7420FF8AB7C61CB83492FA5AE4A4B0799578594C9EA67E1 +E54498AA5CD6ABA34AD3417F04F5D8D664A7EB39D41E2D17643CAEBBCCD9C38C +C5C9541641A09335EFBCE0D276A54253EFD68141807A66F1DFEB4BEA5889FFA3 +4D20BD52012206A9F8D3E0F6AFC03FDBBDF3E51506EC6336E249CEFB571AB84C +BDF8E471E3795C04E38A5306BA6D450D72E50910D1AC385BB06CCD4B8E433A32 +5A4B7FACC976BB31FCAA1E62DB2C4FE06DDDE7367930E336B49F47DAD91C8735 +9A35D80CA2E117E86B52E41E9278046ED923454989E48610ACB3B1663F197117 +52659A9D7BFA561C7ACE0771794FC778675F83C5EDCB132AF124C7E6540A140B +E0A268836C73A3C746DC964E482E63C56C0D396515283970FBFF182F9F684FE2 +655FD8F5D057D22246DDC3FD11B77552DB4D90ADBAB77BBB1FB1592129DE0AEC +F822D7D36E52BCDABBD560B403A5C56C5E1BE789C3AC049318C7FAC5E5861E42 +FD66C3C0F46361078D7E036281682BCE9BBF77983C93ECBBEBA9B359769CA442 +87FCA1B98F4EEC4935CC93B08AAADDF355C99816453587310F08C50B9BA3D107 +5388A1F3AED2AE32BEFADF0285DA90436D1D7EA85D7B9B6DF2AC4B778CFADFF6 +6EEE54D1A1C5DEE3CCA7EFF57A7C2931933CEED90CA26DAAB45E4388EC4DC366 +B9E88518D6CF094861D2A59282044CC06E63EFB390A6DF4BA5EAC7CE39E1EE03 +3D84099F5BE96612789AF3EDED07266EF10A0FC23EA1EA97040B6BAA63138B1A +A9CB8F5DED781260962D7618EDB200C3ED976033E8967A8CC676E9C11F74BE34 +343A7ECE7EE97E8F76F7E95517A6D6163527406EF5A669535CB2BF4031F29046 +BB2D0FFFB47A576F5EAB1D00A582965C56F28C00B3BB7BE2CC8D8391F789070D +775EB775437F0CD53DA840BB3575104B63E4B0BF14E3F14B320EDEF65FD4CAF5 +8596DA491BBCF3153DED3B718F833D106432DF8DB8B8E6B34D5308C9010A5DD0 +7E0E53260BB84BAB3EA748E8D72F75901604F80F4416920D69B4B983DCDB72C5 +E9928F01A4A85954FD74578AE336C782CDF81D1EB7EBCEBFBAE7ED8AB4862584 +397928F502D65139CCD582CF0723C5262EE54B9D2B8C39614652A8A90E1C3B65 +7D26B99DA298FE4B9A7E98848F619C9BB4FF9FD215B72F99506F06355B332689 +37D80AFD9F9ACD8172CDC51FCD3A759ACA0F7D4EBB07840840EE42C2D5B8B257 +2C6DB3A7657B75F2F0B9730A20112745703E2D0FE709436CA6A5F36F59E64D9E +37C0A23D6D289E1AC1DA273872F5FC5C3DA2B127F078A4D7AB3FD7E124455817 +DDC796D54EF26A1FBFD539D3A21B86DD4477DA49213259ABB3FF241424F2BE5F +89151E02FF87E0BEE26E85C0E518D8BE7CC9214B8E9A9EA1DBB49C6C212CCF08 +90C0F23E9858947EE344062EBD9C574979087439975EAD4E85CD7BFAD3C91CF1 +EFF577843AF1427D06CB2F3BB519ED1591974218C43F0D2038665F9E2E3960B7 +FE68CD3CB2DB6B36C7997C6B21EC11CF1DE049541001FFF26D14C255E3AE862C +5A5701292FD2FB3D04523D6E2F3547923BB117718DFB6E6520F0D0B5450C695B +8C9242CC8671B7284CB2E1E9EB097A3DB1B4D5E8EEB93B4DC7E38C0A10474665 +54DDCBAF079B92EA494F6FA75A84C5AAFE280284D0823D7C22249A21044BB0E6 +4062074ECD17B62E03EDF4945A294BFEFB51F5FD870D9D7230FC91B83C1D85A8 +86CDDF326FC90E04362145D6E8630C50594484FB829DA18F5C078F2EE67D2F2B +08DFF39AE2E8C9741FA989AE494C7166F122D2C5F71B97C973B7CE8500E9F87E +D59C30F2E99CC4D34713DAB680598F41955FBDC26A14CF1E73D6BD6B9AAC8D3B +B998F2D0D647356CD236DEAD6561389ED3A6746221B0CF15D6648412B35A6B54 +6A0EF5BBB34AA376D9BAF025BFC650C1B74333CE85413D0EBB2F4D082A26A5BC +3C0A25D2B12CB159F140E00E262F1CFECCB2C802FF94CD34DA0CE9B4B3830FB1 +DA85B9B670D5169928990A2E9CC869891CA2FFAD9774E6B92549644DAA5FE00C +A5BE4F5FF91A0B6D2FD8F96121D766391EC4ED3E73DADD476B7DAE1A50AFCD98 +DB7E27E44D30416088D9BC07D4661D9ECEC0806830ABF14CE55AA3CA2DF66E8E +748B8ED46466F1EEB072AC0674FE6FED231E0DDA59ED7C42BC05EF00E176050A +C4834D893DE42474EA20DB1E25059E84BD137EF65A02CC295B0FFDE4CDE95879 +0FE88BDF2519ABAE7F8CC3E6386ED35E04A14F1E3861922645E3A3F43B48A5AA +1999A5EFE192515FCC625C829FF5A7B337AA422F5E920545F9BB269C869A821D +6C4C26DD2AE746EF0F0B4C1E7E9871ADB5270E1CA9BE28225F7A0370D4C52422 +E25263EE101C4EC1C7811B05AD42F364844A56BB91EE72FC8ED53CC6954D2BD6 +F945D739BE4C61E36143CE890FC0CBF2F610018D678ECF7CEAB18FF5A0E48F76 +FDE2463D40A99380D679B3B76D39C664F4992D23E5988B0D1AF33DFB04894016 +E852EFD1EFFE586153C0F31ADBDBDE3F73FB49C5EE64D0D02E1504248FAFAC3D +903FD44679BB09C30288139B41B1E90A10139CA3172677250B16535A1F3E5E4B +6F4264DE58896E66051FC677030A121C5A285C47B6129CB5A3998830CE070D21 +2F093FC1B44089F603A21F45F60960F134A47226874C737EF6C085634B0A4A66 +139420501351F737A73F39D960EC38420BE46E5B09D298E7C16B8E32F01507D4 +0141FC52DA1DE718D634AD9C8B00E46EEEF84356759324D2B9A3473C5DA38DE9 +E30182B87F91B6A7F7BACF29A93B44C879CCDEDB063F9D2E51E0F1FC9F018FE1 +2433D85AF24B55DE3A61C4D0A2DA4FDE933F5F6FDF17E9FA9932BFC46E2D71F6 +585EEF5B2E4E89E797A24B799D7F064DD1A817A53677FC9EB8CC3E7F93FE50E8 +D50E3191052943FD6C98B573BDD1F6D70349E1F8011599E3F8FDF1D6E80A710E +51E434E85801617C6FD8ACCF1B77B4BFCCDD35CB4C0367F4EB4D8D9DE8284D5E +B4F43E2F8320C2C5A9AE90ECBA7E65D377E91DB69FEF27069235366AD3E126C3 +A73CE97F4C90BA00D206FA012C327FD69EE59AF4470A315B1799CDC0539BF90E +512C8FC3BEFE4D1B01D969EA9E3FEF976CD6E0FA4C9ECEC955B265CFD58AB8E5 +F7371E479279EE14B689269205C5B506940606CF3E24A1E7EFF3CA96ED30AD6D +E243DE57690C3D69A401AB3315FA49E4BF4ACD4DD1CA39272533E82EFDD508E5 +1C2CD286CCC5DE1202C7C7F654521750632EB637F918667E2233A43DF75239EB +F28F3129EB5DEE2FC5BFC331FF709B0FE9B327CBBCE98BCA2C861C6547E50407 +1218CEBE6EB5F9BABA4F2E11BCC6FB553A544A567B459E06375102C69F8018DF +BA6A227CFB13E2D74E6A521E01B74F2963E9A0A1C9FD87A88EE6356E3BFABF55 +BABC751D2BF85E6712E8EF57914920775906662E4BA68FFA21AD422D34E15578 +43CA0568B431101A1194F8AB1EF25E886BFCDFC10F4A5EBD9530816548BC298E +AE4A0B6B52B8B59C644C409B4191B6F4203F52314F2675F02AEB65A72C66E92A +2AC703E15D8D381522C0AC30C165B822A9B8D18CAECC094EDE020756018DCF51 +D0701B507519C4270B70D8CE94B436F640C15872F9B5B77892AA3D110E4D6A65 +8F0815C61A5127BA25815378683F46E69E54A391A8675977E7DF9C2D4E6FA991 +9F029E50CC2F266B31EE9F9F24452D5838905F330CB7E416B8AF836C5AC26AB8 +BE2ECC6EA4BDAA08C30995709E225C21D35DB6369167602CBFA8DB2697635925 +969002CD1BEE745DA2E56C17EF3F0C05E3847147F86963C37A221C8827195A8A +3D38993E4939AC915BFD9A212F5FF3F826F742B952018986F9FBDDB69C3AC65A +845F7F33C55D4BE60A1817EBBCA7E1538E8087E1BD5C083A320D52953BE65F31 +E8339C612A510B59CE48D2EF7061560C4AD258E7DC59694493E3AC878246F37D +6DE89253EBC8830C6B209E818213C4AC4CF1F391AD91D57BE76FB0E2924A1407 +E4A949C905E44F54EAED6419F13D59942C8079336A172D4758BEB5D3E786FB93 +3CBE4FD2EB53E4E1DAC34E821EB30FD44BC6CB4298242C38F848FC23AEDC9733 +52BE6F32E31E25F18301370F8936810B0566B664B042C7AE0D78ACF0A87E5BF6 +F9B66E358168B2CEA30DCD940074F3ADB793CDB136161FE2522905E87B8E463F +95D4DAB7E14A3DF7BCCE8141C5A08FCFA2BCE9F2D1B05A7642E75877EB840149 +AAB007CD239AE47AD115929427717F219B0A8907F0EC79ADE1B901DAEE87A2F8 +39361DAB43DFFF69650F601B24061A9353CFD619FF9626F63275FD09A5B13BB4 +8B3379EC4D147C41197E8387FC04DA7BE409524CEF74EA91DC066808A7FD0EF3 +957A44E2503EDA67B1C61827479486134E922E560A673BF314D601C66003CD07 +55569085AFC8428389A140EB976CCFB8F29E27587E46C413ABE2EFB51AF5913F +53EEB74063162E0BA1E24CEDCA320377D3E11BD374F0B44E132A5C35835B6E2C +D32948EF9DC7931D104C1385709DA882DED6458319F21C2329938396BC074106 +CB9CFB9E0A915F8DBC8435F386917AC87A2BA45D857EC30ECA66FB4044F5439E +CDD556B82A0E43418D179AD883C85AC276E1190CEC242E3E1D86E725ADC39E46 +BB6C47FE9E17E29F8EA81E870302A00D91434F3B7A05F243176E6EF1082541A1 +B9052191EE5C2B8E94A2E02DB65FC769653CA8D1C07A13CB853544AEC7FC35C5 +218DE3128AA31952DCE19C55C23FD69BCEA2C661F57B11B8F9E86BFA718D1521 +3346E78C701A5E51923D6D937E62FDE3669B214D240538F069A100A542720A86 +31DE88116DE775F7ACC2A49EA6C02A24408271A846990669F2AF60AFAB4C16F9 +7F4E88E917F0FFDCE68F22998AC0AF2A60A73258C3A4BBC42A2F918123128195 +196D0E150D79AC3CF4628503D1F3FC528265ED8324E56849A47B3B07C29940B9 +1BC270071E221D355EA51E9942D3BD7F99816304FFFC8F5B036C953B38759341 +ED5D7B9C8E6B70C409DD8362FD291201CC385E4A98D73E8518A4C0E544152563 +82032FBD2FCB6E403D34B85ED4053A8CB619BDD4DE001F4C3007B1F317579651 +E6D6662189CC2D95AB85D7473F65C5D7B4AC63B0FE928F3400035D5A9D443D0D +F3532B99F3AC26CB25EA3CD64C341159061E02EFBC7C033C05CD919BBD827A6A +BFCF3BD739E32E7FE909AEE068D50FAC33605FFF98C7D0115FB860178FD03DB9 +7985B78E0AC21F2EA065FA841F5928FB85163B2E2D8F850DC7EE313912C45C28 +2783F6762C67882EFEDDC7E7567F91C16B16FD8D5A1ABF35B5586307701B91AD +54984598F2AD46FEE3D68A2731BEAA754C8E730FE0E84952EF77930E4118F8D7 +2F3AD7552BBA90D0A74404B5696A3929AF269129EAD44ED1A5D8655F916C8FC8 +33AAA8AC9CA8A2EB60D299F131D8019FEB315F4D41CB2DA11021C368BA40F4B9 +E6ACF209E0F7C86DC471D27A295B9EC17A04E4A958BFFBB621FA6AD0FFB0971C +929ECA6401D0DF54743E42C64F967176CCBE7D344CA7464B03E183EF3E26A286 +C5C6BD62ED1C25BF646DA36F0314F29457C2FFCB2E9162D7EA8570C54F7822FB +23E5DFCD5F486A98A79626BD03193E683A5C63F6947CCF09D6C87B7FA840C1D9 +CF84DD04DFCAFE1E6319363F4C54E6076E6AF8D8C3C9128EA5CED6F0E7EBCA9C +2A32BB23DD7E279A0DCA3EEA89F53C8223E86E6442E9D50A49E64910A6493446 +AEE72A74525C5B39B22256359751142DB818A0D1DD94B941F215FD6583BA33C4 +B5E1D0B7FA670CE12C3727640DCF012E9C9A73D4B20E4199888899F5BAE37376 +58A536DD12080D7BBABCC5867679A77EB6DF0260F4C938DC6ECA9EBA37C61E65 +49CA66A514D4D2BE46CB742FC59269EA00570FD53675AD958A9BCDA1E3BF603D +CFA3E66B18DB6FC5E3D7036DDDF0E1FFFC5529EA37D9D79D7746FC616E2FD069 +3B24D8DDDE5F0D3641157D476B0D6E3B31E3EC293154E97F3782E00C16E048D3 +3A8C71AA63F0908630F65EA5D6637DE84A4DF324ABA031CC5EE5129123C47C90 +32E99B7B87EA88FC09EF79551A91ED7399215F661895ECC7C6C24ABC4DFE04E5 +34109DFEDA8C106D9F7C4A6E55833951B8165F84E32FF2F661B8F9CEFE44E5AE +258D5893CFC31908E757B01BAC22A61A2BF34C1C1FBB9B168D3DFF13AA5995F0 +1843FA30C1DC4617CE087090197765D763BA62BA7F58753119450CF9056011CF +0DBA8297DEA16AACF98EE4890C521E5B5BACFBEDBA29ED7060F74BB73DB5E6C0 +82346567EFC8DFA4EA605AFE8C5FD2ACBD97985B42A37D860C70B64676C232D2 +67DADF1A9D4FA01A35BFDA989781BCFDC3D7061E14C3F4E173636338B61D156C +B226A6926DE326001B5CE1DB0A2D8038ECB0E753145828F1E8CE02ECC859E211 +86D5C66E3846811EFD43CA6FF55F1288AE18EC6307541AED3D2C913AF9405297 +14FA1BC41ED91FAD38E14FBB20EB0A7712FC808476B13C27077057630FB7258A +E0E101D58C20D3B45A7788F0D2A21DD10163C0304762A700EE46CCFFB29B1EFD +648BE00CEDE3C153AEE1E0CC3839A0FF9A7E84AA9FA96891EA67A537F4E25746 +BCF673DD8B15C1F12CA0FD2F7BA30AFABE3B3A498FA634CC9D28711C6FEE958D +50290D22EE870A89C3233C1C161D7A3C9C6CFCDA19AEE156C6958C83707A483B +2986F5789B885F154FB6DFE527D8BED4265AFC8522E6200E555F5098CBA013C6 +8BDDBD29639AAADB0BD00AFE529E542684F7516321DE443644031E660F61B643 +3FF9D5E55017F00FB4D315672CAB69DA46F691BEF7F761D87EB2D2263348781C +6A36BD0ED6165123EDC87F6BDB1D4D4E7C03810A90CC45B1F496015E7420C91D +454FED981FE7D38AECAB724E2A370C56E4D9A62D7A90183F71B45292B5B55F08 +A6E4EAA41B35F81AB501ACD2F163B877EF62F0C2CB23494F45B1A3787E86801B +2CDEC66617DDFDBB1A62F0172FA063FAEED41080B82BECC448127986480E2056 +753F72CF2C7694999BA0977153385B0E2E1F0CB73FE208D99D0A2BB77AC02822 +F45EC3C84FCD5454E605143D6786A20EA2CB28A9E107926D5739316F0F774DA4 +30EFCB38504C1A86258D2F750AD441D5961331B0914490B4BCBEFDB8AA72C5F3 +00763F0D299170A34AC5DA3A785F1BDF365DBC7C4B15C8966CBCADD9EC6C048A +8D94798A6154002777D2DF03C8C6388A600D13BC1EE81EE2B02BEE0C38A20F93 +385C1075EBF31F95C3B4E3F6722F60DB80DD731F2239C1C12A5BD9522D5A1B34 +2DA04464B5565AF29A35E0EFC7FA91D2E9ABFD008A606DA13F3E3B8C07D9869E +810EBF01EE40383A169F07DEF5CBEDC02CD3B99AA310E316CE4E197733E3778F +E5931F5E319C6D8C670F25624F5DD6EE97A5F39CDC978C8DAF1C07E6A83EF293 +E8AAF2B9CE57B7AF470A6DDAFCBD210BAEE6497C6ECD486FF0DD9BEC53F9230D +A1A1344ABDFBABE2F7D8DF7B6EEF9389C05D87DA7F28EDFF405C106E7A0F76E7 +61613BD0C9BAB43597235057EFBBD8D4758AFCD05B4DC548DE95E707BD22C76D +DBC6BC538843247534BFDB1A8E591C6CEF347D27E7B36D2F55D46314BE428E13 +85526CBC712FAEB72EA4431496B5C925158A4445DC4918D2944D9141AB37AC81 +76A21982291E6CA022887746587DC357232C0DCA9179314030A955D4953870E6 +626D8DF3514B22995C8B7B17CB7316B8E9720F6311B3CEDE860810287DB5E79C +7F63E23A8DC024A56D8958D00F3EBF0157F59929F4F00D69BB86147268490A4B +178828DE42B92D6061A0F7913EE72F0A968411C2EEF08E122A5A9D5B65CEBCC3 +B9C8F61A1A34821006ACBDE624FB09D104A3D68141284CC778A3F29E2900E40C +F1D5730526D90A5A4CC31C65F1EF0424BC729F1336EFA5AF0929176B4B68192E +1DA8DDA19F82E57474FE5BC09F9CCDE15C74D56D9ABB215C6D6ADD8CAE7F23C1 +28C4B939A9069BBD511D98BE9005F8B8D46541BFF944C1C389A811828B105DE8 +72EFB57C8909097119232B9DF1625B68F6C4CDEF105527DDA9C61433EBD0679F +A0FB4B013B8A2A23DC7FB55D27D24B5976D7B6B6D22535086D51FE3F764EFDDC +6BFA7053213441BE858436299F9BA777465F87622B46759CDB97B457213DEA91 +A3B3C4F20B2E04675304CB29EA9B502F5437DC528274F7BCF043D6294D3EDA62 +68B510C5979DA9BD79D729092E78A07A0AD771180E86D5FB31267885AD71D9BD +1234205A958E3CA44777FB0DFBF647997DA58000E413E2321709A6072470ABC6 +253741EFB6CF19B29CCAFDCC21A8E61F3CBDF3FAF79462A4EBF4B265F5180775 +C6E360C8CCDCED4EF326E31C1B00D77330D8666F56D79EE933DA673486DE30C4 +4F3DD041247B91C1C5E8BCD4D1036240C538736A3317A8E9BD86E3675C5D91AC +7F8E69FF45C0B7CE94ACDF0A34F42EAB4100E674FFB1862EF7856A8BA0FAD7F8 +6EE4E3610408355258B69A2FFE2BB16A9074D369577AB2D565A1DB21F2200A20 +E467D61E2A7E8BB82EAB91C1E55A008217995358502F8754416C05D0C005D149 +9E7045048FB9E3263ED71EB9D3F4929489FAAFEBA25BA97AF44A511C9279ADA0 +AE83660AF114B05C4F0D8F74637267F297F1C21D222DF83CF001A8BE71DB6E54 +9DBC580BBB2E331EC4AA4469912C2F8F2984B55C11D9DA493DC67AB77859F275 +41E273013B1F6D32D677826070B78217C84D3B635B3F77EE3569911E100A036E +F53797632441E7436922F5771375767C7A38DEFD5D726C57AAB568CEE8DE4CFE +C9B9BE1B26CC107EFEAE6367079D5A73D84DF5F28A62630E7AC717D72AB06800 +5217FC6112461AF6A8F289266FC24492A462E97B79A7B81823FAC3D77737428E +89E0C8F3AF3E03FAE9BD0C1D6BDD24F05169E115D6DFF45AAF743C07879D1958 +D73D076E11D15E1E085DE36610566C6616BFEFFACA1FB2503602642F4AD3E7F8 +52E4528C1DFE7622BBC7166B9C7C3739B305A668563978D242C59D214B6EEFA8 +DC5154F28F40558A9555ABDDC6436C3FAD02A0611ACC8C9A9D392782169A8CAF +69CBDA2569225BF6E169C0FDBFD957408FDFDDCF700B014738D1076425A90922 +B36098E9F8F781019ABCAAEAF2541492D1ED53F0A0B234D5DCC79D60A2AA3E7A +954B9AC9EA9FE07C013C9F658E83AB861EF1AEDDE6182A267B043CD8BDC88F4C +36D36FDD16912276BCF5BBD7F84467139610F593957235589FE0AD8C2EF66CB9 +7035A320B82BB63A128E450A80C201CE5B527C12916C921FC7208931EBF8BAB8 +533D78B35708AC0403C6260F12814EE0A50B0F3F5C69C9AB23A437CD7928C67A +FB5D36C3007FFC25FB510409FF3C7E9640821700A612979BA5C5E5B58904E23A +BB2AEAA860D03C3BE93BAB447302236896BC9F689926C4B6F5342776786FEEB1 +CAA9FE678004A797B11B5B46C17C90C978A83011BBE5C5D8ACDF5092DBCA9FE5 +4A2E7E5C93656670B1A215D2D3493149DE26B6A1D123497141E0AA06677F2E57 +B8984DC435B0C978BA57CACBD691128748A95C5D50779F8BA1D4200470102A29 +964ACE700F4F9C67E9DEFF7C8CBE574B75F9CAA105B94AE83DAA400A80454252 +BD50762E60F2D2D0F11EECE3A141C3E32F69A3CF6E6F516FF81DE720B4F6852A +2E187B0A0DD87F89775E041836623A1F3C7AD871DD32AC80E36061B3520EE4DB +3ACE3C9AF5E0D754933EDAC4B82ADC09CC5E18D3EBAAFA08B066359DEFEB1552 +B6F526693F3CAAEACF36DAB88A70C0099DC3F39D881A76159FDA11967EE987D9 +07A24B70F9776E347F6D9EF2C6BAAF9CA03150CF228337010DBF2A1BEFD9326C +F4BCE63D40C73447C28B54393ED283DBAB6DA4223FE20A89DF6A8D5F6D03805F +57D11E4CA7F35FEE57DDA402FAA196FDC573D7A9252D8489663D75006A44513A +AB8AA7C9E98F95D9FE9389AA7D79C08BC3C145AE3D02BF6CB0EEBA0F455B4030 +0C0603544C34D54DAF21E9B7272D48A188CBDD25EBB70E9813958442995345D6 +4525A9F1CE0544A05619A898BA05E2FDD7A595B771EB749EDC18E7A50CCF4A05 +09A6CD15095E344F8AC1B22A5BF0BB886B87F80C204AF36E903F4E8DA7347F29 +A37875D802B1980BF6FA7BA931879D29714D1BC4FF8D1E40B879F7EC079F2ADF +DF57E7541AA861C95FD692043A50C936C4C19DD5766F30E74B6787938A6BD314 +D8969C3E71C1826E22482F5D7D9758EF4BCC9112706B19396BFB04FC5B7606FA +B27355B6EFABAEDCF7D943E3E325912441268D02DCF977597CE70C9FEE929110 +FCB4CBA2D781AC410BD2DA58BC5E40B2FE6116FF416FF8F7322B8B8980C4166C +28BBC8F3492108C2BDB7DF73628EC43D3C057A3C12E9FEEEBA3007A1F2942460 +26E6133211389D1BC517710AC724FB0E9D91D065A7B001480E34D300EE501D7A +4E25272D328727FE03ADB57A4CC8244DE4F57895ADC0248E59E191B511748CA0 +22BF111767E464FB590C5A575325D8A0A5C6E377CFB7C5EAA9766E01EF33F1E7 +9E170632F621DEAEC41E604C3F5BBAF7FB7387E5544ED9F5BB11B24E3F6A1234 +C34E0ECDB020BB47DA078772823CEBB9632632D7F177419397A2CCE7DCB3F358 +D9009FAE512CD5DFF9D547199EE3DB5FE73E9688E3FA530B3C1C220AD14E1EAE +70CE50B9BCD6590B123F0C27B6AF4D94B5A720D479E05042AB637321EBF1E1DA +5CAE0BEBDD5571A9C6FFF9BDC6D9A6CFA584F0F9403812646579DB230D60123E +ADCA8FAB39C26FF0484F3CF11BA5EE677A492BAA41C97BC28D5C61FD119F432A +A2FBEF2AD52B33AB01C1BB8C1A1C9A0D0723AAAED131BE038A8F6685E1973165 +A2D17DD2FDD95F46E71A755ADA2A87320CB94FE6CE58747478684F44405C7A69 +04A63884216203693D28D3742C349DC96BABA2B782F53B618D9540A10A6A9BD8 +99D43B0F5971A3F3E1390FC739FCA366B71EC177DD5A7C0ACB4980D8DAE72937 +EE61469C672825DC84BF957DD7FC64C8A878FC8EAB3E87027A91641BF9B66EA1 +6DE73B03403C303FD52AA4C4CA7BEC8A11451F1224B637FB690796E166FF71C2 +4E811D6562EFA570B397E500976CCE4ACC8208F22F097F506644C151E536D594 +2B2014CAE9475DE608C27F1B904155F670EF523A62CB92D67574E9CF31295C01 +8D01799BAFCD49C5725ABEE2B6193ED05AFA26B0FDDB68DE968457D877606E67 +3AEEFD8649619BCCDFD8DB82EEEDE0C5A11BFF01AA91A02ACFE52C2BFE52FDC0 +F72C909B2EF965B0E4AF615597EF50B685A624A9DF9D3DD78728D418B576D3E0 +94639CC077C39C277A1FF76194782129CFD0E6DBD39AFB108DE517FE4959C3E9 +BB003C58B54E768FEC5DD7A11685F54643555A1C488F6AD4122013757C6D4454 +0021BBDBC0857EFD9B15878B9AB274ADF30D9AEB6AC791491B4FEF12C1DD54C2 +07B328F171B6582A01503C53A341105CDAA94E871D29CC0AF438F4CA8577D4D4 +93451B018B199ECFF48C0B1AD21865BA350FFD19780C8F9A1708B0C33EB2AFAB +2C1E1DD6D7ED0DE7E56480F3A20A3179DD9A57115B72741C87E4F717AFD99A72 +C7773C4FA1195F26291562DEE4AB239084B38681CC0015DE27F2016A5F60872F +06CD65C7CEC8EA2A3F4D17D1680106885742423BF87C42787E2BA7FBE7997B05 +097A9AE8B0F4BDD8EBF8ECFE4488F6B1D56CCF797781C6C8A425A13B65999447 +BC7DDC0AD1BF0021F5EC6A646AE5525A0E739B5EC4D932EA5F6DE35824439AC5 +013BDAD77C49E1EE021749420DECA726945B54B9086D9A226919145F74A039B5 +4E80023BFBB07B71967C420B23004C4CDF51A94DE0A2708C7957 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR17 +%!PS-AdobeFont-1.0: CMR17 003.002 +%%Title: CMR17 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR17. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR17 known{/CMR17 findfont dup/UniqueID known{dup +/UniqueID get 5000795 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR17 def +/FontBBox {-33 -250 945 749 }readonly def +/UniqueID 5000795 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR17.) readonly def +/FullName (CMR17) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +dup 67 /C put +dup 68 /D put +dup 70 /F put +dup 77 /M put +dup 80 /P put +dup 85 /U put +dup 87 /W put +dup 97 /a put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9D6295729076BD8E +CBC0F4C1BE246922D2482233846A96D867B66D9CF25A1DB661141D36B8506E61 +A022F9EF8BC1F2F674EDF1533E67A78CA29A612AA9268E113C5EB84DA56CEDFC +D7A111403E6E2A8682DB04368889747E003A124395ECF0C7FC81218552EE7C6F +60BCFB4120893528670D0E8A4117EA5676915E3591AE5652D003EEF67818A41A +8882E102AEEEBECBD15DCF632ED246A6A58B6A7780DB6F1F9AE3FDAC8344585D +E104F2BA2DF06D68945889A2A3B6C262FB53FC670BC5EB7C56887FBFB7AA7026 +84115872CFB0652C6BB330447AFF8F0F665EFD6A41D6DB6877B08052F402448F +CB21C26BDC900636C99CA347B79AA73AFCDE9762A992CA3DDF7279E5C50F453F +52098529850AFB1F501A442D6A02E0A2896F81C8AC735AF1E7EE47208B4CC944 +649DF6802EEE813F1456205C6126D7D0B1821AB62DD65468F3A30575E491623E +0054E2E680E4402E1C8C538DA389B81603BE88D6DC287A076F92B224CD58A0AC +44B8D490197341808DEF243660971F444A560C747BC6F52707ED42A99736ECCF +EBCB694A561C3A70A319D204CD40D402FBF937A00BBCBE85DD26C9E3F91B7D10 +D85B9D314BC3AAD5A58B107F5F341BE2C53490924142566417D6BE03BB4977FA +6635EA58DEB9508E40B9FFAC75FF44C683680CF242FE210519C9BF92483B0A54 +83F48341318BE16D2F8C988FE3DB2E7914581F579D5E323148A31E4ED03BC24B +C990372DF5F3B0C5FA32EB2CA4FA0EA33316569133C87697BAA2292E685C26CC +F8CD40A2366E60B47D47CC9D0FA29D2836011376A07F78BA7664DE96E775CF45 +9BC91559A063073A4C2FAAD0893C517C5C46A1425D07EDCC2B57162E3A45103E +FF26A2D2F98B194256A4B052AAFCC08965A50EECD7B9E8F35AFDF7B6568B3983 +8030655E7C2BEC961A2F20539D617626E8454E3FE9EBD3EFCEF7F63498441DAE +16CB509BF239FBBE25EFEF07A3E16C9C71EB8D9DCB8403916FB40FD7F4E1A52F +72F2DFF94FD14D7D49FE775390C17C37C1BA0CAF35CF75D682B7833A83224158 +D54CE962CFBAFB1B2CA50B60CBEB1F8F58DDB2F5470C355ED9632342D9382AE4 +5D33BCA3A0A25EE9E5B39BE5370E7F20684C664EDB48E7973FEDAD9676F9EE8F +701CD4D8CC9B9EBC06E8C86EB88AD56E15CEBB8E1930E8F711CB6E01D5D14967 +D7E6C1BDDDE2C4D00384EF4CB02877DECC27AD53FC981338977BA0CC0257CF7D +B42E9BC91AF45D9722461EC3CD9DEAA8011FB855FE14B74BE0A102008EACA2B6 +0E287BB4F466FBFDD6E65A5262B9322F95E20DAB875A10A84572D982E6FC7ACA +23C0C37E5EB47B8E69C07507B53CDD98CD1B6445E1699CF35B3DA3E0DC56BB76 +F997C40E2ECE47DBDDB707EB527055960113F2DABC87FD9EC7D0AB36B400CE33 +0D54D4F197B2830B43DF0AA802DFB2BF747A4C44B31FB708B2C8BBE1955A6A28 +379C91AA4CC065A50098AEC0B837E180B76801865A43C74859DF18FE1DA1483B +C17843BF1C7E1B11A8C6D8BB8CDB1D552FE6A1FD0A696A8F7405F2320F8621EA +17C1A32056C45A9ED35D2BD12D02D8B26489CAAEBF4EF33B66FF4BD9B46E4823 +6395831A8F3366EEA0D0EA88D612DEBF63DA7FAA24DA979ACC1A52544BCAA007 +6C39946BEA6076ACF45722B2B8E4D0823EA2D12B14A98367BB0433A21FBD9F94 +18DF298C56F67ABC9DB1868D431A854DBEDF8E1F49E359A545C75A7AA1FA4D5A +50F1EE6B45FC68ABF65FFF257964E4E50D8B0C1FAF498DFC554073697C2F219D +4A68DA9E873B270B9C56F0DDBC9927ADAF9203FD684DE615F68C24ACFFB44690 +89C0D5322049FA69E7FD00EFC9C9B2BD177B5B339907F81C31496662847BEC1E +56B5DCDF4FE618970F4268F475B2EF7E0F28CC986DDF098E59DDAD818649CC35 +4080C0867A884B8177A6880F06F1E5CC130AB4243EF8DD8032FCF390765BAB1C +1F0C9728EEE261A09F8C1D7ABC7A6B1550551BE2A7D19D45B656650DB00B3A5E +B3E1186043E173BB4DD5EFFB379654F88146382AE3F7196F099BDCD6D245FB6B +AA2FA9B6CFBC9F0CD52798DDF2F13874BDE5B124DFFE0DD93E24C9DAEAE4C3BB +71A9A13AE2860F620B4EC789F95221015D9C510CB4AC775EF69DB9E32E59C896 +1AF82C9F0DCDB4812A37761859A3D3BA0CA57F244489C78065346FFA78F5F7C8 +0B2E8CBA9EE62FF5C27369D0BCD52857D40F1FB8F8A1441B83565A4150AB1945 +0B54D6E49F66389E43096269EF5CDD39526A288C0CB81E324E75D326EC9A182F +2CD966368CE300B41873B08E17C3E6BB51804460D2562AF5A12339966F44CD09 +114C6809AF246B5BA6937631842CB9417781A58944B6BA4FCF961465C208957C +81A662D560D0F81BD3CB53C06B6D979F04F6121CCFD5D52702CBF6C70C01EDBF +2040AAB9CB144321E68C4010E0E98CCA2603EB55DD62E881DB621C37EA4108D1 +528ECC7A0121B57C6BB1E26F8AE7161ABA7E88256D2D6A8B7CDE2E730D137493 +3FF628EF6030DD2330D747FABBA03B44CF600418C245C388F33EC5559E7313BC +4B530C4FC12530D38B27D6408548F25FC084DD0523B27D29D6518D3115AE7755 +37162CFD4CF528214466FE525B13782F9C3CD78F3D6C7423E63A134C0A371F15 +10F4ECE1D482C647B563D3D15586F80BD9DF7381BD53927825D5AEAF762E1CDC +3BD184F345029A95B3AD4D1B66E79AB4F0809418C0CFD4D503457A190D02F134 +3F57FC04FF655AEEB783D6791E4EC300755861837D3D50649F6B7F60766211B3 +8148F8E575E28D6C2DE75B15E722ABFC6DAADAE53D89FD295352781DCC2CFF6D +982F6DB778D6FCBF1B7BDCB53F3A23AE6EB499BBFA96E8BE04C3C8E5B660EF24 +01EB842DAEBE979F2C2DB72AAB4D21627063B1D3C6CD40944E4CB81655698FBA +A343766CB22E392E5DAE01DB33A00918D6DAA07F2F38B336A3C5DF3708865E75 +0DE04D3AFBCA27A249E97377D5785B4E28EE0E93F7D353619C200DB967372ED2 +153BF8BE945474266EB2FD30F80042A11B7E3586DE4AB1FBD4A741D36DE583E9 +1CA25DA345520AA60634EC819E7EB493CDB128BBADEC3890F055455F060A1100 +D5A41D7B180027E08AD6EE7E393DB9F83799544404FE397F557773BE6A130541 +157C0EB37E036C94825B5090EF85F8B4E3DB72895D86687758C20EDEBD6D1079 +196E9949DC6ED0113571C70B150B37E446E319EC54D44CC0CF6A14760953DF4A +D0E1F33A54D240E236AB63B35BA8E071D77776BE5B9312245F2C6E4FDB4312A0 +0D9CF723E7D9A3D8546C4739C00C301A89ABA60A02757AB1A0AC40B24CE6CF12 +5850485B11E16646D7150795EABAEB08364A53161111F46A7BC3423A0D3BEB69 +BF15726C1F8363914945DEEB29CB8766328318AF3B344FD6D77BBB92BD7FD161 +93356493D4D8252AD125708D47C124E44232FB2BF7DD75F87889496DCDB75D03 +F58A57D4122CFC194B75A9E9C4789C9A33C0435FB4ADA16AD4A6191928D1663D +05FB8152C0AA176FBA4755205F8A66713404787070757D3721ED6E6D55A59DF0 +C92BA8F05EC7BE05D0A2E66DE85E75373483EA3BBEE0F0DFC7E2FA5FBAFAB118 +058D095AA71FDFC8AF37E5A98406B64E58BF476C6926725D7EF3C2346CE3F662 +1E5A4A18D966479A37070859014719456EA2C7F23E68E1AB2F25ED3A0C00A18C +DD403506923BC983F89CCA125780DC76A411472E38173BC0DD4CDA7B43E13419 +B5AB0B9A35E77C58BBA12AA4F5C7EBF8A29996B059E4FAE6809565570442AEE5 +D56CBF4407E1CD9A4398B1F3ADFF023F64B230E3D29F526B62D964F5C8DF801F +E94295AD85BD9E1C18E6327977260A871E921C0745CA06A263E335E344686E7D +D6FE3ADB4EE0A7E462F3C00873C3E95D183CCEC71C0E5DC1D2FB310B28FC3611 +67C23DE336C374F72368F4973052B48E39969305791C986E6EE35D0350571860 +3A8ED849712CF21AEF444BA390644E8646CCA16559BA4642A5800827A0DDC453 +7CA0818BC47DF6348A5209A2F0A10CA39840CE6346E89CA0E842BE8692DEF25C +4623A5A0E0B98708B9492E9F564324BB3872D6B953CA59E9F393C477E2AB85EC +C557D333E88C111CF995FB79D9432DC94C2BDB3BFEE13C0D7D1BB920DAFA6158 +8548447AFC65CD5515D5021E0ED7D213B0C08C35BB424AA91885CA023D7AF767 +B83E619B15DFEF5588D2F0564296E14B5A6ACE03751E1016105C51BE76EA5ADB +4167BAED2A8899031FD7BA05C410ADA25ADD94A787EED1A7AE133B0568B1DBA5 +44B41BE013782CFCA3D81E8E8210DD506ADFCE7DC7E792EFEF438221164A7D1B +5E7089F476240C5F94988F081943F24DBF7CC3D1E58CB89E1C0C1624682CC3D8 +C95815ECC9183A4B3E353C7F920B7E64086E01672DAA7C8A81319BAA03C1FBB7 +8E5E84CC5BAE0E107754794C755B7AF00953504094E1A9DF357D51B578259613 +8D26F0BA26AAC459BBEEB90BCC98B865EDD26AA4DF533D6624EDAC762C446B6F +CF9F86DD2D8989D4655775E662B93BF51805EE3CBA0AE2293D95F166E80973CC +82C53042D0249C598B0821E9E7F218BA6114EEC86C158F277934F2651490B723 +7F0D0288560DA5BEBAFDDF243048E590871AD18B3B220EC56549004DF122AA03 +BAAD6971D790BC644369FDBEE74A324083CFA9496C2A333774F06E35299242BC +F4B26578907CC5AD1893613F2B8622CFBB7B55810162EEBFAAEAB2A6D69CB72B +D7859C73843E665125FF450631F32E64F13A6207F368103C7A7318DBAF2560D0 +F1CDD83C3E48CB30C62AF1E0896E1962C655D9ED98E1BB38477C1C60ECDB6B95 +067D3A638AD43EE886338F7AD2D2A574CE6FD2E21F6FCB4220EFEC85ABF8272A +82081CE70E4390A74EC717F1DDD168F4A4A080A79EE2ECE0F98A96871DA4B52F +78441601AF47763C2219F5A167604C32F478D498835EF3A6167936994F7C7139 +3019FF43C97E7978D3CDA641C1E391FEA572D308E759F28DDE2B40B5BC207A4B +C5EB6A93EEE26782016F8B6534420BE4D790A2E1A65B6CDBE9468152230384FD +14E9AE84418A44F94E6825DD7D77D0BB5486DE26A692B3DA96C81FA4440C5D44 +8E7F3CAA9B8DF38F87E09C4D78841F629F78F4E7CC8580CC44E59E5D9AE8B2DE +C0682F793AE7AEC12A8AE688636197E8A08FEB70EFDB6203681A60223B9B0D39 +2DA656E5E99B82130D4BE38D7AFE18568DD30B0CC3C73C1E2914ACE11A65334D +A9F18135E7B86157122CD221C33C62012FFB16D2D2F3473A53BE3E7B9FD4303F +66ADF0B07155C7B9B002EA68C6AC7247EB3CE7D2670A60138049DAA964F86A05 +22983EDA7242E6BEEB90DF61C937399B2CE1061DF1E551CEED4A80D86C2D4649 +C9FF9A1F93E96773CD392478D5B70D5336A03A274E0A6EF44BE8CB2274324142 +706BC2E340DC944339D647961FD7BF29944503B4AFCDC69A706AA6B0F6AB2CB5 +D220A96ACC1EE5E7826F6F75F044224E5260D581AE761AD0C752A06AA03FD935 +FAD65C9EDD4E5505396E331D45DE88F0D1A4303D766ABE0702C17E2A7F53C0EA +96A4DEC5A6B6186F5DBAAB05DD78E38AFE630465BEF0EC66ABA9C1C9232214A9 +795D105C33CF069F6BE20B179F4CC9F484AB63ED25C1212C457DF62CA0D56E20 +608572216F2D4C09010B03A8AA6D287C8F514BEEDC1C912552CC2489858BF4D3 +084882CE4F4B6FB9EE27C0168671E6DA154018ABEAD013C88E1D3EC918371251 +63D95BA0FE20212C20AD3F4DB614EE36B488A3F55D94C1EDFCA8E68E54A1EED4 +7DD168DCCF07C3DDB5E2B499DB5635C5C5056A7438120DB4839427D07F96AB8E +F842E285243E40259F6DF029E27779CCF3D3BD7206B2C341045A5A4AABACC2A5 +91C6830FE05ACDCFDE99046F16F2AC183426ACA4A89FE5F09B7EB2F811BB5FB5 +AF073BDA2886070B2327D582DCBA66B47E8948C3BE05E837BE4B81402A583403 +74FF9E938F0E9DC3B1CB81B93DFD4070F9EBAED40BA570DE8F9A5C2C0A097311 +22A6065139A6580E332473E9410D9F4C734794F79E41D0D437CEC7381919DF6F +A24B170E2BC97A6396A4E3AC3D844AD6E2B8FCE1C6AE97DFC5319F49130C3D6F +AF2541EB2384D5D4CCBEB976846EF8C2165DBF706112BDDDEC9A57D157F5996D +95229FD5C71B885D16B177BAB06B9DF5740A45C2A005778EE879193290419C0A +A4A339029E37E685B8A05B111DDF94AC19B1D85C8E6026E57E3D3B373C08557A +F96E6FE3916695ADFC1F0BF5D558565F42A71C61ACFEFC9026424397F0646642 +7EDAA05794BCCD164A645860B57EAD53CB6899B18C6E9496EA4DAB0A0C272639 +DEBC4FCBA94B3BF123F7771F602E7667C8F56E12429669F2219C7D8E294BE07B +71E88EA62F5616CAAB7C0198E6FF12A348E36B306FE2684A401399431B6A84CF +B46EE4BAA0F4099E65E9AF3B70274EDD6B6524F4FA38C23F9CD5273EEDC8C6C3 +E7312B6E0497C05AD3F3C246638F01387CC11DBCBD287ACF54D8E24759F51415 +35ED64132EF4158F54AB9F4D567482B3057880490F805822F71E7E2C52F7BC38 +8B1F803AC3731064B90E5E97AA3351D17E73DC2FE526CD6C91158636E395867D +C1150FD3BD12493FFFB813AF0D08C8ED0B7418A2CF90BD5B783364358605D075 +5DEA95A9299C0654EFB28E2FE8A41358A0DD124D0314A27558E42ED5F2D74BB7 +056DE04D2CF13B9B804A3CBBA29BC155A3F18B8B48283194C33CE8291677E1EF +0721138F8E0409D49BB99F217607586D2DF00C29A25536E21924B4CF6702CF85 +C02DFBFD2AA4DE3DBED1D2C02E21052A8D10F96629D0D18154923638FE0C48BD +E2DEAF11663E20717EA77A5453686AAA39D6FF7919AF09B1AD956FDBF734F49E +262F3076F62E77BD45122B55A5913902D9F91C4246FC235BA9C0FA4A96994291 +830638949BED423387DA2D455A3C9122484EFF27F5367D1D3DD27D207D973815 +965E1CFF36F43C653ED406F65348671D9FFAF55BA3FC266D438AF473181B7801 +164EA3F04FEC870743195B3F467DE36B3719BAD9BF15A18637A314C887D46673 +445BA3C212749B0A33136FEE9FE2C9A13D62E7ACC96378D257FBE0EB06AD4D4E +D41976AB92AC720DFD33B0677062C32E6F5C992A0324FD26E984B5341A58C190 +D20EC3F1144697D514D9157340A6C9F82E62AD8CFDEE59F6FF86C6250CE33D6B +BB82DDB4F65BEFC6F6D0E4044F7BF307CC346E2FFD191846E3CA288C6F91CB71 +5FDE855FEC5E38816CC635C470BF15263A10A409F0BC4877F7E6D4C223E3564E +E7BB5B320AAA5AAF4F32528F7413BFB97C70FF5E6843E1FE501472129BC9758D +7531BE576C75840CBC4CD3E6D9E5FF52559B68DE6E7827128BB2ED1BAD43F36E +A0CB68C1A147A7093EB02062AC5492DB7EEE08B1BDB187E15339A66269E459BC +67495937B4317AF66A498923322B087ECF47B601C26E253D223A784DB2D204FD +0668BD403A73723848018B7C86B627B9AE0BD9038F567CD5F670CAFC5C4D86FC +ECA211B713ACF8C1370191161CBB6C2592E8B9DBF3471133F2D9A60F15D72F9C +5E5539D59A6A7E124D9A38A6FF6EB7C71990716F88E1888295584F17D49144B2 +B57252D7D87CFB7BE009E0E1AF68C57E2041CB837A1F9DA290FC07240D616876 +CBA29ED23952F977F27ED97503F6C6CB48DA6611E0ED9D90FA865D099740C6CE +8A5DDBB1D6550B208321C365A5104F9ABD66A9238B8A2106AA74CAC58D1163F1 +DC4A62013C0F6DD8A3E8E1A6CC6E553746D570A744863FD8EA705890890AC5BC +2F0A068C740572F045B32289A2AE66CC44A1C13FB8BBD4E1834995731D19B47E +7C2FE360AE79DACB95856B01EE39EB3C7C9EAEB3D47348C47D928BC883B8E760 +6724D80DABC4D736411942BBA8CF08157F21D63C18924282193C5C8E44E09048 +FDCB8DB2E01C8A496FEE2CFC19A3A0EACA508237C8BD988ED6D33D01EB548B14 +61A546886AACDAFB7C8CA69056B1F428D72541D54EBDC4B44A07AA72F7FDB023 +6E0899786D3E0B8FEBB376C085CE6A2D26D003FF8EB0E6D19E277B28C75437BB +1DC93A83A9770813DF2B1B539CF3F3F4549410F7795406151F84A9F6D959AB5D +EEF87E1D2278AF2466B509F351D8466DFB711EE416D9347C339E89DB6C990C51 +A127C2CA8970E639403EEDA875F33BC3685978FD36DCC3AAB9EFC07BBB7837D8 +1F524EB3A143A1548A221A712FE24BAE8C6ADAFC70EB74ABDBC7E418C9027418 +D1F1E50A250C6ADC6D3E826DB7E56F97D7FBF35AE901A79769805DE45469155C +510F692CF5E60A47B540A5C99A3CB05088D23B23BF672F1240E14974C4D8A161 +6FE7FDB940F1D15F808DF49E83FEB633B9B873A42A879F9E609A1847E36CCFFD +B2E6D45D87AF79C7E66D00F37C2932878829DAFFC056CB85B11BAF98B62A6B23 +23102158C9D8695A2809CC38945337139C89BB71AFAECD5549E01B048388158E +73651DDFFE14816A9B86B97F5E60A1B16CB7FD371F4DECA7D0AB0D71EBF57344 +EBAFEF9353A1F5926493C4A0D57BAFE403CFD54F07A6DEAB01D9359FDD4342FA +848E716804EA85D0B31455C4A79D64AF1955ACD5A8E7FA28212F916CFC3858FC +695B9B6FB1B5C9E619F40E86FFAF01E777DD0C8CCD5AB41ED4EFFC98C0286418 +1D2B3953AF74AA92C1AD4B629B234EF90E57BC8C09B521A989FCD7EADC2B346C +5A2F9FC731C2DFEFF083D3906C5A2F623FCC022C25165F6AFED7C70CC6D18818 +9B6D5EF527A884DC1246012EB1BE0C3C2A75D382C7F7834E239AC05F5A8F34F9 +D6B75DDE85754FEA0AC23E90AFFEE791DF1D6BDFEF41EDCF6CAB2D26EF859114 +6E598478A238CE1410AAB7EDA5F7D9CF5DA9582003F1E11DB4870F8376B2B35F +3C798A5CEEC74D5F68A6420C77574467E83C98C856D57D305A8AA0448525B3F4 +52702A7E7189EAADD983210ADE6198E4C5EFA4ACACF7357EBEE2FF84E4077C54 +205DB6339B9ED2B58FACEF3E3B54FCF8ED7138179EF37404C1753502F5EA3EF2 +49BA9FD22A23D38544CFC2D4410CC1EC7F8AE74ABBA02C0299B9AB220AE7D49B +75FAFCD6C1A4C666E03DD43B652BB602E392FD4261634AE7208040771354EA9E +9DCEA0A74697CD3D36F29B517CC1C0EF71DE94B19467C3225011AD28BD98ADBF +DBEDBED41FAFAD5A313F67B251E6CEEFDBC20A570B0B0ACE12DC3A7A7503AF11 +DB96A8ABFBB47DC1BF60B592D836D202BDE1FDB360E2BCB6B6BBEE8D68FA7664 +17F3F162D7C8433E6FF5C8A6A42AACB245CF7238E0938B4D6231ED135452277B +3E88C2F9B52973093BA6C9275CA50D767DA1184DD179CAF990457611ED2F183F +6B68488718BE003D4E22279CA083B77FFD0D083AD0C0D29AFCE5EFCF434FF5D5 +30F62CA60BD952D3F1B0539E1457BAAC49193B2EDA92E270DEA430BB2710A34B +F4D91107E98602532D150D4B3AEFB5968469EDE7A8E17C7EA3AAB06BED7E473E +8FEDB499F7D99E41C4FD11D962307B3A7C6E228A5B57654CA5D4509000104972 +AE35441138372268FD6F77A08EE595182B7BB47090FD9EB7893B2B0B4F210060 +74B9B81878ACADC8ABDACA9A6A158A1822321BEFC575F19E4FF1845F032F4C87 +B252BD481144876D939C2C26C3CE54686E03F9470C2BEF6DC982970B528892E8 +D718EE5A1D3615BB85E7FB0D38AD6E5C1D52DA46C72229704F553DB1D45EE5E0 +113664BCB65B0DB9FFBC2ACCA79FDAA23F0DE91C82EB6978354538EE2FE565AA +070FD4A2A66A0E0490A7D994BC2018452BF46C131B5956D66775EECE6857C6F1 +BE92CD21C2D97614B1C31200B2364F37676C4AB558980D406BA3B820C163B994 +238F9605E5B2AF189543B0341DA0D7AB8B979BD982345E9F69C83C0464EB46DF +8D440E65BB26A74EA98D75E4354B5A0AC9CABF2B414EAD2B63AB479F0EB17C57 +A88AB81352C6B27FD0B1D465328E6638972E7CABC15581DD64AE5360D65025DD +F45E57AB8B9C06534691EE5EE082057C062B934AB9AA7E4189861C86995E0918 +31060CEFABEE66454515E542C69F4B5CE675F22D2FB225C9F56E4A564C0AAA39 +C36DD9F926931EB6F850AE93094E122ADE1C74E18C84E9614AB6BE41C51539BD +3BD3C9FDCFAE15C464B2C68077E7882F8BE3588397B34C5DCE72D58E59C77DC3 +7D8C5D5E8F816E3C84D0BFFE0EE9EAEF89D11969589CCA6314394B9C218C4565 +9FAAE9D02C589C26768912CDDADF98D525E3090F54BDDACD02F47F49666F3C01 +D33CDBBB3D0F0CC490992CAF4DE2207B6D95298FBCE9C6DE54C1B04356BBC506 +36FD340A0FCB785E146CEF2F08A875DDACA3FFADB706B8ED1A2462BDD3D93C10 +35A5FE7646FE01E1808D9394DA6EF21E998512DF86944076AFC39F9FACE57780 +0290894FF992405E3D713CDE808DE743C3C0F99BE06C37D3F3E20FEB3BEDE452 +8A1F1FE4E652527330852906056FF3659B5A789ADB57601D96958BB850403203 +424074F11B7CCBE33234B3C5CB2BC51CB609BE5123259B6A11EF12571AD37584 +82523115729CE32EB5CAF8087866460C331E27670BD134B5F36D0D648797DC75 +C5BDF9C3DD41A6427E16AF9117F6012B974D2061E74633D9740C39B340121D27 +32FC8BAA96F2F91DC2D936B93B8CFA951C7039AAEEC5C15ED8ACE5EE05AD7BDD +6B5B915C15ADA0492DF77F582283B68C268CFDC293871A057C3EBFD06752C963 +307ED6781E97B2723229F5988BBBE7FFA02E4E0137D4A2F2E4A856BBD7505880 +8DA0F15C9DBF54C1A2EEF8A12E6263CE2CDDBBB7D39BC6B56639B2FD84CC64F7 +2B02FD3549EBAAF4EA5E640BC04086B6D8EAC9690786FD2DFB45F6C169D907FF +2E368AED562C4B58E59D2AC1641C746973ECEF1BA237018684C52EA1829E3026 +EDF2B94D194F2EB01C21C7784AEAEBC68A88258933DEC7998ED57BCE7A3CA389 +B755359855FF644FDCE1A8805E420D84586FBA00CFA2E15B2AD5B25FD01AC3E7 +87504B45DA2BDB6037BD9BD19BBBF8A62F525B21E8FCF3DF0A4AED94FC10BB36 +673835BE6E6D503531803072C06D4F5D6F0083BA2AC5E54FC5F42604E8B7B521 +48655715E14A775A55602334A0E2835E47E3AD54649BB1C775C2DDA9B46663A1 +0A1D032568E44F143738B77F1944EDAB6FE2136024AEE7DE4804E022488B78E5 +95F98D3023824362508A9BF922544EE42F679522EB43024DFE9E231EC6A63670 +A05B1B2EFEE6EC7AA354F26FB4CE5886A5B9E9D6416D6C0A0EA5193904F6C967 +1B97D06C354B49DBD53A9DACA30F54A0C9FA8BFDBE5D10244C98D59C43757397 +D5759B31C799B145F87C8175038E9CE1F6455C74CB061F4A21A8B27D8E2C650C +41AC9DB396C84B9C6B4E514542315ED29BD1148115A8878FF9EC9E428FC03449 +C7D90D83E6FE5E5A224D8A7FC1E42560DE255271AA7BEC2EDC7510068E843F5D +F6269DAFA11CF63A6478448FA083E210778EFCC4AD19BB74593F38933D21C3DB +EF341229C4973DCA2462BCDF1CAE657A76474351C51EB8AEEF085FD10F751D18 +A995DF0871FF84F68829BFB9914A4DD657C8249A2D87F23D36275FEBE7FADA31 +89159301DB1869537D0ABCB8E507537BF3332DFE67DE402058BB1EA70DA22281 +2628E22447C60D83740D2E35D3843C4B9720C7958D02898BA11B419B25C0A3AE +C3B91799F7D28023429C902651E7FEE4A7C78F60450E6FAD5BD1EE7F2401EAF5 +2A61D4AB64B1364844F1C0C4E005B4911FC11FE12DBFDC321D7F9688DA3513BF +DE6E2185AB008870C2800BF4888217CA2E4BD9DECF859E3748ABE5A1B9B03C8E +29E6E51AE29F3D26F36CA8852848A3C759D0518872B95440914969A15447C88E +FCB2429F239350A68AB50712AADE557A4FFB7DF3DD51D5E57EA44893C1FF71A2 +092281289B3A059B5214EE4BF8EE08AE16A5CF4806D9D044861D958B4FE6FA4B +D52E91FFD3C3485848D751F288FEB97120E02A946C21BA9DD27B75F5CC646A05 +8967EBD266B751F46143C62B2FB301628AAE6F97257030BDBEF911697D445363 +7F674FB0D8B4B05C814B5C344768FE720E8B870CE7BE5413C291254D207E6777 +20E1A9661D4A325DE30CCD9964ABB17E76BA2CB37022185C9B577C5996975BF8 +8477831B3810AF7B335EF33D109D149758B0BA9AF773AD6D524DB6054321A98D +D7596A881EDF2A73D8C9CC68D7ABCF32690D5450244A4804FB4564570BCDF76A +D2BAE2F30514615310CC0A7F8281AD3B27189EE97420F41D64C5F71AD5F1C980 +53AB5917380E3771E2A76DDD7050A2F226952A07F6C11D5A90EDFEC8D40A3AD4 +C07765F164110E4C71FA123C0B455113CD51C0841EF4B027DAE1408A1EE33E98 +BAA60FF801E55C8A94755292F8B83D768557753D517A34B3FBDFF95665AA1C1B +14C073315F58E6C304C40294BF19DA76B18E82EDBF1E70CAFEB6664179A51260 +559E6A8552887FFF822B8BB3ADF6447C0C0C163914C3B0B6DFDE87BBE6AC3D38 +EC68A27F13B9D8A9542123B2D74E96CB003D07F1BB91377C9AAD32CB42CCAF18 +FD95135D4B355572F2C1C64A9C5BF8A4334BE3008D181000501101EFEA328F16 +F38645A68F72285FB202A498833E73FC9D65CABDA92489081123FADE235CF7B7 +7E906E521C29918DFBE02DDE3BEFECB2D38F3448A7884CED34B147CD3582F201 +0883FFBF38C0927D714FF22C22D47A9028760F1BC440DA2530FF24994CF6678F +FC76DFFBB2FE5412AE3802442DB9A4C99C65E4B89CFB7CAA3060C5BCAB56BD75 +4D5E14E67B5F09E8BA3D47D71DC310073D5B93F5EDB4AC0505C3A48C94A51EE9 +7E1C3F69AE1F734651110B59B2095C1C4F8C6559843E3956DD1846F0AB98A501 +4C865B91A0C801504148CC6ABAD09B560FF43A19CA1ED82FA8454CA9A51A1E44 +7A81602F707C2B7635474EBD3BE7482F5C1B63D65353238722BF92E977593728 +ABA75558C13DDEE16D6C470F49AE09F5453A8AA49852B972876970EAA010D396 +C1ED2379CA5DEE24465E2BED37C3322FE53BF5C2E24247311BF6C38A2B8B8D15 +77857700034915614AB9DAD51ABFCD71BCE13F80BAD4BEEB39C360791EC17AF6 +1A6D7D21716704D42A874EA445CA63D4B1D22ACA0D7EEC405698A0D32602C27A +ACCAAA348FEB58A6249BF9C544B624AF118CF55F55BB75DAE7D87335B6A1987D +D0C45F9341BC6337EB36B58761746F479864BBCEE181096F9B42FC8FA5C6144D +B9D3C06E8A61700E6E2712C90EE2C1EAEFB39D1B765B6494754426EA483F3564 +4B63FCB2FD1080DE0FF9C5EB96BD906184168036956F6F74709A45DF253171FF +047621FE27EA372FF9EE8396FE040CE25DABF5F9861632EB43F94C969289459A +85F5D490EC2ECEF64F572DA1A892A223BD7867EFDE65E4DB2BA92099F58328C8 +237E6EB9315F6F35234A5B89951763D3EABA3B69F910C1347D838C1D276E83D8 +B8D060A13466C0F730D95B897A51042E9DD021B76F0232AE4C4EF2B993C832DE +72747BEC811D9E416AF2D3A08198A473A1E18F69869A819689D26B9D667A3A45 +EAD0031FF9EFAD769AD8AF598DA6A3BA56CFA517C30BB1E58CA57C0AC5721F0D +9982F330F2A6BF0A9A0064F4AB4A42D6C0157A9A2BAD2A9588F32AFE72BB716D +33AEE439D8971648433CE1AD7B4F47BC7E4EA2A61C52FF1611FE70F00B34607F +2DC19011752FB8E63264E95BC5B8AE3C9B42D8E9DFA2D2D182D9D31FD81968AE +968281FEB160A4691BF0B57B708F288414C067503B63997E958F4D0A6DF057F3 +476F31839CF860061A580DEFD65100F6A04AC569667DF41D40393271085FE76C +4F264A88FAA2FC341C9A66D2343C207AE56BD44D571663CFAE2165378F8EC266 +B273B925FC56D0111F701DDFDA998E2D67BA7FF4189E6AD1B08A22EE0AC26F25 +D25DA4082E186AA4447AC28ACF7D6635D389BE16A4980E6903FB5D70A291F4DA +0DEDF3D2FB17496A2E782E28BFB99436F5E890BEA8E6B97A92390A20B06AE165 +8A5516E42B5B05506031B9C3BAA1D40BFD66CD226388A8B57D1F26C8754ED87B +52C2EAD7629AFBDAD01CF04BD83298755D2B6D0FB7378364DDD5CB7C12559A90 +DB410EBACEE4FC2784BFDEC69C2FBE582CB9A529C0FF4C1EB7C97E7E8BDBC700 +902B137211C45E503CC2F22A6A6A8E4AD7A4577AB8A0BA3EF8248F6893CB40C8 +79ECE86F4DEB01B64FBFBBD4EE77FCA0B084DE7847C92C41CFCF098FDCB1E6FF +0BD06E2AB02B8BB1E2654770B608FCB56C750BB0DFCBD1D45DAFE873B43DBFEA +476CD31AB511863042 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +TeXDict begin 40258437 52099151 1000 8000 8000 (pedigree.dvi) +@start /Fa 190[671 65[{}1 774.872 /CMTI7 rf /Fb 135[492 +120[{}1 1106.96 /CMSY10 rf /Fc 599 830 1[553 799 2[892 +615 615 2[584 553 492 615 615 553 615 738 615 615 615 +615 492 922 492 615 492 553 553 553 11[922 830 799 799 +753 861 861 1[1014 861 861 1[861 3[861 692 1[784 830 +128[523 3[307 1[553 553 553 553 553 553 553 553 553 553 +553 307 1[307 44[{ T2AEncoding ReEncodeFont }57 1106.96 +/SFRM1000 rf /Fd 182[483 14[354 7[636 636 49[{ + T2AEncoding ReEncodeFont }4 1106.96 /SFBX1000 rf /Fe +182[370 14[284 7[512 512 49[{ T2AEncoding ReEncodeFont }4 +996.264 /SFRM0900 rf /Ff 477 656 1[441 4[489 4[441 1[489 +1[441 489 1[489 1[489 489 2[393 1[393 441 441 441 14[632 +1[677 3[677 2[677 3[677 3[653 192[{ T2AEncoding ReEncodeFont }22 +774.872 /SFRM0700 rf /Fg 523 523 1[523 4[523 523 2[523 +523 523 523 523 523 523 523 523 1[523 523 523 523 523 +523 523 523 523 523 11[523 523 1[523 523 523 523 1[523 +523 523 1[523 3[523 523 2[523 67[523 40[523 2[523 2[523 +1[523 4[523 12[523 523 1[523 523 523 523 523 523 523 +523 523 46[{ T2AEncoding ReEncodeFont }54 996.264 /SFTT0900 +rf /Fh 219[581 36[{}1 1106.96 /CMSLTT10 rf /Fi 141[321 +1[486 6[224 1[470 1[418 486 100[{}6 885.568 /CMSS8 rf +/Fj 134[581 581 581 581 581 581 581 581 1[581 581 581 +581 581 581 581 581 581 581 581 581 581 581 581 581 8[581 +581 2[581 581 3[581 581 581 581 2[581 2[581 1[581 2[581 +1[581 1[581 1[581 2[581 7[581 1[581 581 581 2[581 581 +581 3[581 581 34[{}49 1106.96 /CMITT10 rf /Fk 139[470 +14[470 470 470 19[470 1[470 4[470 2[470 21[470 1[470 +8[470 36[{}11 885.568 /CMTT8 rf /Fl 134[497 497 680 497 +523 366 371 367 1[523 470 523 784 261 497 1[261 523 470 +288 418 523 418 523 470 3[261 1[261 2[705 2[705 680 523 +3[732 9[640 9[261 6[470 1[470 470 2[261 314 261 31[523 +12[{}39 885.568 /CMR8 rf /Fm 202[406 406 406 406 406 +49[{}5 664.176 /CMR6 rf /Fn 133[453 2[736 509 594 368 +453 467 1[566 566 622 905 283 509 1[339 566 509 339 509 +566 509 509 566 8[823 1[823 1[792 622 2[751 2[993 694 +1[581 1[823 856 1[751 836 792 1[823 6[339 11[339 396 +339 31[622 12[{}41 1106.96 /CMTI10 rf /Fo 138[572 400 +1[378 1[572 1[572 879 264 541 1[264 1[553 1[492 572 492 +572 532 16[707 26[553 7[369 45[{}18 1106.96 /CMSS10 rf +/Fp 134[465 465 632 1[489 346 351 346 1[489 441 489 727 +251 465 1[251 489 441 274 394 489 394 489 441 13[489 +643 1[595 1[653 796 547 1[452 2[685 2[666 1[619 653 11[441 +441 441 441 441 49[{}38 774.872 /CMR7 rf /Fq 130[581 +581 581 581 581 581 581 581 581 581 581 581 581 581 581 +581 581 581 581 1[581 581 581 581 581 581 581 581 581 +1[581 1[581 581 581 1[581 581 581 581 1[581 581 2[581 +581 581 581 581 2[581 581 1[581 581 581 581 581 581 581 +2[581 581 581 581 581 581 2[581 2[581 581 581 581 581 +581 3[581 581 581 2[581 581 581 34[{}71 1106.96 /CMTT10 +rf /Fr 138[1435 1004 1019 1055 1[1435 1291 1435 2152 +717 2[717 1435 1291 1[1178 1[1148 1[1256 11[1985 7[2450 +8[1980 2[1950 65[{}19 2295.84 /CMBX12 rf /Fs 134[672 +672 919 1[707 495 502 524 1[707 636 707 1061 354 672 +1[354 707 636 389 583 707 566 707 619 10[962 979 886 +707 955 1[870 956 996 1208 3[483 2[801 1[976 919 906 +962 6[354 636 636 636 636 636 636 636 636 636 636 35[707 +12[{}49 1106.96 /CMBX10 rf /Ft 134[789 789 1079 789 830 +581 589 610 789 830 747 830 1245 415 2[415 830 747 457 +682 830 664 830 726 8[1128 1544 1128 1148 1039 830 1115 +1[1021 1122 1[1418 898 1170 1[557 2[939 981 1145 1079 +1[1128 7[747 747 747 747 747 747 747 747 747 1[747 415 +498 32[830 12[{}54 1328.35 /CMBX12 rf /Fu 136[1295 1[996 +697 707 732 2[897 996 1494 498 946 1[498 996 897 548 +818 996 797 996 872 11[1378 1247 996 1338 1[1225 2[1701 +1077 2[668 2[1127 2[1295 1[1354 7[897 897 897 897 897 +897 897 897 897 897 35[996 12[{}41 1594.02 /CMBX12 rf +/Fv 132[553 492 584 584 799 584 615 430 437 434 584 615 +553 615 922 307 584 338 307 615 553 338 492 615 492 615 +553 2[553 307 553 307 676 830 830 1138 830 830 799 615 +815 861 753 861 830 1015 692 861 569 400 830 869 723 +753 846 799 784 830 1[523 3[307 307 553 553 553 553 553 +553 553 553 553 553 553 307 369 307 2[430 430 307 1[922 +553 922 553 8[553 9[922 922 1[615 646 11[{}86 1106.96 +/CMR10 rf /Fw 131[523 1[523 523 523 523 523 523 523 523 +523 523 523 523 523 523 523 523 1[523 523 523 523 523 +523 523 523 523 8[523 3[523 523 523 1[523 523 523 523 +523 523 523 523 523 523 523 523 523 523 523 523 7[523 +523 523 523 523 523 523 523 523 523 523 523 523 523 8[523 +35[{}61 996.264 /CMTT9 rf /Fx 134[540 540 740 540 569 +398 404 401 540 569 512 569 853 284 540 1[284 569 512 +313 455 569 455 569 512 8[768 1[768 1[740 10[370 768 +2[697 10[284 4[512 512 512 512 512 2[284 341 284 31[569 +12[{}40 996.264 /CMR9 rf /Fy 139[458 465 486 14[524 655 +573 31[890 65[{}7 996.264 /CMBX9 rf /Fz 137[684 1[684 +684 684 2[684 684 1[684 684 1[684 3[684 2[684 33[684 +17[684 46[{}13 1328.35 /CMTT12 rf /FA 134[686 2[686 1[506 +513 506 2[650 723 1084 361 686 1[361 723 2[578 723 578 +1[650 10[975 8[1192 813 9[921 975 14[650 650 650 3[361 +44[{}25 1328.35 /CMR12 rf /FB 139[984 984 984 1[984 8[984 +2[984 54[984 45[{}7 1912.83 /CMTT12 rf /FC 138[977 677 +687 677 1[977 877 977 1477 478 2[478 977 877 1[777 977 +777 1[877 9[1826 1[1326 4[1202 2[1626 6[1152 1[1352 1277 +1[1326 65[{}24 1912.83 /CMR17 rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 8000dpi +TeXDict begin +%%BeginPaperSize: Letter +/setpagedevice where +{ pop << /PageSize [612 792] >> setpagedevice } +{ /letter where { pop letter } if } +ifelse +%%EndPaperSize + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 0 0 a +SDict begin [/Producer (dvips + Distiller)/Title ()/Subject ()/Creator +(LaTeX with hyperref package)/Author ()/Keywords () /DOCINFO pdfmark +end + 0 0 a 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 TeXcolorgray +6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 1660 a 6752 +1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.1) cvn /DEST pdfmark end + 6752 1660 a Black 0 TeXcolorgray Black 6863 5867 +a +tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end + 6863 5867 a 6863 5867 a +tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore end + 6863 5867 a 6863 5867 a +tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end + 6863 +5867 a 0 TeXcolorgray 6863 5867 a +SDict begin [/Count -4/Dest (part.1) cvn/Title (\376\377\000I\000\040\000U\000s\000e\000r\000\040\000M\000a\000n\000u\000a\000l) +/OUT pdfmark end + 6863 5867 a 6863 5867 +a +SDict begin [/Count -0/Dest (section.1) cvn/Title (\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -3/Dest (section.2) cvn/Title (\376\377\000I\000n\000s\000t\000a\000l\000l\000a\000t\000i\000o\000n) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.2.1) cvn/Title (\376\377\000S\000y\000s\000t\000e\000m\000\040\000R\000e\000q\000u\000i\000r\000e\000m\000e\000n\000t\000s) +/OUT pdfmark end + 6863 +5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.2.2) cvn/Title (\376\377\000U\000n\000i\000x\000/\000L\000i\000n\000u\000x\000\040\000I\000n\000s\000t\000a\000l\000l\000a\000t\000i\000o\000n) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.2.3) cvn/Title (\376\377\000I\000n\000s\000t\000a\000l\000l\000a\000t\000i\000o\000n\000\040\000i\000n\000\040\000O\000t\000h\000e\000r\000\040\000S\000y\000s\000t\000e\000m\000s) +/OUT pdfmark end + 6863 5867 +a 6863 5867 a +SDict begin [/Count -8/Dest (section.3) cvn/Title (\376\377\000C\000o\000n\000f\000i\000g\000u\000r\000a\000t\000i\000o\000n) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.3.1) cvn/Title (\376\377\000C\000o\000n\000f\000i\000g\000u\000r\000a\000t\000i\000o\000n\000\040\000V\000a\000r\000i\000a\000b\000l\000e\000s\000\040\000a\000n\000d\000\040\000L\000o\000c\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000C\000o\000n\000f\000i\000g\000u\000r\000a\000t\000i\000o\000n\000\040\000F\000i\000l\000e) +/OUT pdfmark end + 6863 5867 a 6863 +5867 a +SDict begin [/Count -0/Dest (subsection.3.2) cvn/Title (\376\377\000C\000o\000n\000f\000i\000g\000u\000r\000a\000t\000i\000o\000n\000\040\000F\000i\000l\000e\000\040\000F\000o\000r\000m\000a\000t) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.3.3) cvn/Title (\376\377\000T\000e\000X\000\040\000O\000u\000t\000p\000u\000t\000\040\000S\000e\000t\000u\000p) +/OUT pdfmark end + 6863 5867 a 6863 5867 +a +SDict begin [/Count -0/Dest (subsection.3.4) cvn/Title (\376\377\000W\000h\000a\000t\000\040\000t\000o\000\040\000P\000r\000i\000n\000t) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.3.5) cvn/Title (\376\377\000L\000a\000n\000g\000u\000a\000g\000e\000\040\000a\000n\000d\000\040\000E\000n\000c\000o\000d\000i\000n\000g) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.3.6) cvn/Title (\376\377\000F\000o\000n\000t\000s) +/OUT pdfmark end + 6863 +5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.3.7) cvn/Title (\376\377\000L\000e\000n\000g\000t\000h\000s) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.3.8) cvn/Title (\376\377\000S\000c\000a\000l\000i\000n\000g\000\040\000a\000n\000d\000\040\000R\000o\000t\000a\000t\000i\000o\000n) +/OUT pdfmark end + 6863 5867 +a 6863 5867 a +SDict begin [/Count -8/Dest (section.4) cvn/Title (\376\377\000R\000u\000n\000n\000i\000n\000g\000\040\000t\000h\000e\000\040\000P\000r\000o\000g\000r\000a\000m) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.4.1) cvn/Title (\376\377\000P\000r\000o\000g\000r\000a\000m\000\040\000I\000n\000v\000o\000c\000a\000t\000i\000o\000n\000\040\000A\000n\000d\000\040\000O\000p\000t\000i\000o\000n\000s) +/OUT pdfmark end + 6863 5867 a 6863 +5867 a +SDict begin [/Count -0/Dest (subsection.4.2) cvn/Title (\376\377\000D\000a\000t\000a\000\040\000F\000i\000l\000e) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.4.3) cvn/Title (\376\377\000T\000w\000i\000n\000s) +/OUT pdfmark end + 6863 5867 a 6863 5867 +a +SDict begin [/Count -0/Dest (subsection.4.4) cvn/Title (\376\377\000A\000b\000o\000r\000t\000i\000o\000n\000s) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.4.5) cvn/Title (\376\377\000C\000h\000i\000l\000d\000l\000e\000s\000s\000n\000e\000s\000s\000\040\000a\000n\000d\000\040\000I\000n\000f\000e\000r\000t\000i\000l\000i\000t\000y) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.4.6) cvn/Title (\376\377\000O\000r\000d\000e\000r\000i\000n\000g\000\040\000S\000i\000b\000l\000i\000n\000g\000s\000\040\000a\000n\000d\000\040\000M\000a\000r\000r\000i\000a\000g\000e\000\040\000P\000a\000r\000t\000n\000e\000r\000s) +/OUT pdfmark end + 6863 +5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.4.7) cvn/Title (\376\377\000C\000o\000n\000s\000a\000n\000g\000u\000i\000n\000i\000c\000\040\000U\000n\000i\000o\000n\000s) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (subsection.4.8) cvn/Title (\376\377\000L\000a\000n\000g\000u\000a\000g\000e\000-\000D\000e\000p\000e\000n\000d\000e\000n\000t\000\040\000K\000e\000y\000w\000o\000r\000d\000s) +/OUT pdfmark end + 6863 5867 +a 6863 5867 a +SDict begin [/Count -6/Dest (part.2) cvn/Title (\376\377\000I\000I\000\040\000A\000l\000g\000o\000r\000i\000t\000h\000m\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (section.5) cvn/Title (\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n) +/OUT pdfmark end + 6863 5867 a 6863 +5867 a +SDict begin [/Count -0/Dest (section.6) cvn/Title (\376\377\000M\000a\000i\000n\000\040\000A\000l\000g\000o\000r\000i\000t\000h\000m) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (section.7) cvn/Title (\376\377\000A\000l\000g\000o\000r\000i\000t\000h\000m\000\040\000f\000o\000r\000\040\000S\000o\000r\000t\000i\000n\000g\000\040\000S\000i\000b\000l\000i\000n\000g\000s\000\040\000a\000n\000d\000\040\000M\000a\000r\000r\000i\000a\000g\000e\000\040\000P\000a\000r\000t\000n\000e\000r\000s) +/OUT pdfmark end + 6863 5867 a 6863 5867 +a +SDict begin [/Count -0/Dest (section.8) cvn/Title (\376\377\000M\000o\000d\000i\000f\000i\000c\000a\000t\000i\000o\000n\000s\000\040\000f\000o\000r\000\040\000C\000o\000n\000s\000a\000n\000g\000u\000n\000i\000c\000\040\000U\000n\000i\000o\000n\000s) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (section.9) cvn/Title (\376\377\000C\000o\000n\000c\000l\000u\000s\000i\000o\000n) +/OUT pdfmark end + 6863 5867 a 6863 5867 a +SDict begin [/Count -0/Dest (section.10) cvn/Title (\376\377\000A\000c\000k\000n\000o\000w\000l\000e\000d\000g\000e\000m\000e\000n\000t\000s) +/OUT pdfmark end + 6863 +5867 a 6863 5867 a +SDict begin [/PageMode /UseOutlines/Page 1/View [/Fit] /DOCVIEW pdfmark +end + 6863 5867 a 6863 5867 a +SDict begin [ {Catalog}<<>> /PUT pdfmark end + 6863 5867 +a 6863 5867 a +SDict begin H.S end + 6863 5867 a 6863 5867 a +SDict begin 12 H.A end + 6863 5867 a 6863 +5867 a +SDict begin [/View [/XYZ H.V]/Dest (Doc-Start) cvn /DEST pdfmark end + 6863 5867 a 0 TeXcolorgray 0 TeXcolorgray 6953 +11623 a FC(A)578 b(Program)g(F)-150 b(or)578 b(Automatic)h(P)-50 +b(edigree)579 b(Construction)19726 14058 y(With)e FB(pst-)55 +b(pdgr)10482 16494 y FC(User)579 b(Man)-50 b(ual)578 +b(and)g(Algorithm)g(Description)9878 19704 y FA(Boris)434 +b(V)-108 b(eytsman,)434 b Fz(borisv@lk.net)3023 b FA(Leila)434 +b(Akhmadeev)-72 b(a)22635 22309 y(Marc)-36 b(h)433 b(2012)p +0 TeXcolorgray 0 TeXcolorgray 23703 26294 a Fy(Abstract)p +0 TeXcolorgray 0 TeXcolorgray 11166 28029 a Fx(The)256 +b(set)h(of)f(macros)g(in)h Fw(pst-)55 b(pdgr)256 b Fx(pac)-28 +b(k)-57 b(age)257 b(allo)-28 b(ws)256 b(to)g(t)-28 b(yp)28 +b(eset)258 b(complex)g(p)28 b(edi-)9631 29247 y(grees.)447 +b(Ho)-28 b(w)g(ev)g(er,)322 b(a)c(man)-28 b(ual)317 b(placemen)-28 +b(t)319 b(of)f(p)28 b(edigree)319 b(sym)-28 b(b)28 b(ols)318 +b(on)g(a)f(can)-28 b(v)-57 b(as)318 b(is)g(a)9631 30464 +y(time-consuming)289 b(task.)437 b(This)287 b(program)f(pro)28 +b(duces)288 b(T)30702 30679 y(E)31270 30464 y(X)f(\014les)h(from)f +(spreadsheets)9631 31682 y(with)304 b(the)h(data)f(on)g(inheritance)i +(for)e(a)g(large)h(class)f(of)g(p)28 b(edigrees.)445 +b(It)304 b(has)g(a)h(simple)9631 32900 y(in)-28 b(terface)341 +b(and)g(can)g(b)28 b(e)342 b(used)g(for)e(quite)j(complex)g(p)28 +b(edigrees.)p 0 TeXcolorgray 0 TeXcolorgray 28320 45650 +a +tx@Dict begin { -128.03734 51.21501 } PutCoor PutBegin end + 28320 45650 a 27533 45650 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@GF1 16 {InitRnode } /NodeScale {} def NewNode end end + 27533 45650 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -9.38945 -9.38945 moveto +9.38945 9.38945 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial +28320 45650 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28320 45650 a 28498 46331 a Fx(I:1)28320 +45650 y +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 a +tx@Dict begin PutEnd end + 28320 45650 a 28320 +45650 a +tx@Dict begin { 0.0 51.21501 } PutCoor PutBegin end + 28320 45650 a 27533 45650 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@GF2 16 {InitRnode } /NodeScale {} def NewNode end end + 27533 45650 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 28320 45650 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28320 45650 a 28498 46331 a Fx(I:3)28320 45650 y +tx@Dict begin PutEnd end + 28320 +45650 a 28320 45650 a +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 a +tx@Dict begin { 85.35823 51.21501 } PutCoor PutBegin end + 28320 +45650 a 27533 45650 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@GM2 16 {InitRnode } /NodeScale {} def NewNode end end + 27533 45650 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 28320 45650 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28320 45650 a +28498 46331 a Fx(I:4)28320 45650 y +tx@Dict begin PutEnd end + 28320 45650 a 28320 +45650 a +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 a +tx@Dict begin { 42.67911 51.21501 } PutCoor PutBegin end + 28320 45650 a 28320 +45650 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@GF2_m_GM2 10 {InitPnode +} /NodeScale {} def NewNode end end + 28320 45650 a 28320 45650 a +tx@Dict begin PutEnd end + 28320 45650 a 28320 +45650 a +tx@Dict begin { -85.35823 51.21501 } PutCoor PutBegin end + 28320 45650 a 28320 45650 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@GF1_m_GM1 10 {InitPnode +} /NodeScale {} def NewNode end end + 28320 45650 a 28320 +45650 a +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 a +tx@Dict begin { -42.67911 51.21501 } PutCoor PutBegin end + 28320 45650 a 27533 +45650 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@GM1 16 {InitRnode } /NodeScale {} def NewNode end end + 27533 45650 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0.0 7.11317 moveto +0.0 -7.11317 L 0 setlinejoin 0 setlinecap stroke end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -9.38945 -9.38945 moveto +9.38945 9.38945 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial 28320 45650 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28320 45650 a +28498 46331 a Fx(I:2)28320 45650 y +tx@Dict begin PutEnd end + 28320 45650 a 28320 +45650 a +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 a +tx@Dict begin { 0.0 0.0 } PutCoor PutBegin end + 28320 45650 a 28320 +45650 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@F1_m_M1 10 {InitPnode +} /NodeScale {} def NewNode end end + 28320 45650 a 28320 45650 a +tx@Dict begin PutEnd end + 28320 45650 a 28320 +45650 a +tx@Dict begin { -106.69778 0.0 } PutCoor PutBegin end + 28320 45650 a 27533 45650 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@A1 16 {InitRnode } /NodeScale {} def NewNode end end + 27533 45650 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray /DS 2.0 2. CLW mul +add 2 div def /PSTricksDotFont 0. [1.0 0.0 0.0 1.0 0.0 0.0] FontDot +/Dot { moveto gsave 1. 1. scale (b) show grestore } bind def 0.0 +0.0 Dot end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 28320 45650 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28320 45650 a +28498 46331 a Fx(I)g(I:1)28320 45650 y +tx@Dict begin PutEnd end + 28320 45650 a +28320 45650 a +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 a +tx@Dict begin { 42.67911 0.0 } PutCoor PutBegin end + 28320 45650 +a 27533 45650 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@M1 16 {InitRnode } /NodeScale {} def NewNode end end + 27533 45650 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 28320 45650 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28320 45650 a 28498 46331 +a Fx(I)g(I:3)28320 45650 y +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 +a +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 a +tx@Dict begin { -64.01866 0.0 } PutCoor PutBegin end + 28320 45650 a 27533 45650 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@F1 16 {InitRnode } /NodeScale {} def NewNode end end + 27533 45650 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + +@endspecial +28320 45650 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28320 45650 a 28498 46331 a Fx(I)g(I:2)28320 +45650 y +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 a +tx@Dict begin PutEnd end + 28320 45650 a 28320 +45650 a +tx@Dict begin { 0.0 -51.21501 } PutCoor PutBegin end + 28320 45650 a 27533 45650 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@S1 16 {InitRnode } /NodeScale {} def NewNode end end + 27533 45650 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.5 setgray 1. .setopacityalpha fill + grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 28320 45650 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28320 45650 a 28498 46331 a Fx(I)g(I)g(I:3)28320 45650 +y +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 a +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 +a +tx@Dict begin { 42.67911 -51.21501 } PutCoor PutBegin end + 28320 45650 a 27533 45650 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@S2 16 {InitRnode } /NodeScale {} def NewNode end end + 27533 45650 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 28320 45650 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28320 45650 a +28498 46331 a Fx(I)g(I)g(I:4)28320 45650 y +tx@Dict begin PutEnd end + 28320 45650 +a 28320 45650 a +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 a +tx@Dict begin { -42.67911 -51.21501 } PutCoor PutBegin end + 28320 45650 +a 27533 45650 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@P 16 {InitRnode } /NodeScale {} def NewNode end end + 27533 45650 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ -8.2511 -8.2511 -15.6491 -15.6491 /Lineto /lineto load +def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def +} if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul +neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha +y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add +y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 +ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan +def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos +dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos +mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos +1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos +ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub +ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto +} repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 +2 roll ArrowB L pop pop } if gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 28320 +45650 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28320 45650 a 28498 46331 a Fx(I)g(I)g(I:2)28320 +45650 y +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 a +tx@Dict begin PutEnd end + 28320 45650 a 28320 +45650 a +tx@Dict begin { -106.69778 -51.21501 } PutCoor PutBegin end + 28320 45650 a 27533 45650 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C1 16 {InitRnode } /NodeScale {} def NewNode end end + 27533 45650 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.5 setgray 1. .setopacityalpha fill + grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 28320 45650 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28320 45650 a 28498 46331 a Fx(I)g(I)g(I:1)28320 45650 +y +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 a +tx@Dict begin PutEnd end + 28320 45650 a 28320 45650 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF2_m_GM2 /N@M1 InitNC { tx@Dict begin +/Lineto /lineto load def 0 setlinejoin false pop end /AngleA -90. +def /AngleB 90. def /ArmA 25.60728 GetEdgeA yA yA1 sub dup mul xA xA1 +sub dup mul add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB +0 def NCAngles } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore grestore end + 28320 45650 a 28320 45650 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF2_m_GM2 /N@GM2 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 28320 45650 a 28320 45650 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF2_m_GM2 /N@GF2 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 28320 45650 a 28320 45650 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF1_m_GM1 /N@A1 InitNC { tx@Dict begin +/Lineto /lineto load def 0 setlinejoin false pop end /AngleA -90. +def /AngleB 90. def /ArmA 25.60728 GetEdgeA yA yA1 sub dup mul xA xA1 +sub dup mul add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB +0 def NCAngles } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore grestore end + 28320 45650 a 28320 45650 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF1_m_GM1 /N@F1 InitNC { tx@Dict begin +/Lineto /lineto load def 0 setlinejoin false pop end /AngleA -90. +def /AngleB 90. def /ArmA 25.60728 GetEdgeA yA yA1 sub dup mul xA xA1 +sub dup mul add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB +0 def NCAngles } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore grestore end + 28320 45650 a 28320 45650 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF1_m_GM1 /N@GM1 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 28320 45650 a 28320 45650 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF1_m_GM1 /N@GF1 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 28320 45650 a 28320 45650 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@P InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 25.60728 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 28320 45650 a 28320 45650 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@S1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 25.60728 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 28320 45650 a 28320 45650 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@S2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 25.60728 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 28320 45650 a 28320 45650 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@M1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 28320 45650 a 28320 45650 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@F1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 28320 45650 a 28320 45650 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A1 /N@C1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 25.60728 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 28320 45650 a 0 TeXcolorgray 25681 70071 a Fv(1)p 0 +TeXcolorgray eop end +%%Page: 2 2 +TeXDict begin 2 1 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 TeXcolorgray +6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 1660 a 6752 +1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.2) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +6863 6974 a +SDict begin H.S end + 6863 6974 a 6863 6974 a +SDict begin 18 H.A end + 6863 6974 a 6863 +6974 a +SDict begin [/View [/XYZ H.V]/Dest (section*.1) cvn /DEST pdfmark end + 6863 6974 a Fu(Con)-50 b(ten)g(ts)p 0 TeXcolorgray +6863 10793 a +SDict begin H.S end + 6863 10793 a Ft(I)1494 b(User)499 b(Man)-42 +b(ual)17345 10793 y +SDict begin 14 H.L end + 17345 10793 a 17345 10793 a +SDict begin [/Subtype /Link/Dest (part.1) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 17345 +10793 a 0 TeXcolorgray 26961 w Ft(4)p 0 TeXcolorgray +6863 13228 a +SDict begin H.S end + 6863 13228 a Fs(1)1025 b(In)-35 b(tro)35 +b(duction)15541 13228 y +SDict begin 12 H.L end + 15541 13228 a 15541 13228 a +SDict begin [/Subtype /Link/Dest (section.1) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 15541 +13228 a 0 TeXcolorgray 28876 w Fs(4)p 0 TeXcolorgray +6863 15663 a +SDict begin H.S end + 6863 15663 a Fs(2)1025 b(Installation)14849 +15663 y +SDict begin 12 H.L end + 14849 15663 a 14849 15663 a +SDict begin [/Subtype /Link/Dest (section.2) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 14849 15663 a 0 TeXcolorgray +29568 w Fs(4)p 0 TeXcolorgray 8524 16992 a +SDict begin H.S end + 8524 16992 +a Fv(2.1)1133 b(System)369 b(Requiremen)-31 b(ts)21523 +16992 y +SDict begin 12 H.L end + 21523 16992 a 21523 16992 a +SDict begin [/Subtype /Link/Dest (subsection.2.1) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 21523 16992 a 0 TeXcolorgray +1114 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f +(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray +1754 w(4)p 0 TeXcolorgray 0 TeXcolorgray 8524 18320 a +SDict begin H.S end + +8524 18320 a Fv(2.2)1133 b(Unix/Lin)-31 b(ux)371 b(Installation)22619 +18320 y +SDict begin 12 H.L end + 22619 18320 a 22619 18320 a +SDict begin [/Subtype /Link/Dest (subsection.2.2) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 22619 18320 a 0 TeXcolorgray +879 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) +g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray 1754 +w(4)p 0 TeXcolorgray 0 TeXcolorgray 8524 19649 a +SDict begin H.S end + 8524 +19649 a Fv(2.3)1133 b(Installation)372 b(in)d(Other)g(Systems)25358 +19649 y +SDict begin 12 H.L end + 25358 19649 a 25358 19649 a +SDict begin [/Subtype /Link/Dest (subsection.2.3) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 25358 19649 a 0 TeXcolorgray +723 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) +g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray 1754 w(5)p 0 TeXcolorgray +0 TeXcolorgray 6863 22084 a +SDict begin H.S end + 6863 22084 a Fs(3)1025 b(Con\014guration) +16171 22084 y +SDict begin 12 H.L end + 16171 22084 a 16171 22084 a +SDict begin [/Subtype /Link/Dest (section.3) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 16171 22084 +a 0 TeXcolorgray 28246 w Fs(5)p 0 TeXcolorgray 8524 23412 +a +SDict begin H.S end + 8524 23412 a Fv(3.1)1133 b(Con\014guration)371 b(V)-92 +b(ariables)371 b(and)e(Lo)31 b(cation)371 b(of)f(Con\014guration)h +(File)39742 23412 y +SDict begin 12 H.L end + 39742 23412 a 39742 23412 a +SDict begin [/Subtype /Link/Dest (subsection.3.1) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 39742 +23412 a 0 TeXcolorgray 975 w Fv(.)554 b(.)g(.)p 0 TeXcolorgray +1754 w(5)p 0 TeXcolorgray 0 TeXcolorgray 8524 24741 a +SDict begin H.S end + +8524 24741 a Fv(3.2)1133 b(Con\014guration)371 b(File)f(F)-92 +b(ormat)23805 24741 y +SDict begin 12 H.L end + 23805 24741 a 23805 24741 a +SDict begin [/Subtype /Link/Dest (subsection.3.2) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 23805 +24741 a 0 TeXcolorgray 554 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g +(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p +0 TeXcolorgray 1754 w(6)p 0 TeXcolorgray 0 TeXcolorgray +8524 26069 a +SDict begin H.S end + 8524 26069 a Fv(3.3)1133 b(T)11684 26307 +y(E)12300 26069 y(X)369 b(Output)h(Setup)20202 26069 +y +SDict begin 12 H.L end + 20202 26069 a 20202 26069 a +SDict begin [/Subtype /Link/Dest (subsection.3.3) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 20202 26069 a 0 TeXcolorgray +713 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) +g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray +1754 w(6)p 0 TeXcolorgray 0 TeXcolorgray 8524 27397 a +SDict begin H.S end + +8524 27397 a Fv(3.4)1133 b(What)369 b(to)h(Prin)-31 b(t)18036 +27397 y +SDict begin 12 H.L end + 18036 27397 a 18036 27397 a +SDict begin [/Subtype /Link/Dest (subsection.3.4) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 18036 27397 a 0 TeXcolorgray +296 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) +g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p +0 TeXcolorgray 1754 w(7)p 0 TeXcolorgray 0 TeXcolorgray +8524 28726 a +SDict begin H.S end + 8524 28726 a Fv(3.5)1133 b(Language)370 +b(and)g(Enco)31 b(ding)22753 28726 y +SDict begin 12 H.L end + 22753 28726 a 22753 +28726 a +SDict begin [/Subtype /Link/Dest (subsection.3.5) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 22753 28726 a 0 TeXcolorgray 745 w Fv(.)554 b(.)g(.)g(.)g(.)g +(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) +p 0 TeXcolorgray 1754 w(8)p 0 TeXcolorgray 0 TeXcolorgray +8524 30054 a +SDict begin H.S end + 8524 30054 a Fv(3.6)1133 b(F)-92 b(on)-31 +b(ts)13705 30054 y +SDict begin 12 H.L end + 13705 30054 a 13705 30054 a +SDict begin [/Subtype /Link/Dest (subsection.3.6) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 13705 +30054 a 0 TeXcolorgray 323 w Fv(.)553 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g +(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) +g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray 1754 w(8)p +0 TeXcolorgray 0 TeXcolorgray 8524 31382 a +SDict begin H.S end + 8524 31382 +a Fv(3.7)1133 b(Lengths)14904 31382 y +SDict begin 12 H.L end + 14904 31382 a 14904 +31382 a +SDict begin [/Subtype /Link/Dest (subsection.3.7) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 14904 31382 a 0 TeXcolorgray 845 w Fv(.)554 b(.)g(.)g(.)g(.)g +(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.) +h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray +1754 w(9)p 0 TeXcolorgray 0 TeXcolorgray 8524 32711 a +SDict begin H.S end + +8524 32711 a Fv(3.8)1133 b(Scaling)370 b(and)g(Rotation)21291 +32711 y +SDict begin 12 H.L end + 21291 32711 a 21291 32711 a +SDict begin [/Subtype /Link/Dest (subsection.3.8) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 21291 32711 a 0 TeXcolorgray +485 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) +f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray +1754 w(9)p 0 TeXcolorgray 0 TeXcolorgray 6863 35146 a +SDict begin H.S end + +6863 35146 a Fs(4)1025 b(Running)425 b(the)g(Program)20802 +35146 y +SDict begin 12 H.L end + 20802 35146 a 20802 35146 a +SDict begin [/Subtype /Link/Dest (section.4) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 20802 35146 a 0 TeXcolorgray +22978 w Fs(10)p 0 TeXcolorgray 8524 36474 a +SDict begin H.S end + 8524 36474 +a Fv(4.1)1133 b(Program)370 b(In)-31 b(v)g(o)31 b(cation)372 +b(And)d(Options)27332 36474 y +SDict begin 12 H.L end + 27332 36474 a 27332 36474 +a +SDict begin [/Subtype /Link/Dest (subsection.4.1) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 27332 36474 a 0 TeXcolorgray 471 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g +(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray +1200 w(10)p 0 TeXcolorgray 0 TeXcolorgray 8524 37803 +a +SDict begin H.S end + 8524 37803 a Fv(4.2)1133 b(Data)370 b(File)15651 37803 +y +SDict begin 12 H.L end + 15651 37803 a 15651 37803 a +SDict begin [/Subtype /Link/Dest (subsection.4.2) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 15651 37803 a 0 TeXcolorgray +959 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) +g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p +0 TeXcolorgray 1200 w(11)p 0 TeXcolorgray 0 TeXcolorgray +8524 39131 a +SDict begin H.S end + 8524 39131 a Fv(4.3)1133 b(Twins)14027 39131 +y +SDict begin 12 H.L end + 14027 39131 a 14027 39131 a +SDict begin [/Subtype /Link/Dest (subsection.4.3) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 14027 39131 a 0 TeXcolorgray +861 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) +g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g +(.)p 0 TeXcolorgray 1200 w(13)p 0 TeXcolorgray 0 TeXcolorgray +8524 40459 a +SDict begin H.S end + 8524 40459 a Fv(4.4)1133 b(Ab)31 b(ortions)15875 +40459 y +SDict begin 12 H.L end + 15875 40459 a 15875 40459 a +SDict begin [/Subtype /Link/Dest (subsection.4.4) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 15875 40459 a 0 TeXcolorgray +735 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) +g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p +0 TeXcolorgray 1200 w(13)p 0 TeXcolorgray 0 TeXcolorgray +8524 41788 a +SDict begin H.S end + 8524 41788 a Fv(4.5)1133 b(Childlessness)369 +b(and)g(Infertilit)-31 b(y)24501 41788 y +SDict begin 12 H.L end + 24501 41788 +a 24501 41788 a +SDict begin [/Subtype /Link/Dest (subsection.4.5) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 24501 41788 a 0 TeXcolorgray 719 w Fv(.)554 +b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g +(.)g(.)g(.)p 0 TeXcolorgray 1200 w(13)p 0 TeXcolorgray +0 TeXcolorgray 8524 43116 a +SDict begin H.S end + 8524 43116 a Fv(4.6)1133 +b(Ordering)369 b(Siblings)h(and)g(Marriage)f(P)-31 b(artners)30856 +43116 y +SDict begin 12 H.L end + 30856 43116 a 30856 43116 a +SDict begin [/Subtype /Link/Dest (subsection.4.6) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 30856 43116 a 0 TeXcolorgray +391 w Fv(.)554 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p +0 TeXcolorgray 1200 w(19)p 0 TeXcolorgray 0 TeXcolorgray +8524 44444 a +SDict begin H.S end + 8524 44444 a Fv(4.7)1133 b(Consanguinic)371 +b(Unions)21259 44444 y +SDict begin 12 H.L end + 21259 44444 a 21259 44444 a +SDict begin [/Subtype /Link/Dest (subsection.4.7) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 21259 +44444 a 0 TeXcolorgray 517 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g +(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p +0 TeXcolorgray 1200 w(26)p 0 TeXcolorgray 0 TeXcolorgray +8524 45773 a +SDict begin H.S end + 8524 45773 a Fv(4.8)1133 b(Language-Dep)31 +b(enden)-31 b(t)370 b(Keyw)-31 b(ords)26391 45773 y +SDict begin 12 H.L end + 26391 +45773 a 26391 45773 a +SDict begin [/Subtype /Link/Dest (subsection.4.8) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 26391 45773 a 0 TeXcolorgray 551 +w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) +g(.)g(.)g(.)p 0 TeXcolorgray 1200 w(26)p 0 TeXcolorgray +0 TeXcolorgray 6863 49592 a +SDict begin H.S end + 6863 49592 a Ft(I)42 b(I)1493 +b(Algorithm)500 b(Description)24238 49592 y +SDict begin 14 H.L end + 24238 49592 +a 24238 49592 a +SDict begin [/Subtype /Link/Dest (part.2) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 24238 49592 a 0 TeXcolorgray 19321 w +Ft(29)p 0 TeXcolorgray 6863 52027 a +SDict begin H.S end + 6863 52027 a Fs(5)1025 +b(In)-35 b(tro)35 b(duction)15541 52027 y +SDict begin 12 H.L end + 15541 52027 +a 15541 52027 a +SDict begin [/Subtype /Link/Dest (section.5) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 15541 52027 a 0 TeXcolorgray 28239 w +Fs(29)p 0 TeXcolorgray 6863 54462 a +SDict begin H.S end + 6863 54462 a Fs(6)1025 +b(Main)424 b(Algorithm)17565 54462 y +SDict begin 12 H.L end + 17565 54462 a 17565 +54462 a +SDict begin [/Subtype /Link/Dest (section.6) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 17565 54462 a 0 TeXcolorgray 26215 w Fs(29)p +0 TeXcolorgray 6863 56898 a +SDict begin H.S end + 6863 56898 a Fs(7)1025 b(Algorithm)425 +b(for)g(Sorting)h(Siblings)e(and)h(Marriage)g(P)-35 b(artners)38621 +56898 y +SDict begin 12 H.L end + 38621 56898 a 38621 56898 a +SDict begin [/Subtype /Link/Dest (section.7) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 38621 56898 a 0 TeXcolorgray +5159 w Fs(30)p 0 TeXcolorgray 6863 59333 a +SDict begin H.S end + 6863 59333 +a Fs(8)1025 b(Mo)35 b(di\014cations)425 b(for)g(Consangunic)h(Unions) +29820 59333 y +SDict begin 12 H.L end + 29820 59333 a 29820 59333 a +SDict begin [/Subtype /Link/Dest (section.8) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 29820 59333 +a 0 TeXcolorgray 13960 w Fs(31)p 0 TeXcolorgray 6863 +61768 a +SDict begin H.S end + 6863 61768 a Fs(9)1025 b(Conclusion)14612 61768 +y +SDict begin 12 H.L end + 14612 61768 a 14612 61768 a +SDict begin [/Subtype /Link/Dest (section.9) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 14612 61768 a 0 TeXcolorgray +29168 w Fs(31)p 0 TeXcolorgray 6863 64204 a +SDict begin H.S end + 6863 64204 +a Fs(10)389 b(Ac)-35 b(kno)g(wledgemen)g(ts)19092 64204 +y +SDict begin 12 H.L end + 19092 64204 a 19092 64204 a +SDict begin [/Subtype /Link/Dest (section.10) cvn/H /I/Border [0 0 +0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 19092 64204 a 0 TeXcolorgray +24688 w Fs(32)p 0 TeXcolorgray 25681 70071 a Fv(2)p 0 +TeXcolorgray eop end +%%Page: 3 3 +TeXDict begin 3 2 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 TeXcolorgray +6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 1660 a 6752 +1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.3) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +6863 6974 a +SDict begin H.S end + 6863 6974 a 6863 6974 a +SDict begin 18 H.A end + 6863 6974 a 6863 +6974 a +SDict begin [/View [/XYZ H.V]/Dest (section*.2) cvn /DEST pdfmark end + 6863 6974 a Fu(List)599 b(of)f(Figures)p 0 TeXcolorgray +8524 9398 a +SDict begin H.S end + 8524 9398 a Fv(1)1993 b(Example)292 b(of)g(the)f(T)-31 +b(yp)31 b(eset)292 b(P)-31 b(edigree)292 b(in)f(English)i(\(Data)f +(File)f(from)h(List-)11070 10727 y(ing)p 0 TeXcolorgray +12915 10727 a +SDict begin H.S end + 12915 10727 a 0 TeXcolorgray Fv(7)p 0 TeXcolorgray +13468 10013 a +SDict begin H.R end + 13468 10013 a 13468 10727 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.7) cvn H.B /ANN pdfmark end + 13468 10727 +a 0 TeXcolorgray Fv(\))13898 10727 y +SDict begin 12 H.L end + 13898 10727 a 13898 +10727 a +SDict begin [/Subtype /Link/Dest (figure.1) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 13898 10727 a 0 TeXcolorgray 990 w Fv(.)554 b(.)g(.)g(.)g(.)g +(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) +f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray +1200 w(15)p 0 TeXcolorgray 0 TeXcolorgray 8524 12055 +a +SDict begin H.S end + 8524 12055 a Fv(2)1993 b(Example)552 b(of)f(the)g(T)-31 +b(yp)31 b(eset)551 b(P)-31 b(edigree)552 b(in)e(Russian)h(\(Data)h +(File)f(from)11070 13383 y(Listing)p 0 TeXcolorgray 14781 +13383 a +SDict begin H.S end + 14781 13383 a 0 TeXcolorgray Fv(7)p 0 TeXcolorgray +15334 12670 a +SDict begin H.R end + 15334 12670 a 15334 13383 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.7) cvn H.B /ANN pdfmark end + 15334 13383 +a 0 TeXcolorgray Fv(\))15764 13383 y +SDict begin 12 H.L end + 15764 13383 a 15764 +13383 a +SDict begin [/Subtype /Link/Dest (figure.2) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 15764 13383 a 0 TeXcolorgray 846 w Fv(.)j(.)g(.)g(.)g(.)g(.)g +(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) +g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray 1200 w(16)p +0 TeXcolorgray 0 TeXcolorgray 8524 14712 a +SDict begin H.S end + 8524 14712 +a Fv(3)1993 b(Example)371 b(of)e(a)h(P)-31 b(edigree)370 +b(with)g(Twins)g(\(Data)h(File)e(from)h(Listing)p 0 TeXcolorgray +39884 14712 a +SDict begin H.S end + 39884 14712 a 0 TeXcolorgray Fv(8)p 0 TeXcolorgray +40437 13998 a +SDict begin H.R end + 40437 13998 a 40437 14712 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.8) cvn H.B /ANN pdfmark end + 40437 14712 +a 0 TeXcolorgray Fv(\))40867 14712 y +SDict begin 12 H.L end + 40867 14712 a 40867 +14712 a +SDict begin [/Subtype /Link/Dest (figure.3) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 40867 14712 a 0 TeXcolorgray 711 w Fv(.)554 b(.)p +0 TeXcolorgray 1200 w(17)p 0 TeXcolorgray 0 TeXcolorgray +8524 16040 a +SDict begin H.S end + 8524 16040 a Fv(4)1993 b(Example)371 b(of)e(a)h(P)-31 +b(edigree)370 b(with)g(Ab)31 b(ortions)370 b(\(Data)h(File)e(from)h +(Listing)p 0 TeXcolorgray 41732 16040 a +SDict begin H.S end + 41732 16040 a +0 TeXcolorgray Fv(9)p 0 TeXcolorgray 42285 15327 a +SDict begin H.R end + 42285 +15327 a 42285 16040 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.9) cvn H.B /ANN pdfmark end + 42285 16040 a 0 TeXcolorgray Fv(\))42715 +16040 y +SDict begin 12 H.L end + 42715 16040 a 42715 16040 a +SDict begin [/Subtype /Link/Dest (figure.4) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 42715 16040 a 0 TeXcolorgray +0 TeXcolorgray 1231 w Fv(18)p 0 TeXcolorgray 0 TeXcolorgray +8524 17369 a +SDict begin H.S end + 8524 17369 a Fv(5)1993 b(Example)424 b(of)g(a)f(P)-31 +b(edigree)423 b(with)h(Childlessness)f(\(Data)i(File)e(from)g(List-) +11070 18697 y(ing)p 0 TeXcolorgray 12915 18697 a +SDict begin H.S end + 12915 +18697 a 0 TeXcolorgray Fv(10)p 0 TeXcolorgray 14021 17983 +a +SDict begin H.R end + 14021 17983 a 14021 18697 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.10) cvn H.B /ANN pdfmark end + 14021 18697 a 0 TeXcolorgray +Fv(\))14451 18697 y +SDict begin 12 H.L end + 14451 18697 a 14451 18697 a +SDict begin [/Subtype /Link/Dest (figure.5) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 14451 +18697 a 0 TeXcolorgray 437 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g +(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.) +g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray 1200 w(20)p +0 TeXcolorgray 0 TeXcolorgray 8524 20025 a +SDict begin H.S end + 8524 20025 +a Fv(6)1993 b(P)-31 b(edigree)370 b(from)f(Listing)p +0 TeXcolorgray 21875 20025 a +SDict begin H.S end + 21875 20025 a 0 TeXcolorgray +Fv(12)p 0 TeXcolorgray 22981 19312 a +SDict begin H.R end + 22981 19312 a 22981 +20025 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.12) cvn H.B /ANN pdfmark end + 22981 20025 a 0 TeXcolorgray 22981 20025 a +SDict begin 12 H.L end + 22981 +20025 a 22981 20025 a +SDict begin [/Subtype /Link/Dest (figure.6) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 22981 20025 a 0 TeXcolorgray 517 +w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) +g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray 1200 w(22)p +0 TeXcolorgray 0 TeXcolorgray 8524 21354 a +SDict begin H.S end + 8524 21354 +a Fv(7)1993 b(P)-31 b(edigree)370 b(from)f(Listing)p +0 TeXcolorgray 21875 21354 a +SDict begin H.S end + 21875 21354 a 0 TeXcolorgray +Fv(12)p 0 TeXcolorgray 22981 20640 a +SDict begin H.R end + 22981 20640 a 22981 +21354 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.12) cvn H.B /ANN pdfmark end + 22981 21354 a 0 TeXcolorgray 22981 21354 a +SDict begin 12 H.L end + 22981 +21354 a 22981 21354 a +SDict begin [/Subtype /Link/Dest (figure.7) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 22981 21354 a 0 TeXcolorgray 517 +w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) +g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray 1200 w(23)p +0 TeXcolorgray 0 TeXcolorgray 8524 22682 a +SDict begin H.S end + 8524 22682 +a Fv(8)1993 b(P)-31 b(edigree)370 b(from)f(Listing)p +0 TeXcolorgray 21875 22682 a +SDict begin H.S end + 21875 22682 a 0 TeXcolorgray +Fv(13)p 0 TeXcolorgray 22981 21969 a +SDict begin H.R end + 22981 21969 a 22981 +22682 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.13) cvn H.B /ANN pdfmark end + 22981 22682 a 0 TeXcolorgray 22981 22682 a +SDict begin 12 H.L end + 22981 +22682 a 22981 22682 a +SDict begin [/Subtype /Link/Dest (figure.8) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 22981 22682 a 0 TeXcolorgray 517 +w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) +g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray 1200 w(24)p +0 TeXcolorgray 0 TeXcolorgray 8524 24010 a +SDict begin H.S end + 8524 24010 +a Fv(9)1993 b(P)-31 b(edigree)370 b(from)f(Listing)p +0 TeXcolorgray 21875 24010 a +SDict begin H.S end + 21875 24010 a 0 TeXcolorgray +Fv(14)p 0 TeXcolorgray 22981 23297 a +SDict begin H.R end + 22981 23297 a 22981 +24010 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.14) cvn H.B /ANN pdfmark end + 22981 24010 a 0 TeXcolorgray 22981 24010 a +SDict begin 12 H.L end + 22981 +24010 a 22981 24010 a +SDict begin [/Subtype /Link/Dest (figure.9) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 22981 24010 a 0 TeXcolorgray 517 +w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) +g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray 1200 w(25)p +0 TeXcolorgray 0 TeXcolorgray 8524 25339 a +SDict begin H.S end + 8524 25339 +a Fv(10)1440 b(P)-31 b(edigree)370 b(from)f(Listing)p +0 TeXcolorgray 21875 25339 a +SDict begin H.S end + 21875 25339 a 0 TeXcolorgray +Fv(15)p 0 TeXcolorgray 22981 24625 a +SDict begin H.R end + 22981 24625 a 22981 +25339 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.15) cvn H.B /ANN pdfmark end + 22981 25339 a 0 TeXcolorgray 22981 25339 a +SDict begin 12 H.L end + 22981 +25339 a 22981 25339 a +SDict begin [/Subtype /Link/Dest (figure.10) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 22981 25339 a 0 TeXcolorgray 517 +w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) +g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray 1200 w(27)p +0 TeXcolorgray 0 TeXcolorgray 8524 26667 a +SDict begin H.S end + 8524 26667 +a Fv(11)1440 b(Subp)31 b(edigrees)368 b(and)i(Do)-31 +b(wn)g(w)g(ard)371 b(T)-92 b(ree)27521 26667 y +SDict begin 12 H.L end + 27521 +26667 a 27521 26667 a +SDict begin [/Subtype /Link/Dest (figure.11) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 27521 26667 a 0 TeXcolorgray 282 +w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) +g(.)g(.)p 0 TeXcolorgray 1200 w(30)p 0 TeXcolorgray 6863 +30328 a +SDict begin H.S end + 6863 30328 a 6863 30328 a +SDict begin 18 H.A end + 6863 30328 a 6863 30328 +a +SDict begin [/View [/XYZ H.V]/Dest (section*.3) cvn /DEST pdfmark end + 6863 30328 a Fu(List)599 b(of)f(T)-149 b(ables)p 0 +TeXcolorgray 8524 32752 a +SDict begin H.S end + 8524 32752 a Fv(1)1993 b(Keyw)-31 +b(ords)369 b(in)h(Di\013eren)-31 b(t)369 b(Languages)27138 +32752 y +SDict begin 12 H.L end + 27138 32752 a 27138 32752 a +SDict begin [/Subtype /Link/Dest (table.1) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color +[1 0 0] H.B /ANN pdfmark end + 27138 32752 a 0 TeXcolorgray +665 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) +g(.)g(.)g(.)p 0 TeXcolorgray 1200 w(28)p 0 TeXcolorgray +6863 36413 a +SDict begin H.S end + 6863 36413 a 6863 36413 a +SDict begin 18 H.A end + 6863 36413 a 6863 +36413 a +SDict begin [/View [/XYZ H.V]/Dest (section*.4) cvn /DEST pdfmark end + 6863 36413 a Fu(List)599 b(of)f(Listings)p 0 +TeXcolorgray 8524 38837 a +SDict begin H.S end + 8524 38837 a Fv(1)1993 b(Con\014guration)371 +b(File:)493 b(Setting)387 b(T)25155 39076 y(E)25771 38837 +y(X)369 b(Output)30536 38837 y +SDict begin 12 H.L end + 30536 38837 a 30536 38837 +a +SDict begin [/Subtype /Link/Dest (lstlisting.1) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 30536 38837 a 0 TeXcolorgray 711 w Fv(.)554 b(.)g(.)g(.)f(.)h(.)g(.)g +(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray 1754 w(7)p +0 TeXcolorgray 0 TeXcolorgray 8524 40166 a +SDict begin H.S end + 8524 40166 +a Fv(2)1993 b(Con\014guration)371 b(File:)493 b(Cho)31 +b(osing)371 b(Fields)e(to)h(Prin)-31 b(t)32657 40166 +y +SDict begin 12 H.L end + 32657 40166 a 32657 40166 a +SDict begin [/Subtype /Link/Dest (lstlisting.2) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 32657 40166 a 0 TeXcolorgray +312 w Fv(.)554 b(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p +0 TeXcolorgray 1754 w(8)p 0 TeXcolorgray 0 TeXcolorgray +8524 41494 a +SDict begin H.S end + 8524 41494 a Fv(3)1993 b(Con\014guration)371 +b(File:)493 b(Cho)31 b(osing)371 b(Language)g(and)e(Enco)31 +b(ding)37229 41494 y +SDict begin 12 H.L end + 37229 41494 a 37229 41494 a +SDict begin [/Subtype /Link/Dest (lstlisting.3) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 37229 +41494 a 0 TeXcolorgray 905 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)p +0 TeXcolorgray 1754 w(9)p 0 TeXcolorgray 0 TeXcolorgray +8524 42822 a +SDict begin H.S end + 8524 42822 a Fv(4)1993 b(Con\014guration)371 +b(File:)493 b(Cho)31 b(osing)371 b(F)-92 b(on)-31 b(ts)28181 +42822 y +SDict begin 12 H.L end + 28181 42822 a 28181 42822 a +SDict begin [/Subtype /Link/Dest (lstlisting.4) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 28181 42822 a 0 TeXcolorgray +483 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) +g(.)g(.)p 0 TeXcolorgray 1754 w(9)p 0 TeXcolorgray 0 +TeXcolorgray 8524 44151 a +SDict begin H.S end + 8524 44151 a Fv(5)1993 b(Con\014guration)371 +b(File:)493 b(Cho)31 b(osing)371 b(Lengths)29380 44151 +y +SDict begin 12 H.L end + 29380 44151 a 29380 44151 a +SDict begin [/Subtype /Link/Dest (lstlisting.5) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 29380 44151 a 0 TeXcolorgray +1006 w Fv(.)554 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g +(.)p 0 TeXcolorgray 1200 w(10)p 0 TeXcolorgray 0 TeXcolorgray +8524 45479 a +SDict begin H.S end + 8524 45479 a Fv(6)1993 b(Con\014guration)371 +b(File:)493 b(Cho)31 b(osing)371 b(Scaling)g(and)f(Rotation)35768 +45479 y +SDict begin 12 H.L end + 35768 45479 a 35768 45479 a +SDict begin [/Subtype /Link/Dest (lstlisting.6) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 35768 45479 a 0 TeXcolorgray +644 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray +1200 w(11)p 0 TeXcolorgray 0 TeXcolorgray 8524 46807 +a +SDict begin H.S end + 8524 46807 a Fv(7)1993 b(Examples)370 b(of)g(Data)g(Files)f +(\(English)i(and)e(Russian\))33500 46807 y +SDict begin 12 H.L end + 33500 46807 +a 33500 46807 a +SDict begin [/Subtype /Link/Dest (lstlisting.7) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 33500 46807 a 0 TeXcolorgray 330 w Fv(.)553 +b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray +1200 w(14)p 0 TeXcolorgray 0 TeXcolorgray 8524 48136 +a +SDict begin H.S end + 8524 48136 a Fv(8)1993 b(Example)371 b(of)e(Data)h(File)g(with)g +(Twins)27356 48136 y +SDict begin 12 H.L end + 27356 48136 a 27356 48136 a +SDict begin [/Subtype /Link/Dest (lstlisting.8) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 27356 +48136 a 0 TeXcolorgray 447 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h +(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray 1200 +w(17)p 0 TeXcolorgray 0 TeXcolorgray 8524 49464 a +SDict begin H.S end + 8524 +49464 a Fv(9)1993 b(Example)371 b(of)e(Data)h(File)g(with)g(Ab)31 +b(ortions)29204 49464 y +SDict begin 12 H.L end + 29204 49464 a 29204 49464 a +SDict begin [/Subtype /Link/Dest (lstlisting.9) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 29204 +49464 a 0 TeXcolorgray 321 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g +(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray 1200 w(18)p +0 TeXcolorgray 0 TeXcolorgray 8524 50793 a +SDict begin H.S end + 8524 50793 +a Fv(10)1440 b(Example)371 b(of)e(Data)h(File)g(with)g(Childlessness) +30696 50793 y +SDict begin 12 H.L end + 30696 50793 a 30696 50793 a +SDict begin [/Subtype /Link/Dest (lstlisting.10) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 30696 50793 +a 0 TeXcolorgray 551 w Fv(.)554 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g +(.)g(.)g(.)g(.)p 0 TeXcolorgray 1200 w(19)p 0 TeXcolorgray +0 TeXcolorgray 8524 52121 a +SDict begin H.S end + 8524 52121 a Fv(11)1440 b(A)369 +b(Data)h(File)f(with)i(a)e(Sorting)i(Problem)28617 52121 +y +SDict begin 12 H.L end + 28617 52121 a 28617 52121 a +SDict begin [/Subtype /Link/Dest (lstlisting.11) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 28617 52121 a 0 TeXcolorgray +908 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) +g(.)p 0 TeXcolorgray 1200 w(21)p 0 TeXcolorgray 0 TeXcolorgray +8524 53449 a +SDict begin H.S end + 8524 53449 a Fv(12)1440 b(First)368 b(Solution)k(to)e(the) +f(Problem)h(in)g(Listing)p 0 TeXcolorgray 30844 53449 +a +SDict begin H.S end + 30844 53449 a 0 TeXcolorgray Fv(11)p 0 TeXcolorgray +31950 52736 a +SDict begin H.R end + 31950 52736 a 31950 53449 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.11) cvn H.B /ANN pdfmark end + 31950 53449 +a 0 TeXcolorgray 31950 53449 a +SDict begin 12 H.L end + 31950 53449 a 31950 53449 +a +SDict begin [/Subtype /Link/Dest (lstlisting.12) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 31950 53449 a 0 TeXcolorgray 1019 w Fv(.)554 b(.)f(.)h(.)g(.)g(.)g(.) +g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray 1200 w(21)p 0 TeXcolorgray +0 TeXcolorgray 8524 54778 a +SDict begin H.S end + 8524 54778 a Fv(13)1440 b(Second)369 +b(Solution)i(to)f(the)g(Problem)g(in)f(Listing)p 0 TeXcolorgray +31896 54778 a +SDict begin H.S end + 31896 54778 a 0 TeXcolorgray Fv(11)p 0 +TeXcolorgray 33002 54064 a +SDict begin H.R end + 33002 54064 a 33002 54778 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.11) cvn H.B /ANN pdfmark end + 33002 54778 a 0 TeXcolorgray 33002 54778 a +SDict begin 12 H.L end + 33002 54778 +a 33002 54778 a +SDict begin [/Subtype /Link/Dest (lstlisting.13) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 33002 54778 a 0 TeXcolorgray 828 w Fv(.)553 +b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p 0 TeXcolorgray +1200 w(23)p 0 TeXcolorgray 0 TeXcolorgray 8524 56106 +a +SDict begin H.S end + 8524 56106 a Fv(14)1440 b(A)369 b(P)-31 b(edigree)370 +b(with)g(Una)-31 b(v)g(oidable)373 b(Self-In)-31 b(tersections)33826 +56106 y +SDict begin 12 H.L end + 33826 56106 a 33826 56106 a +SDict begin [/Subtype /Link/Dest (lstlisting.14) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 33826 56106 a 0 TeXcolorgray +864 w Fv(.)554 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)p +0 TeXcolorgray 1200 w(24)p 0 TeXcolorgray 0 TeXcolorgray +8524 57434 a +SDict begin H.S end + 8524 57434 a Fv(15)1440 b(A)369 b(P)-31 +b(edigree)370 b(with)g(Consanguinic)i(Unions)29457 57434 +y +SDict begin 12 H.L end + 29457 57434 a 29457 57434 a +SDict begin [/Subtype /Link/Dest (lstlisting.15) cvn/H /I/Border [0 +0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 29457 57434 a 0 TeXcolorgray +929 w Fv(.)554 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) +p 0 TeXcolorgray 1200 w(26)p 0 TeXcolorgray 0 TeXcolorgray +25681 70071 a(3)p 0 TeXcolorgray eop end +%%Page: 4 4 +TeXDict begin 4 3 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 TeXcolorgray +6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 1660 a 6752 +1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.4) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +6863 5867 a +SDict begin H.S end + 6863 5867 a 6863 5867 a +SDict begin 12 H.A end + 6863 5867 a 6863 +5867 a +SDict begin [/View [/XYZ H.V]/Dest (part.1) cvn /DEST pdfmark end + 6863 5867 a 1107 x Fu(P)-50 b(art)599 b(I)6863 +9741 y Fr(User)861 b(Man)-72 b(ual)6863 11171 y +SDict begin H.S end + 6863 +11171 a 6863 11171 a +SDict begin 12 H.A end + 6863 11171 a 6863 11171 a +SDict begin [/View [/XYZ H.V]/Dest (section.1) cvn /DEST pdfmark end + 6863 11171 +a 1993 x Fu(1)1793 b(In)-50 b(tro)50 b(duction)6863 15588 +y Fv(Medical)343 b(p)31 b(edigree)342 b(is)g(a)h(v)-31 +b(ery)342 b(imp)31 b(ortan)-31 b(t)344 b(to)31 b(ol)344 +b(for)e(clinicians,)350 b(genetic)343 b(researc)-31 b(hers)341 +b(and)6863 16916 y(educators.)485 b(As)346 b(stated)h(in)f([)p +0 TeXcolorgray 18768 16916 a +SDict begin H.S end + 18768 16916 a 0 TeXcolorgray +Fv(1)p 0 TeXcolorgray 19321 16203 a +SDict begin H.R end + 19321 16203 a 19321 +16916 a +SDict begin [/Color [0 1 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (cite.PedigreeNomenclature95) cvn H.B /ANN pdfmark end + 19321 16916 a 0 TeXcolorgray 1 w Fv(],)352 b(\\The)346 +b(construction)i(of)e(an)g(accurate)h(family)h(p)31 b(edigree)346 +b(is)6863 18245 y(a)h(fundamen)-31 b(tal)350 b(comp)31 +b(onen)-31 b(t)348 b(of)f(a)h(clinical)h(genetic)f(ev)-61 +b(aluation)349 b(and)e(of)g(h)-31 b(uman)348 b(genetic)6863 +19573 y(researc)-31 b(h.")474 b(The)315 b(pac)-31 b(k)-61 +b(age)315 b Fq(pst-)55 b(pdgr)316 b Fv([)p 0 TeXcolorgray +23727 19573 a +SDict begin H.S end + 23727 19573 a 0 TeXcolorgray Fv(2)p 0 TeXcolorgray +24280 18860 a +SDict begin H.R end + 24280 18860 a 24280 19573 a +SDict begin [/Color [0 1 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (cite.pst-pdgr06) cvn H.B /ANN pdfmark end + 24280 19573 +a 0 TeXcolorgray 1 w Fv(])f(pro)-31 b(vides)315 b(a)f(set)g(of)h(PST) +-92 b(ric)-31 b(ks)315 b(macros)g(\(see)f([)p 0 TeXcolorgray +43761 19573 a +SDict begin H.S end + 43761 19573 a 0 TeXcolorgray Fv(3)p 0 TeXcolorgray +44314 18860 a +SDict begin H.R end + 44314 18860 a 44314 19573 a +SDict begin [/Color [0 1 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (cite.PSTricks93) cvn H.B /ANN pdfmark end + 44314 19573 +a 0 TeXcolorgray 1 w Fv(]\))6863 20902 y(to)372 b(t)-31 +b(yp)31 b(eset)371 b(p)31 b(edigrees.)496 b(In)370 b(the)h(framew)-31 +b(ork)372 b(of)f Fq(pst-)55 b(pdgr)372 b Fv(the)f(user)f(man)-31 +b(ually)373 b(c)-31 b(ho)31 b(oses)6863 22230 y(co)g(ordinates)323 +b(for)g(eac)-31 b(h)323 b(p)31 b(edigree)322 b(no)31 +b(de)322 b(on)g(the)h(diagram.)479 b(While)322 b(this)h(is)f(relativ) +-31 b(ely)325 b(easy)6863 23558 y(for)476 b(small)h(p)31 +b(edigrees,)502 b(this)476 b(task)g(b)31 b(ecomes)476 +b(increasingly)h(time-consuming)h(for)e(larger)6863 24887 +y(ones.)558 b(There)391 b(ma)-31 b(y)392 b(b)31 b(e)390 +b(sev)-31 b(eral)392 b(approac)-31 b(hes)391 b(to)h(automate)i(it.)558 +b(F)-92 b(or)390 b(example,)399 b(one)391 b(ma)-31 b(y)6863 +26215 y(ha)g(v)g(e)444 b(data)g(ab)31 b(out)443 b(the)g(patien)-31 +b(ts)445 b(and)e(their)g(families)i(in)e(a)g(spreadsheet)f(or)g +(database.)6863 27543 y(Then)386 b(it)h(w)-31 b(ould)387 +b(b)31 b(e)386 b(useful)g(to)g(generate)h(p)31 b(edigrees)386 +b(from)g(suc)-31 b(h)386 b(data.)544 b(This)386 b(is)g(the)g(aim)6863 +28872 y(of)370 b(the)f(program)h Fq(pedigree)g Fv(describ)31 +b(ed)369 b(in)g(this)h(man)-31 b(ual.)8524 30200 y(Spreadsheets)495 +b(and)g(databases)i(can)f(exp)31 b(ort)496 b(the)f(data)i(as)f +(separated)g(v)-61 b(alues)495 b(\014les)6863 31528 y(\(\\csv")428 +b(\014les)e(for)g(Comma)j(Separated)e(V)-92 b(alues\).)665 +b(Our)426 b(program)h(reads)f(these)h(\014les)f(and)6863 +32857 y(outputs)382 b(LaT)-92 b(eX)382 b(co)31 b(de)382 +b(with)h Fq(pst-)55 b(pdgr)382 b Fv(macros.)530 b(W)-92 +b(e)381 b(tried)h(to)g(mak)-31 b(e)383 b(this)f(co)31 +b(de)381 b(read-)6863 34185 y(able,)371 b(so)e(a)g(user)f(migh)-31 +b(t)371 b(t)-31 b(w)g(eak)372 b(it)e(if)f(necessary)-92 +b(.)8524 35513 y(Of)422 b(course,)436 b(man)-31 b(ually)426 +b(pro)31 b(duced)422 b(L)23939 35286 y Fp(A)24427 35513 +y Fv(T)25041 35752 y(E)25657 35513 y(X)h(co)31 b(de)422 +b(is)h(more)g(v)-31 b(ersatile)424 b(than)g(the)f(auto-)6863 +36842 y(matically)354 b(generated)e(one.)486 b(There)351 +b(are)g(certain)g(limitations)k(for)350 b(the)h(program:)41782 +36842 y +SDict begin H.S end + 41782 36842 a 41782 36842 a +SDict begin 12 H.A end + 41782 36842 a 41782 +36842 a +SDict begin [/View [/XYZ H.V]/Dest (Item.1) cvn /DEST pdfmark end + 41782 36842 a Fv(1.)g(only)6863 38170 y(p)31 +b(ersons)453 b(ha)-31 b(ving)456 b(common)g(genes)e(with)h(the)g +(proband)f(or)g(the)g(\\starting)i(p)31 b(erson")454 +b(are)6863 39498 y(included)505 b(in)g(the)g(p)31 b(edigree;)19805 +39498 y +SDict begin H.S end + 19805 39498 a 19805 39498 a +SDict begin 12 H.A end + 19805 39498 a 19805 +39498 a +SDict begin [/View [/XYZ H.V]/Dest (Item.2) cvn /DEST pdfmark end + 19805 39498 a Fv(2.)506 b(no)e(adopted)i(c)-31 +b(hildren,)539 b(sp)31 b(erm)504 b(donors)g(or)h(surrogate)6863 +40827 y(mothers)402 b(are)g(sho)-31 b(wn)402 b(on)h(the)f(p)31 +b(edigree;)24685 40827 y +SDict begin H.S end + 24685 40827 a 24685 40827 a +SDict begin 12 H.A end + +24685 40827 a 24685 40827 a +SDict begin [/View [/XYZ H.V]/Dest (Item.3) cvn /DEST pdfmark end + 24685 40827 a Fv(3.)403 b(only)g(one)f +(disease)g(is)f(sho)-31 b(wn)403 b(on)f(the)g(c)-31 b(hart;)6863 +42155 y +SDict begin H.S end + 6863 42155 a 6863 42155 a +SDict begin 12 H.A end + 6863 42155 a 6863 42155 +a +SDict begin [/View [/XYZ H.V]/Dest (Item.4) cvn /DEST pdfmark end + 6863 42155 a Fv(4.)470 b(the)g(supp)31 b(ort)469 b(for)h +(consanguinic)h(unions)f(and)f(in)-31 b(breeding)471 +b(is)e(rather)g(exp)31 b(erimen)-31 b(tal)6863 43484 +y(\(see)409 b(Section)p 0 TeXcolorgray 13038 43484 a +SDict begin H.S end + +13038 43484 a 0 TeXcolorgray Fv(4.7)p 0 TeXcolorgray +14451 42770 a +SDict begin H.R end + 14451 42770 a 14451 43484 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.7) cvn H.B /ANN pdfmark end + 14451 43484 +a 0 TeXcolorgray Fv(\).)615 b(Subsequen)-31 b(t)410 b(v)-31 +b(ersions)409 b(of)h(the)g(program)g(ma)-31 b(y)410 b(ease)g(some)f(of) +h(these)6863 44812 y(limitations.)6863 46480 y +SDict begin H.S end + 6863 46480 +a 6863 46480 a +SDict begin 12 H.A end + 6863 46480 a 6863 46480 a +SDict begin [/View [/XYZ H.V]/Dest (section.2) cvn /DEST pdfmark end + 6863 46480 a +1993 x Fu(2)1793 b(Installation)6863 49569 y +SDict begin H.S end + 6863 49569 +a 6863 49569 a +SDict begin 12 H.A end + 6863 49569 a 6863 49569 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.2.1) cvn /DEST pdfmark +end + 6863 49569 a +1549 x Ft(2.1)1495 b(System)499 b(Requiremen)-42 b(ts)6863 +53162 y Fv(The)304 b(program)h(requires)e Fo(P)-31 b(erl)305 +b Fv(v)-31 b(ersion)304 b(5)g(or)g(new)-31 b(er)304 b(\(it)h(w)-31 +b(as)305 b(tested)f(with)h Fo(P)-31 b(erl)305 b Fv(v5.8.8,)320 +b(but)6863 54490 y(should)382 b(w)-31 b(ork)382 b(with)g(an)-31 +b(y)398 b Fo(P)-31 b(erl-5)p Fv(\).)531 b(The)381 b(L)24340 +54263 y Fp(A)24828 54490 y Fv(T)25442 54728 y(E)26058 +54490 y(X)g(macros)h(require)f Fq(pst-)55 b(pdgr)382 +b Fv(v)-31 b(ersion)382 b(0.3)6863 55818 y(\(July)370 +b(2007\))i(or)d(new)-31 b(er.)6863 57644 y +SDict begin H.S end + 6863 57644 +a 6863 57644 a +SDict begin 12 H.A end + 6863 57644 a 6863 57644 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.2.2) cvn /DEST pdfmark +end + 6863 57644 a +1273 x Ft(2.2)1495 b(Unix/Lin)-42 b(ux)500 b(Installation)6863 +60960 y Fv(If)400 b(y)-31 b(our)400 b(system)h(has)f(a)g(w)-31 +b(orking)417 b Fo(mak)-31 b(e)401 b Fv(program,)409 b(whic)-31 +b(h)401 b(is)f(the)g(usual)g(case)g(for)g(Unix-)6863 +62289 y(lik)-31 b(e)446 b(en)-31 b(vironmen)g(ts,)466 +b(the)445 b(supplied)f Fq(Makefile)i Fv(installs)g(the)f(executable)h +Fq(pedigree)g Fv(in)6863 63617 y Fq(/usr/local/bin)p +Fv(,)374 b(the)d(libraries)g(in)h Fq(/usr/local/lib/site_perl)i +Fv(and)d(the)g(man)-31 b(ual)6863 64945 y(pages)369 b(in)g +Fq(/usr/local/man)p Fv(.)494 b(This)369 b(is)g(done)f(b)-31 +b(y)369 b(the)g(usual)g(command)h Fq(make)582 b(install)q +Fv(.)p 0 TeXcolorgray 25681 70071 a(4)p 0 TeXcolorgray +eop end +%%Page: 5 5 +TeXDict begin 5 4 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 TeXcolorgray +6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 1660 a 6752 +1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.5) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +6863 6974 a Fv(Optionally)426 b(y)-31 b(ou)424 b(can)g(install)h +(\014les)e(in)h(the)f Fq(doc)h Fv(and)f Fq(examples)h +Fv(sub)31 b(directories)423 b(in)h(the)6863 8302 y(prop)31 +b(er)368 b(places)i(in)f(y)-31 b(our)370 b(system.)6863 +10066 y +SDict begin H.S end + 6863 10066 a 6863 10066 a +SDict begin 12 H.A end + 6863 10066 a 6863 10066 +a +SDict begin [/View [/XYZ H.V]/Dest (subsection.2.3) cvn /DEST pdfmark +end + 6863 10066 a 1335 x Ft(2.3)1495 b(Installation)500 +b(in)f(Other)g(Systems)6863 13444 y Fv(If)310 b(y)-31 +b(our)311 b(system)g(do)31 b(es)310 b(not)i(ha)-31 b(v)g(e)311 +b Fo(mak)-31 b(e)p Fv(,)324 b(y)-31 b(ou)311 b(need)f(to)i(man)-31 +b(ually)313 b(p)31 b(erform)310 b(the)h(follo)-31 b(wing:)6863 +14102 y +SDict begin H.S end + 6863 14102 a 6863 14102 a +SDict begin 12 H.A end + 6863 14102 a 6863 14102 +a +SDict begin [/View [/XYZ H.V]/Dest (Item.5) cvn /DEST pdfmark end + 6863 14102 a 0 TeXcolorgray 8216 15658 a Fv(1.)p 0 +TeXcolorgray 555 w(Install)370 b(the)f(executable)i Fq(pedigree.pl)f +Fv(to)g(the)g(place)g(y)-31 b(our)369 b(system)h(can)f(\014nd)g(it.) +6863 16347 y +SDict begin H.S end + 6863 16347 a 6863 16347 a +SDict begin 12 H.A end + 6863 16347 a 6863 +16347 a +SDict begin [/View [/XYZ H.V]/Dest (Item.6) cvn /DEST pdfmark end + 6863 16347 a 0 TeXcolorgray 8216 17872 a Fv(2.)p +0 TeXcolorgray 555 w(Install)430 b(the)f(libraries:)613 +b Fq(Pedigree.pm)p Fv(,)446 b(directory)429 b Fq(Pedigree)h +Fv(and)g(all)g(\014les)f(in)g(it)9631 19200 y(to)389 +b(the)h Fo(P)-31 b(erl)390 b Fv(searc)-31 b(h)388 b(path.)553 +b(The)390 b(latter)g(is)f(listed)h(in)f(the)g(arra)-31 +b(y)390 b Fq(@INC)p Fv(,)395 b(whic)-31 b(h)390 b(can)9631 +20529 y(b)31 b(e)368 b(c)-31 b(hec)g(k)g(ed)370 b(b)-31 +b(y)370 b(the)f(command)i Fq(perl)582 b(-V)369 b Fv(or)g(its)g(equiv) +-61 b(alen)-31 b(t.)6863 22443 y +SDict begin H.S end + 6863 22443 a 6863 22443 +a +SDict begin 12 H.A end + 6863 22443 a 6863 22443 a +SDict begin [/View [/XYZ H.V]/Dest (section.3) cvn /DEST pdfmark end + 6863 22443 a 1746 x Fu(3)1793 +b(Con\014guration)6863 25596 y +SDict begin H.S end + 6863 25596 a 6863 25596 +a +SDict begin 12 H.A end + 6863 25596 a 6863 25596 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.1) cvn /DEST pdfmark +end + 6863 25596 a 1239 x Ft(3.1)1495 +b(Con\014guration)737 b(V)-125 b(ariables)737 b(and)f(Lo)42 +b(cation)735 b(of)f(Con\014gura-)10267 28385 y(tion)499 +b(File)6863 30428 y Fv(The)485 b(program)g(defaults)h(are)f(su\016cien) +-31 b(t)485 b(for)g(most)g(cases.)839 b(Ho)-31 b(w)g(ev)g(er,)515 +b(if)486 b(y)-31 b(ou)485 b(w)-31 b(an)g(t)486 b(to)6863 +31757 y(dra)-31 b(w)378 b(p)31 b(edigrees)377 b(in)g(a)h(language)h +(other)e(than)h(English,)j(or)c(to)h(t)-31 b(w)g(eak)379 +b(the)f(la)-31 b(y)g(out)379 b(of)f(the)6863 33085 y(p)31 +b(edigrees,)369 b(y)-31 b(ou)370 b(need)f(to)h(c)-31 +b(hange)370 b(the)g(program)g(con\014guration.)8524 34413 +y(The)426 b(b)31 b(eha)-31 b(vior)428 b(of)f(the)g(program)g +Fo(p)31 b(edigree)427 b Fv(is)g(determined)g(b)-31 b(y)427 +b Fn(c)-57 b(on\014gur)g(ation)450 b(vari-)6863 35742 +y(ables.)806 b Fv(There)474 b(are)f(sev)-31 b(eral)474 +b(sources)f(of)h(con\014guration)i(v)-61 b(ariables.)807 +b(They)475 b(are)e(\(in)i(the)6863 37070 y(order)369 +b(of)g(increasing)h(priorit)-31 b(y\):)6863 37790 y +SDict begin H.S end + 6863 +37790 a 6863 37790 a +SDict begin 12 H.A end + 6863 37790 a 6863 37790 a +SDict begin [/View [/XYZ H.V]/Dest (Item.7) cvn /DEST pdfmark end + 6863 37790 +a 0 TeXcolorgray 8216 39284 a Fv(1.)p 0 TeXcolorgray +555 w(Program)370 b(defaults.)6863 39942 y +SDict begin H.S end + 6863 39942 +a 6863 39942 a +SDict begin 12 H.A end + 6863 39942 a 6863 39942 a +SDict begin [/View [/XYZ H.V]/Dest (Item.8) cvn /DEST pdfmark end + 6863 39942 a +0 TeXcolorgray 8216 41498 a Fv(2.)p 0 TeXcolorgray 555 +w(The)336 b(system)h(con\014guration)h(\014le)p 0 TeXcolorgray +23599 41498 a +SDict begin H.S end + 23599 41498 a -402 x Fp(1)24096 41498 y +SDict begin 12 H.L end + +24096 41498 a 24096 41498 a +SDict begin [/Subtype /Link/Dest (Hfootnote.1) cvn/H /I/Border [0 0 +0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 24096 41498 a 0 TeXcolorgray +336 w Fq(/etc/pedigree.cfg)p Fv(.)484 b(On)336 b(T)37526 +41736 y(E)38142 41498 y(XLiv)-31 b(e)337 b(the)g(sys-)9631 +42826 y(tem)246 b(coniguration)j(\014les)d(are)g Fq($TEXMFHOME/texmf-) +55 b(config/pedigree/pedigree.)9631 44155 y(cfg)369 b +Fv(and)g Fq($TEXMFLOCAL/pedigree/pedigree.cfg)p Fv(.)6863 +44843 y +SDict begin H.S end + 6863 44843 a 6863 44843 a +SDict begin 12 H.A end + 6863 44843 a 6863 44843 +a +SDict begin [/View [/XYZ H.V]/Dest (Item.9) cvn /DEST pdfmark end + 6863 44843 a 0 TeXcolorgray 8216 46369 a Fv(3.)p 0 +TeXcolorgray 555 w(User)f(con\014guration)j(\014le)p +0 TeXcolorgray 20312 46369 a +SDict begin H.S end + 20312 46369 a -402 x Fp(2)20809 +46369 y +SDict begin 12 H.L end + 20809 46369 a 20809 46369 a +SDict begin [/Subtype /Link/Dest (Hfootnote.2) cvn/H /I/Border [0 0 +0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 20809 46369 a 0 TeXcolorgray +369 w Fq($HOME/.pedigreerc)p Fv(.)6863 47057 y +SDict begin H.S end + 6863 47057 +a 6863 47057 a +SDict begin 12 H.A end + 6863 47057 a 6863 47057 a +SDict begin [/View [/XYZ H.V]/Dest (Item.10) cvn /DEST pdfmark end + 6863 47057 a +0 TeXcolorgray 8216 48582 a Fv(4.)p 0 TeXcolorgray 555 +w(The)e(\014le)g(sp)31 b(eci\014ed)369 b(b)-31 b(y)370 +b(the)f Fq(-c)g Fv(option)i(\(see)e(Section)p 0 TeXcolorgray +32668 48582 a +SDict begin H.S end + 32668 48582 a 0 TeXcolorgray Fv(4.1)p 0 +TeXcolorgray 34081 47869 a +SDict begin H.R end + 34081 47869 a 34081 48582 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.1) cvn H.B /ANN pdfmark end + 34081 48582 a 0 TeXcolorgray Fv(\).)6863 50796 y(If)g(a)h(\014le)f +(men)-31 b(tioned)371 b(in)f(this)f(list)h(do)31 b(es)369 +b(not)h(exists,)g(the)f(program)h(silen)-31 b(tly)p 0 +TeXcolorgray 38975 50796 a +SDict begin H.S end + 38975 50796 a -401 x Fp(3)39474 +50796 y +SDict begin 12 H.L end + 39474 50796 a 39474 50796 a +SDict begin [/Subtype /Link/Dest (Hfootnote.3) cvn/H /I/Border [0 0 +0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 39474 50796 a 0 TeXcolorgray +369 w Fv(con)g(tin)g(ues.)8524 52125 y(Note)307 b(that)h(ev)-31 +b(en)307 b(if)g(a)g(con\014guration)i(\014le)e(with)h(higher)f(priorit) +-31 b(y)307 b(exists,)320 b(the)307 b(program)6863 53453 +y(reads)472 b(the)i(\014les)e(with)i(lo)-31 b(w)g(er)475 +b(priorit)-31 b(y)474 b(\014rst.)803 b(The)473 b(former)g +Fn(overrides)563 b Fv(the)473 b(latter,)501 b(but)6863 +54781 y(not)449 b(precludes)f(it)i(from)f(reading.)731 +b(In)448 b(other)h(w)-31 b(ords,)469 b(if)449 b Fq(/etc/pedigree.cfg)i +Fv(de\014nes)6863 56110 y(v)-61 b(ariables)402 b Fq($foo)p +0 TeXcolorgray 0 TeXcolorgray 401 w Fv(and)f Fq($bar)p +0 TeXcolorgray 0 TeXcolorgray Fv(,)410 b(and)401 b Fq +($HOME/.pedigreerc)i Fv(de\014nes)d Fq($bar)p 0 TeXcolorgray +0 TeXcolorgray 401 w Fv(and)h Fq($baz)p 0 TeXcolorgray +0 TeXcolorgray 1 w Fv(,)409 b(the)6863 57438 y(program)339 +b(tak)-31 b(es)339 b Fq($foo)p 0 TeXcolorgray 0 TeXcolorgray +339 w Fv(from)g(the)f(\014rst)g(\014le,)345 b(and)338 +b Fq($bar)p 0 TeXcolorgray 0 TeXcolorgray 339 w Fv(and)g +Fq($baz)p 0 TeXcolorgray 0 TeXcolorgray 339 w Fv(from)h(the)f(second)g +(one.)p 0 TeXcolorgray 6863 58362 15276 45 v 8096 59078 +a Fm(1)p 0 TeXcolorgray 8557 59390 a +SDict begin H.S end + 8557 59390 a 8557 +59390 a +SDict begin H.R end + 8557 59390 a 8557 59390 a +SDict begin [/View [/XYZ H.V]/Dest (Hfootnote.1) cvn /DEST pdfmark +end + 8557 59390 a 0 TeXcolorgray +Fl(On)313 b(Unix-lik)-26 b(e)313 b(systems,)h(where)f +Fk(/etc)j Fl(exists)8096 60134 y Fm(2)p 0 TeXcolorgray +8557 60446 a +SDict begin H.S end + 8557 60446 a 8557 60446 a +SDict begin H.R end + 8557 60446 a 8557 +60446 a +SDict begin [/View [/XYZ H.V]/Dest (Hfootnote.2) cvn /DEST pdfmark +end + 8557 60446 a 0 TeXcolorgray Fl(On)d(Unix-lik)-26 +b(e)313 b(systems,)h(where)f Fk($HOME)j Fl(exists)8096 +61190 y Fm(3)p 0 TeXcolorgray 8557 61502 a +SDict begin H.S end + 8557 61502 +a 8557 61502 a +SDict begin H.R end + 8557 61502 a 8557 61502 a +SDict begin [/View [/XYZ H.V]/Dest (Hfootnote.3) cvn /DEST pdfmark +end + 8557 61502 a +0 TeXcolorgray Fl(Unless)e Fk(-)55 b(d)315 b Fl(option)f(is)g +(selected,)h(see)f(Section)p 0 TeXcolorgray 25287 61502 +a +SDict begin H.S end + 25287 61502 a 0 TeXcolorgray Fl(4.1)p 0 TeXcolorgray +26488 60932 a +SDict begin H.R end + 26488 60932 a 26488 61502 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.1) cvn H.B /ANN pdfmark end + 26488 61502 +a 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 25681 +70071 a Fv(5)p 0 TeXcolorgray eop end +%%Page: 6 6 +TeXDict begin 6 5 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 TeXcolorgray +6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 1660 a 6752 +1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.6) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +6863 5867 a +SDict begin H.S end + 6863 5867 a 6863 5867 a +SDict begin 12 H.A end + 6863 5867 a 6863 +5867 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.2) cvn /DEST pdfmark +end + 6863 5867 a 1107 x Ft(3.2)1495 b(Con\014guration)501 +b(File)e(F)-125 b(ormat)6863 9017 y Fv(All)299 b(con\014guration)i +(\014les)d(men)-31 b(tioned)300 b(in)e(Section)p 0 TeXcolorgray +27725 9017 a +SDict begin H.S end + 27725 9017 a 0 TeXcolorgray Fv(3.1)p 0 TeXcolorgray +29138 8304 a +SDict begin H.R end + 29138 8304 a 29138 9017 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.3.1) cvn H.B /ANN pdfmark end + 29138 9017 a 0 +TeXcolorgray Fv(,)314 b(ha)-31 b(v)g(e)299 b(the)f(same)h(format.)471 +b(They)298 b(are)6863 10345 y(actually)393 b(snipp)31 +b(ets)390 b(of)478 b Fo(P)-31 b(erl)391 b Fv(co)31 b(de,)396 +b(executed)391 b(b)-31 b(y)391 b(the)g(program)g Fo(p)31 +b(edigree)p Fv(.)557 b(This)391 b(means,)6863 11674 y(b)-31 +b(y)477 b(the)g(w)-31 b(a)g(y)-92 b(,)505 b(that)478 +b(all)g(precautions)f(usually)h(tak)-31 b(en)478 b(with)g(resp)31 +b(ect)475 b(to)j(programs)f(and)6863 13002 y(scripts,)345 +b(are)339 b(relev)-61 b(an)-31 b(t)340 b(for)f(con\014guration)i +(\014les)e(as)g(w)-31 b(ell.)484 b(In)338 b(particular,)347 +b(it)340 b(is)f(a)g(bad)g(idea)6863 14331 y(to)370 b(ha)-31 +b(v)g(e)370 b(w)-31 b(orld-writable)372 b(system-wide)f +(con\014guration)g(\014le)f Fq(/etc/pedigree.cfg)p Fv(.)8524 +15659 y(The)302 b(co)31 b(de)302 b(in)h(con\014guration)i(\014les)d(is) +g(v)-31 b(ery)302 b(simple,)317 b(and)303 b(one)g(do)31 +b(es)302 b(not)h(need)f(to)h(kno)-31 b(w)6863 16987 y +Fo(P)g(erl)356 b Fv(to)f(edit)h(con\014guration)h(\014les.)488 +b(There)354 b(are)h(sev)-31 b(eral)355 b(simple)h(rules)e(whic)-31 +b(h)356 b(are)e(enough)6863 18316 y(to)370 b(understand)f(these)g +(\014les:)6863 18758 y +SDict begin H.S end + 6863 18758 a 6863 18758 a +SDict begin 12 H.A end + 6863 +18758 a 6863 18758 a +SDict begin [/View [/XYZ H.V]/Dest (Item.11) cvn /DEST pdfmark end + 6863 18758 a 0 TeXcolorgray 8216 +20529 a Fv(1.)p 0 TeXcolorgray 555 w(All)435 b(text)g(after)f +Fj(#)p 0 TeXcolorgray 0 TeXcolorgray 434 w Fv(to)h(the)f(end)g(of)h +(the)f(line)h(is)f(a)g(commen)-31 b(ts.)689 b(In)434 +b(particular,)452 b(the)9631 21858 y(lines)369 b(starting)i(with)f +Fj(#)p 0 TeXcolorgray 0 TeXcolorgray Fv(,)g(are)f(commen)-31 +b(t)371 b(lines.)6863 22516 y +SDict begin H.S end + 6863 22516 a 6863 22516 +a +SDict begin 12 H.A end + 6863 22516 a 6863 22516 a +SDict begin [/View [/XYZ H.V]/Dest (Item.12) cvn /DEST pdfmark end + 6863 22516 a 0 TeXcolorgray +8216 24072 a Fv(2.)p 0 TeXcolorgray 555 w Fo(P)-31 b(erl)370 +b Fv(commands)g(m)-31 b(ust)370 b(end)f(b)-31 b(y)369 +b(semicolon)i Fq(;)p 0 TeXcolorgray 0 TeXcolorgray Fv(.)6863 +24730 y +SDict begin H.S end + 6863 24730 a 6863 24730 a +SDict begin 12 H.A end + 6863 24730 a 6863 24730 +a +SDict begin [/View [/XYZ H.V]/Dest (Item.13) cvn /DEST pdfmark end + 6863 24730 a 0 TeXcolorgray 8216 26286 a Fv(3.)p 0 +TeXcolorgray 555 w(The)e(commands)h(lik)-31 b(e)6863 +26950 y +SDict begin H.S end + 6863 26950 a 6863 26950 a +SDict begin 12 H.A end + 6863 26950 a 6863 26950 +a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.-1) cvn /DEST pdfmark +end + 6863 26950 a 9631 28278 a +SDict begin H.S end + 9631 28278 a 9631 28278 a +SDict begin 12 H.A end + +9631 28278 a 9631 28278 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.-1.1) cvn /DEST pdfmark +end + 9631 28278 a 2889 w Fq($)100 +b(x)g(d)g(i)g(s)g(t)195 b(=)97 b(1)g(.)g(5)g(;)p 0 TeXcolorgray +0 TeXcolorgray 9631 30714 a Fv(or)6863 31378 y +SDict begin H.S end + 6863 31378 +a 6863 31378 a +SDict begin 12 H.A end + 6863 31378 a 6863 31378 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.-2) cvn /DEST pdfmark +end + 6863 31378 a +9631 32706 a +SDict begin H.S end + 9631 32706 a 9631 32706 a +SDict begin 12 H.A end + 9631 32706 a 9631 +32706 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.-2.1) cvn /DEST pdfmark +end + 9631 32706 a 2898 w Fq(@)109 b(f)g(i)g(e)g(l)g(d)g(s)g(f)g(o)g +(r)g(p)g(r)g(i)g(n)g(t)169 b(=)136 b(q)77 b(w)136 b(\()151 +b(N)93 b(a)g(m)g(e)878 b(D)87 b(o)g(B)166 b(\))77 b(;)p +0 TeXcolorgray 0 TeXcolorgray 9631 35141 a Fv(assign)369 +b(v)-61 b(alues)370 b(to)f(the)h(v)-61 b(ariables.)6863 +35799 y +SDict begin H.S end + 6863 35799 a 6863 35799 a +SDict begin 12 H.A end + 6863 35799 a 6863 35799 +a +SDict begin [/View [/XYZ H.V]/Dest (Item.14) cvn /DEST pdfmark end + 6863 35799 a 0 TeXcolorgray 8216 37355 a Fv(4.)p 0 +TeXcolorgray 555 w(V)-92 b(ariables)390 b(starting)g(with)h +Fq($)p 0 TeXcolorgray 0 TeXcolorgray 389 w Fv(are)e(scalars)h(and)f +(tak)-31 b(e)391 b(n)-31 b(umerical)391 b(or)e(string)g(v)-61 +b(alues.)9631 38684 y(V)-92 b(ariables)370 b(starting)g(with)h +Fq(@)p 0 TeXcolorgray 0 TeXcolorgray 369 w Fv(are)e(arra)-31 +b(ys)369 b(and)g(tak)-31 b(e)371 b(list)f(of)g(v)-61 +b(alues.)6863 39342 y +SDict begin H.S end + 6863 39342 a 6863 39342 a +SDict begin 12 H.A end + 6863 +39342 a 6863 39342 a +SDict begin [/View [/XYZ H.V]/Dest (Item.15) cvn /DEST pdfmark end + 6863 39342 a 0 TeXcolorgray 8216 +40898 a Fv(5.)p 0 TeXcolorgray 555 w(A)301 b(bac)-31 +b(kslash)302 b(in)f(single)h(quotes)g(stands)f(for)h(itself,)316 +b(A)301 b(bac)-31 b(kslash)302 b(in)g(double)f(quotes)9631 +42226 y(or)391 b(inside)g Fq(<<)q(END)p 0 TeXcolorgray +0 TeXcolorgray Fv(.)185 b(.)g(.)g Fq(END)p 0 TeXcolorgray +0 TeXcolorgray 391 w Fv(construction)393 b(m)-31 b(ust)392 +b(b)31 b(e)391 b(doubled.)559 b(Compare)393 b(the)e(com-)9631 +43554 y(mands)6863 44218 y +SDict begin H.S end + 6863 44218 a 6863 44218 a +SDict begin 12 H.A end + +6863 44218 a 6863 44218 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.-3) cvn /DEST pdfmark +end + 6863 44218 a 9631 45547 a +SDict begin H.S end + 9631 +45547 a 9631 45547 a +SDict begin 12 H.A end + 9631 45547 a 9631 45547 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.-3.1) cvn /DEST pdfmark +end + 9631 45547 +a 2882 w Fq($)93 b(f)g(o)g(o)152 b(=)135 b(')98 b(\\)166 +b(d)108 b(o)g(c)g(u)g(m)g(e)g(n)g(t)g(c)g(l)g(a)g(s)g(s)186 +b(')97 b(;)9631 46875 y +SDict begin H.S end + 9631 46875 a 9631 46875 a +SDict begin 12 H.A end + 9631 +46875 a 9631 46875 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.-3.2) cvn /DEST pdfmark +end + 9631 46875 a 2882 w Fq($)c(b)g(a)g(r)152 +b(=)116 b(")136 b(\\)77 b(\\)186 b(d)108 b(o)g(c)g(u)g(m)g(e)g(n)g(t)g +(c)g(l)g(a)g(s)g(s)167 b(")117 b(;)p 0 TeXcolorgray 0 +TeXcolorgray 6863 48381 a +SDict begin H.S end + 6863 48381 a 6863 48381 a +SDict begin 12 H.A end + 6863 +48381 a 6863 48381 a +SDict begin [/View [/XYZ H.V]/Dest (Item.16) cvn /DEST pdfmark end + 6863 48381 a 0 TeXcolorgray 8216 +49753 a Fv(6.)p 0 TeXcolorgray 555 w(The)369 b(last)h(command)h(in)e +(the)h(\014le)f(m)-31 b(ust)370 b(b)31 b(e)6863 50417 +y +SDict begin H.S end + 6863 50417 a 6863 50417 a +SDict begin 12 H.A end + 6863 50417 a 6863 50417 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.-4) cvn /DEST pdfmark +end + +6863 50417 a 9631 51746 a +SDict begin H.S end + 9631 51746 a 9631 51746 a +SDict begin 12 H.A end + 9631 +51746 a 9631 51746 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.-4.1) cvn /DEST pdfmark +end + 9631 51746 a 2867 w Fq(1)77 b(;)p +0 TeXcolorgray 0 TeXcolorgray 8524 54624 a Fv(A)437 b(n)-31 +b(um)g(b)31 b(er)437 b(of)h(commen)-31 b(ted)440 b(con\014guration)f +(\014les)e(can)h(b)31 b(e)437 b(found)h(in)f(the)h Fq(examples)6863 +55952 y Fv(sub)31 b(directory)369 b(of)h(the)f(distribution.)8524 +57281 y(In)311 b(the)h(remaining)i(parts)e(of)g(this)g(section)h(w)-31 +b(e)312 b(describ)31 b(e)311 b(the)h(con\014guration)i(v)-61 +b(ariables)6863 58609 y(in)370 b(detail.)6863 60158 y +SDict begin H.S end + +6863 60158 a 6863 60158 a +SDict begin 12 H.A end + 6863 60158 a 6863 60158 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.3) cvn /DEST pdfmark +end + 6863 +60158 a 1550 x Ft(3.3)1495 b(T)11057 62003 y(E)11851 +61708 y(X)499 b(Output)g(Setup)6863 63751 y Fv(A)286 +b(n)-31 b(um)g(b)31 b(er)285 b(of)h(v)-61 b(ariables)286 +b(determine)g(what)h(kind)f(of)372 b(T)29663 63989 y(E)30279 +63751 y(X)285 b(\014le)h(is)f(pro)31 b(duced.)464 b(An)286 +b(example)6863 65079 y(of)370 b(their)f(usage)h(is)f(sho)-31 +b(wn)370 b(on)f(Listing)p 0 TeXcolorgray 23511 65079 +a +SDict begin H.S end + 23511 65079 a 0 TeXcolorgray Fv(1)p 0 TeXcolorgray +24064 64366 a +SDict begin H.R end + 24064 64366 a 24064 65079 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.1) cvn H.B /ANN pdfmark end + 24064 65079 +a 0 TeXcolorgray Fv(.)p 0 TeXcolorgray 25681 70071 a(6)p +0 TeXcolorgray eop end +%%Page: 7 7 +TeXDict begin 7 6 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 TeXcolorgray +6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 1660 a 6752 +1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.7) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 6863 6531 a +SDict begin H.S end + 6863 6531 a 6863 6531 a +SDict begin 12 H.A end + 6863 +6531 a 6863 6531 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.1) cvn /DEST pdfmark +end + 6863 6531 a 6863 7461 a +SDict begin H.S end + 6863 7461 +a 6863 7461 a +SDict begin 12 H.A end + 6863 7461 a 6863 7461 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.1) cvn /DEST pdfmark +end + 6863 7461 a 58 +w Fj(#)833 b(D)77 b(o)854 b(w)77 b(e)868 b(w)93 b(a)g(n)g(t)869 +b(t)77 b(o)868 b(h)93 b(a)g(v)g(e)849 b(a)g(f)93 b(u)g(l)g(l)888 +b(L)97 b(a)g(T)g(e)g(X)6863 8789 y +SDict begin H.S end + 6863 8789 a 6863 8789 +a +SDict begin 12 H.A end + 6863 8789 a 6863 8789 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.2) cvn /DEST pdfmark +end + 6863 8789 a 58 w Fj(#)849 b(f)93 +b(i)g(l)g(e)868 b(o)77 b(r)869 b(j)93 b(u)g(s)g(t)849 +b(a)859 b(f)103 b(r)g(a)g(g)g(m)g(e)g(n)g(t)165 b(?)6863 +10118 y +SDict begin H.S end + 6863 10118 a 6863 10118 a +SDict begin 12 H.A end + 6863 10118 a 6863 10118 +a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.3) cvn /DEST pdfmark +end + 6863 10118 a 58 w Fj(#)6863 11446 y +SDict begin H.S end + 6863 11446 a 6863 +11446 a +SDict begin 12 H.A end + 6863 11446 a 6863 11446 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.4) cvn /DEST pdfmark +end + 6863 11446 a 103 w +Fq($)103 b(f)g(u)g(l)g(l)g(d)g(o)g(c)194 b(=)87 b(1)g(;)6863 +12774 y +SDict begin H.S end + 6863 12774 a 6863 12774 a +SDict begin 12 H.A end + 6863 12774 a 6863 12774 +a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.5) cvn /DEST pdfmark +end + 6863 12774 a 6863 14103 a +SDict begin H.S end + 6863 14103 a 6863 14103 a +SDict begin 12 H.A end + +6863 14103 a 6863 14103 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.6) cvn /DEST pdfmark +end + 6863 14103 a 58 w Fj(#)849 +b(W)93 b(h)g(a)g(t)884 b(k)93 b(i)g(n)g(d)868 b(o)77 +b(f)879 b(d)103 b(o)g(c)g(u)g(m)g(e)g(n)g(t)882 b(d)77 +b(o)853 b(w)77 b(e)869 b(w)93 b(a)g(n)g(t)6863 15431 +y +SDict begin H.S end + 6863 15431 a 6863 15431 a +SDict begin 12 H.A end + 6863 15431 a 6863 15431 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.7) cvn /DEST pdfmark +end + +6863 15431 a 58 w Fj(#)6863 16759 y +SDict begin H.S end + 6863 16759 a 6863 +16759 a +SDict begin 12 H.A end + 6863 16759 a 6863 16759 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.8) cvn /DEST pdfmark +end + 6863 16759 a 109 w +Fq($)109 b(d)g(o)g(c)g(u)g(m)g(e)g(n)g(t)g(h)g(e)g(a)g(d)g(e)g(r)169 +b(=)136 b(')97 b(\\)166 b(d)108 b(o)g(c)g(u)g(m)g(e)g(n)g(t)g(c)g(l)g +(a)g(s)g(s)167 b({)160 b(a)102 b(r)g(t)g(i)g(c)g(l)g(e)159 +b(})136 b(')97 b(;)6863 18088 y +SDict begin H.S end + 6863 18088 a 6863 18088 +a +SDict begin 12 H.A end + 6863 18088 a 6863 18088 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.9) cvn /DEST pdfmark +end + 6863 18088 a 6863 19416 a +SDict begin H.S end + +6863 19416 a 6863 19416 a +SDict begin 12 H.A end + 6863 19416 a 6863 19416 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.10) cvn /DEST pdfmark +end + 6863 +19416 a 58 w Fj(#)856 b(D)100 b(e)g(f)g(i)g(n)g(e)901 +b(a)106 b(d)g(d)g(i)g(t)g(i)g(o)g(n)g(a)g(l)905 b(p)103 +b(a)g(c)g(k)g(a)g(g)g(e)g(s)897 b(h)93 b(e)g(r)g(e)6863 +20744 y +SDict begin H.S end + 6863 20744 a 6863 20744 a +SDict begin 12 H.A end + 6863 20744 a 6863 20744 +a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.11) cvn /DEST pdfmark +end + 6863 20744 a 58 w Fj(#)6863 22073 y +SDict begin H.S end + 6863 22073 a 6863 +22073 a +SDict begin 12 H.A end + 6863 22073 a 6863 22073 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.12) cvn /DEST pdfmark +end + 6863 22073 a 108 w +Fq($)108 b(a)g(d)g(d)g(t)g(o)g(p)g(r)g(e)g(a)g(m)g(b)g(l)g(e)176 +b(=)116 b(<)g(<)146 b(E)87 b(N)g(D)146 b(;)6863 23401 +y +SDict begin H.S end + 6863 23401 a 6863 23401 a +SDict begin 12 H.A end + 6863 23401 a 6863 23401 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.13) cvn /DEST pdfmark +end + +6863 23401 a 77 w Fq(\\)77 b(\\)185 b(u)106 b(s)g(e)g(p)g(a)g(c)g(k)g +(a)g(g)g(e)162 b({)128 b(p)70 b(s)g(t)197 b(-)152 b(p)93 +b(d)g(g)g(r)151 b(})6863 24729 y +SDict begin H.S end + 6863 24729 a 6863 24729 +a +SDict begin 12 H.A end + 6863 24729 a 6863 24729 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.14) cvn /DEST pdfmark +end + 6863 24729 a 87 w Fq(E)87 +b(N)g(D)6863 26058 y +SDict begin H.S end + 6863 26058 a 6863 26058 a +SDict begin 12 H.A end + 6863 26058 +a 6863 26058 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.15) cvn /DEST pdfmark +end + 6863 26058 a 6863 27386 a +SDict begin H.S end + 6863 27386 a +6863 27386 a +SDict begin 12 H.A end + 6863 27386 a 6863 27386 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.16) cvn /DEST pdfmark +end + 6863 27386 a 58 +w Fj(#)833 b(D)77 b(o)854 b(w)77 b(e)868 b(w)93 b(a)g(n)g(t)869 +b(t)77 b(o)872 b(p)97 b(r)g(i)g(n)g(t)853 b(a)i(l)100 +b(e)g(g)g(e)g(n)g(d)157 b(?)6863 28715 y +SDict begin H.S end + 6863 28715 a +6863 28715 a +SDict begin 12 H.A end + 6863 28715 a 6863 28715 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.17) cvn /DEST pdfmark +end + 6863 28715 a 58 +w Fj(#)6863 30043 y +SDict begin H.S end + 6863 30043 a 6863 30043 a +SDict begin 12 H.A end + 6863 30043 +a 6863 30043 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.1.18) cvn /DEST pdfmark +end + 6863 30043 a 107 w Fq($)107 b(p)g(r)g(i)g(n)g(t)g(l)g(e) +g(g)g(e)g(n)g(d)200 b(=)87 b(1)g(;)p 0 TeXcolorgray 0 +TeXcolorgray 13692 32478 a Fv(Listing)371 b(1:)493 b(Con\014guration) +372 b(File:)493 b(Setting)386 b(T)32842 32717 y(E)33458 +32478 y(X)369 b(Output)p 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 8524 37809 a(The)563 b(v)-61 b(ariable)564 +b Fq($fulldoc)p 0 TeXcolorgray 0 TeXcolorgray 565 w Fv(determines)f +(whether)h(the)f(program)h(pro)31 b(duces)563 b(a)g(full)6863 +39137 y(L)7156 38910 y Fp(A)7644 39137 y Fv(T)8258 39375 +y(E)8874 39137 y(X)541 b(\014le)g(with)i(header)e(and)g(pream)-31 +b(ble)542 b(\(when)g Fq($fulldoc)q(=1)p 0 TeXcolorgray +0 TeXcolorgray Fv(\),)585 b(or)541 b(just)h(a)f(snipp)31 +b(et)6863 40465 y(to)370 b(b)31 b(e)369 b(included)h(in)f(a)h(larger)f +(do)31 b(cumen)-31 b(t)370 b(\(when)g Fq($fulldoc)r(=0)p +0 TeXcolorgray 0 TeXcolorgray Fv(\).)493 b(The)369 b(default)i(is)e(1.) +8524 41794 y(The)416 b(v)-61 b(ariable)417 b Fq($documentheader)p +0 TeXcolorgray 0 TeXcolorgray 418 w Fv(is)f(used)g(when)g +Fq($fulldoc)p 0 TeXcolorgray 0 TeXcolorgray 417 w Fv(is)g(1.)634 +b(It)416 b(determines)6863 43122 y(the)337 b(do)31 b(cumen)-31 +b(t)339 b(class)e(of)g(the)g(resulting)354 b(L)24312 +42895 y Fp(A)24800 43122 y Fv(T)25414 43360 y(E)26029 +43122 y(X)337 b(\014le.)483 b(The)337 b(default)h(is)f +Fq(article)h Fv(class,)344 b(set)6863 44450 y(b)-31 b(y)370 +b Fq(\\documentclass{article})s Fv(.)8524 45779 y(By)375 +b(default)h(the)f(pream)-31 b(ble)376 b(of)g(the)f(L)24152 +45552 y Fp(A)24640 45779 y Fv(T)25254 46017 y(E)25870 +45779 y(X)g(\014le)g(created)g(when)h Fq($fulldoc)p 0 +TeXcolorgray 0 TeXcolorgray 376 w Fv(is)f(1,)i(con-)6863 +47107 y(tains)391 b(only)f(the)g(line)h Fq(\\usepackage{pst-pdgr})h +Fv(and,)k(if)390 b(the)g(language)i(c)-31 b(hosen)390 +b(is)f(not)6863 48435 y(English)331 b(\(see)f(Section)p +0 TeXcolorgray 16796 48435 a +SDict begin H.S end + 16796 48435 a 0 TeXcolorgray +Fv(3.5)p 0 TeXcolorgray 18209 47722 a +SDict begin H.R end + 18209 47722 a 18209 +48435 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.3.5) cvn H.B /ANN pdfmark end + 18209 48435 a 0 TeXcolorgray Fv(\),)340 b(the)330 +b(calls)h(of)416 b Fo(bab)31 b(el)330 b Fv(and)f Fo(inputenc)h +Fv(pac)-31 b(k)-61 b(ages.)480 b(The)330 b(v)-61 b(ariable)6863 +49764 y Fq($addtopreamble)p 0 TeXcolorgray 0 TeXcolorgray +2 w Fv(,)420 b(if)411 b(set,)420 b(ma)-31 b(y)411 b(con)-31 +b(tain)412 b(an)-31 b(y)410 b(other)h(L)30612 49537 y +Fp(A)31100 49764 y Fv(T)31714 50002 y(E)32329 49764 y(X)f(co)31 +b(de)410 b(y)-31 b(ou)410 b(migh)-31 b(t)412 b(wish)e(to)6863 +51092 y(add)370 b(to)g(the)f(pream)-31 b(ble.)8524 52420 +y(The)396 b(v)-61 b(ariable)397 b Fq($printlegend)p 0 +TeXcolorgray 0 TeXcolorgray 397 w Fv(determines)g(whether)f(to)g(add)h +(legend)f(to)h(the)f(p)31 b(edi-)6863 53749 y(gree.)493 +b(The)369 b(default)i(v)-61 b(alue)369 b(is)g(1,)h(and)g(the)f(legend)h +(is)f(prin)-31 b(ted.)6863 55513 y +SDict begin H.S end + 6863 55513 a 6863 +55513 a +SDict begin 12 H.A end + 6863 55513 a 6863 55513 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.4) cvn /DEST pdfmark +end + 6863 55513 a 1334 x +Ft(3.4)1495 b(What)499 b(to)f(Prin)-42 b(t)6863 58891 +y Fv(The)335 b(next)h(groups)f(of)h(con\014guration)h(v)-61 +b(ariables)336 b(sets)e(the)i(information)i(to)e(b)31 +b(e)334 b(prin)-31 b(ted)336 b(in)6863 60219 y(the)247 +b(legend)f(and)h(on)f(the)h(p)31 b(edigree.)451 b(It)247 +b(consists)f(of)h(t)-31 b(w)g(o)248 b(arra)-31 b(ys:)431 +b(arra)-31 b(y)246 b Fq(@fieldsforlegend)p 0 TeXcolorgray +0 TeXcolorgray 6863 61547 a Fv(is)359 b(the)f(list)i(of)f(\014elds)g +(\(see)f(Section)p 0 TeXcolorgray 21850 61547 a +SDict begin H.S end + 21850 +61547 a 0 TeXcolorgray Fv(4.2)p 0 TeXcolorgray 23263 +60834 a +SDict begin H.R end + 23263 60834 a 23263 61547 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.2) cvn H.B /ANN pdfmark end + 23263 61547 a 0 TeXcolorgray +Fv(\))i(whic)-31 b(h)360 b(are)e(included)h(in)g(the)g(legend,)j(and)d +(arra)-31 b(y)6863 62876 y Fq(@fieldsforchart)p 0 TeXcolorgray +0 TeXcolorgray 463 w Fv(is)460 b(the)h(list)g(of)g(\014elds)g(to)g +(prin)-31 b(t)461 b(near)f(eac)-31 b(h)461 b(no)31 b(de)461 +b(in)f(the)h(p)31 b(edigree)6863 64204 y(\(Listing)p +0 TeXcolorgray 11005 64204 a +SDict begin H.S end + 11005 64204 a 0 TeXcolorgray +Fv(2)p 0 TeXcolorgray 11558 63491 a +SDict begin H.R end + 11558 63491 a 11558 +64204 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.2) cvn H.B /ANN pdfmark end + 11558 64204 a 0 TeXcolorgray Fv(\).)493 b(Setting)371 +b Fq(@fieldsforchart)p 0 TeXcolorgray 0 TeXcolorgray +372 w Fv(to)f(empt)-31 b(y)370 b(arra)-31 b(y:)6863 65145 +y +SDict begin H.S end + 6863 65145 a 6863 65145 a +SDict begin 12 H.A end + 6863 65145 a 6863 65145 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.-5) cvn /DEST pdfmark +end + +6863 65145 a 6863 66197 a +SDict begin H.S end + 6863 66197 a 6863 66197 a +SDict begin 12 H.A end + 6863 +66197 a 6863 66197 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.-5.1) cvn /DEST pdfmark +end + 6863 66197 a 109 w Fq(@)109 b(f)g(i)g(e)g(l)g(d)g +(s)g(f)g(o)g(r)g(c)g(h)g(a)g(r)g(t)866 b(=)843 b(\()87 +b(\))g(;)p 0 TeXcolorgray 0 TeXcolorgray 25681 70071 +a Fv(7)p 0 TeXcolorgray eop end +%%Page: 8 8 +TeXDict begin 8 7 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 TeXcolorgray +6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 1660 a 6752 +1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.8) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 6863 6531 a +SDict begin H.S end + 6863 6531 a 6863 6531 a +SDict begin 12 H.A end + 6863 +6531 a 6863 6531 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.2) cvn /DEST pdfmark +end + 6863 6531 a 6863 7461 a +SDict begin H.S end + 6863 7461 +a 6863 7461 a +SDict begin 12 H.A end + 6863 7461 a 6863 7461 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.2.1) cvn /DEST pdfmark +end + 6863 7461 a 58 +w Fj(#)856 b(F)100 b(i)g(e)g(l)g(d)g(s)873 b(t)77 b(o)877 +b(i)102 b(n)g(c)g(l)g(u)g(d)g(e)876 b(i)77 b(n)863 b(t)87 +b(h)g(e)885 b(l)100 b(e)g(g)g(e)g(n)g(d)157 b(.)6863 +8789 y +SDict begin H.S end + 6863 8789 a 6863 8789 a +SDict begin 12 H.A end + 6863 8789 a 6863 8789 +a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.2.2) cvn /DEST pdfmark +end + 6863 8789 a 58 w Fj(#)856 b(D)100 b(e)g(l)g(e)g(t)g(e)889 +b(N)93 b(a)g(m)g(e)878 b(f)87 b(o)g(r)887 b(p)102 b(r)g(i)g(v)g(a)g(c)g +(y)904 b(p)106 b(r)g(o)g(t)g(e)g(c)g(t)g(i)g(o)g(n)162 +b(.)6863 10118 y +SDict begin H.S end + 6863 10118 a 6863 10118 a +SDict begin 12 H.A end + 6863 10118 +a 6863 10118 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.2.3) cvn /DEST pdfmark +end + 6863 10118 a 58 w Fj(#)6863 11446 y +SDict begin H.S end + 6863 +11446 a 6863 11446 a +SDict begin 12 H.A end + 6863 11446 a 6863 11446 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.2.4) cvn /DEST pdfmark +end + 6863 11446 +a 109 w Fq(@)109 b(f)g(i)g(e)g(l)g(d)g(s)g(f)g(o)g(r)g(l)g(e)g(g)g(e)g +(n)g(d)874 b(=)833 b(q)77 b(w)136 b(\()152 b(N)93 b(a)g(m)g(e)878 +b(D)87 b(o)g(B)872 b(D)87 b(o)g(D)887 b(C)102 b(o)g(m)g(m)g(e)g(n)g(t) +179 b(\))77 b(;)6863 12774 y +SDict begin H.S end + 6863 12774 a 6863 12774 +a +SDict begin 12 H.A end + 6863 12774 a 6863 12774 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.2.5) cvn /DEST pdfmark +end + 6863 12774 a 6863 14103 a +SDict begin H.S end + +6863 14103 a 6863 14103 a +SDict begin 12 H.A end + 6863 14103 a 6863 14103 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.2.6) cvn /DEST pdfmark +end + 6863 +14103 a 58 w Fj(#)6863 15431 y +SDict begin H.S end + 6863 15431 a 6863 15431 +a +SDict begin 12 H.A end + 6863 15431 a 6863 15431 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.2.7) cvn /DEST pdfmark +end + 6863 15431 a 58 w Fj(#)856 +b(F)100 b(i)g(e)g(l)g(d)g(s)873 b(t)77 b(o)863 b(p)87 +b(u)g(t)863 b(a)77 b(t)863 b(t)87 b(h)g(e)878 b(n)93 +b(o)g(d)g(e)152 b(.)6863 16759 y +SDict begin H.S end + 6863 16759 a 6863 16759 +a +SDict begin 12 H.A end + 6863 16759 a 6863 16759 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.2.8) cvn /DEST pdfmark +end + 6863 16759 a 58 w Fj(#)856 +b(D)100 b(e)g(l)g(e)g(t)g(e)889 b(N)93 b(a)g(m)g(e)878 +b(f)87 b(o)g(r)887 b(p)102 b(r)g(i)g(v)g(a)g(c)g(y)904 +b(p)106 b(r)g(o)g(t)g(e)g(c)g(t)g(i)g(o)g(n)162 b(.)6863 +18088 y +SDict begin H.S end + 6863 18088 a 6863 18088 a +SDict begin 12 H.A end + 6863 18088 a 6863 18088 +a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.2.9) cvn /DEST pdfmark +end + 6863 18088 a 58 w Fj(#)6863 19416 y +SDict begin H.S end + 6863 19416 a 6863 +19416 a +SDict begin 12 H.A end + 6863 19416 a 6863 19416 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.2.10) cvn /DEST pdfmark +end + 6863 19416 a 109 w +Fq(@)109 b(f)g(i)g(e)g(l)g(d)g(s)g(f)g(o)g(r)g(c)g(h)g(a)g(r)g(t)866 +b(=)834 b(q)77 b(w)136 b(\()151 b(N)93 b(a)g(m)g(e)171 +b(\))77 b(;)p 0 TeXcolorgray 0 TeXcolorgray 12632 21851 +a Fv(Listing)370 b(2:)493 b(Con\014guration)372 b(File:)493 +b(Cho)31 b(osing)371 b(Fields)e(to)h(Prin)-31 b(t)p 0 +TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +6863 27159 a(prev)g(en)g(ts)369 b(putting)i(additional)i(information)f +(on)d(the)h(p)31 b(edigrees.)8524 28487 y(The)549 b(\014eld)h(names)g +(are)f(describ)31 b(ed)548 b(in)i(Section)p 0 TeXcolorgray +29760 28487 a +SDict begin H.S end + 29760 28487 a 0 TeXcolorgray Fv(4.2)p 0 +TeXcolorgray 31173 27774 a +SDict begin H.R end + 31173 27774 a 31173 28487 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.2) cvn H.B /ANN pdfmark end + 31173 28487 a 0 TeXcolorgray Fv(.)1034 b(Note)551 b(that)f +Fq(AgeAtDeath)h Fv(is)6863 29815 y(a)479 b(sp)31 b(ecial)478 +b(\014eld:)712 b(it)479 b(is)f(the)g(age)h(at)g(death)g(\(or)g(empt)-31 +b(y\))480 b(calculated)g(as)e(the)h(di\013erence)6863 +31144 y(b)31 b(et)-31 b(w)g(een)370 b(the)g(death)g(date)f(and)h(the)f +(birth)h(date.)6863 32693 y +SDict begin H.S end + 6863 32693 a 6863 32693 a +SDict begin 12 H.A end + +6863 32693 a 6863 32693 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.5) cvn /DEST pdfmark +end + 6863 32693 a 1549 x Ft(3.5)1495 +b(Language)500 b(and)f(Enco)42 b(ding)6863 36286 y Fv(The)460 +b(next)f(group)h(of)f(v)-61 b(ariables)460 b(describ)31 +b(es)458 b(the)h(language)i(and)f(enco)31 b(ding)460 +b(of)f(the)h(data)6863 37614 y(\014le)466 b(input)h(and)f(the)g(L)16337 +37387 y Fp(A)16825 37614 y Fv(T)17439 37852 y(E)18055 +37614 y(X)g(output.)784 b(They)467 b(are)f(sho)-31 b(wn)466 +b(in)g(Listing)p 0 TeXcolorgray 37253 37614 a +SDict begin H.S end + 37253 37614 +a 0 TeXcolorgray Fv(3)p 0 TeXcolorgray 37806 36901 a +SDict begin H.R end + +37806 36901 a 37806 37614 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.3) cvn H.B /ANN pdfmark end + 37806 37614 a 0 TeXcolorgray +Fv(.)783 b(The)466 b(v)-61 b(ariable)6863 38942 y Fq($language)p +0 TeXcolorgray 0 TeXcolorgray 508 w Fv(at)507 b(presen)-31 +b(t)506 b(can)g(ha)-31 b(v)g(e)508 b(one)e(of)h(t)-31 +b(w)g(o)508 b(v)-61 b(alues:)768 b Fq(english)507 b Fv(\(the)g +(default\))h(or)6863 40271 y Fq(russian)q Fv(.)582 b(If)399 +b(the)h(v)-61 b(alue)399 b(is)g Fq(russian)q Fv(,)407 +b(the)400 b(output)g(do)31 b(cumen)-31 b(t)400 b(pream)-31 +b(ble)400 b(includes)g(the)6863 41599 y(line)6863 42263 +y +SDict begin H.S end + 6863 42263 a 6863 42263 a +SDict begin 12 H.A end + 6863 42263 a 6863 42263 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.-6) cvn /DEST pdfmark +end + +6863 42263 a 6863 43592 a +SDict begin H.S end + 6863 43592 a 6863 43592 a +SDict begin 12 H.A end + 6863 +43592 a 6863 43592 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.-6.1) cvn /DEST pdfmark +end + 6863 43592 a 58 w Fq(\\)164 b(u)106 +b(s)g(e)g(p)g(a)g(c)g(k)g(a)g(g)g(e)162 b([)e(r)102 b(u)g(s)g(s)g(i)g +(a)g(n)179 b(])77 b({)175 b(b)97 b(a)g(b)g(e)g(l)155 +b(})p 0 TeXcolorgray 0 TeXcolorgray 6863 45584 a Fv(The)301 +b(v)-61 b(ariable)302 b Fq($encoding)p 0 TeXcolorgray +0 TeXcolorgray 302 w Fv(sets)e(the)h(enco)31 b(ding)301 +b(of)h(the)e(L)30518 45357 y Fp(A)31006 45584 y Fv(T)31620 +45822 y(E)32236 45584 y(X)h(\014le)g(if)g(the)g(language)i(is)d(not) +6863 46912 y(English.)639 b(By)418 b(default)h(it)f(is)g +Fq(cp1251)p Fv(,)430 b(if)418 b(the)g(language)i(is)d(Russian.)638 +b(Set)418 b(it)g(to)g Fq(koi8-r)6863 48241 y Fv(to)371 +b(c)-31 b(ho)31 b(ose)370 b(K)-31 b(OI8)371 b(enco)31 +b(ding.)496 b(It)370 b(is)g(w)-31 b(orth)371 b(to)g(note)g(that)g(the)g +(data)g(\014le)f(and)h(the)f(output)6863 49569 y(L)7156 +49342 y Fp(A)7644 49569 y Fv(T)8258 49807 y(E)8874 49569 +y(X)f(\014le)g(are)g(assumed)h(to)g(ha)-31 b(v)g(e)370 +b(the)f(same)h(language)h(and)e(enco)31 b(ding.)8524 +50898 y(If)252 b Fq($language)j Fv(is)e(not)g Fq(english)q +Fv(,)277 b(the)253 b(program)h(recognizes)f(b)31 b(oth)254 +b(English)g(and)f(nativ)-31 b(e)6863 52226 y(names)370 +b(of)f(the)h(\014elds)f(in)g(the)h(data)g(\014le)g(\(see)f(Section)p +0 TeXcolorgray 29851 52226 a +SDict begin H.S end + 29851 52226 a 0 TeXcolorgray +Fv(4.2)p 0 TeXcolorgray 31264 51513 a +SDict begin H.R end + 31264 51513 a 31264 +52226 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.2) cvn H.B /ANN pdfmark end + 31264 52226 a 0 TeXcolorgray Fv(\).)6863 54052 +y +SDict begin H.S end + 6863 54052 a 6863 54052 a +SDict begin 12 H.A end + 6863 54052 a 6863 54052 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.6) cvn /DEST pdfmark +end + +6863 54052 a 1273 x Ft(3.6)1495 b(F)-125 b(on)-42 b(ts)6863 +57368 y Fv(There)421 b(are)f(t)-31 b(w)g(o)423 b(kinds)e(of)g(text)h +(on)e(the)h(c)-31 b(hart:)597 b(the)421 b(text)g(ab)31 +b(o)-31 b(v)g(e)422 b(a)f(no)31 b(de)421 b(and)g(the)g(text)6863 +58696 y(b)31 b(elo)-31 b(w)314 b(a)f(no)31 b(de)p 0 TeXcolorgray +13115 58696 a +SDict begin H.S end + 13115 58696 a -401 x Fp(4)13612 58696 y +SDict begin 12 H.L end + +13612 58696 a 13612 58696 a +SDict begin [/Subtype /Link/Dest (Hfootnote.4) cvn/H /I/Border [0 0 +0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 13612 58696 a 0 TeXcolorgray +Fv(.)473 b(The)313 b(fon)-31 b(ts)314 b(for)f(them)g(are)g(set)f(b)-31 +b(y)313 b(the)g(v)-61 b(ariables)314 b Fq($belowtextfont)p +0 TeXcolorgray 0 TeXcolorgray 314 w Fv(\(b)-31 b(y)6863 +60025 y(default)470 b Fq(\\small)q Fv(\))e(and)h Fq($abovetextfont)p +0 TeXcolorgray 0 TeXcolorgray 470 w Fv(\(b)-31 b(y)469 +b(default)h Fq(\\scriptsize)q Fv(\).)790 b(An)-31 b(y)484 +b(L)42505 59798 y Fp(A)42993 60025 y Fv(T)43607 60263 +y(E)44223 60025 y(X)6863 61353 y(fon)-31 b(t)398 b(declaration)g(lik) +-31 b(e)398 b Fq(\\sffamily)g Fv(or)e Fq(\\itshape)h +Fv(is)g(allo)-31 b(w)g(ed)399 b(here.)573 b(See)397 b(Listing)p +0 TeXcolorgray 42778 61353 a +SDict begin H.S end + 42778 61353 a 0 TeXcolorgray +Fv(4)p 0 TeXcolorgray 43331 60640 a +SDict begin H.R end + 43331 60640 a 43331 +61353 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.4) cvn H.B /ANN pdfmark end + 43331 61353 a 0 TeXcolorgray 397 w Fv(for)6863 +62681 y(an)370 b(example)g(of)g(usage.)p 0 TeXcolorgray +6863 63605 15276 45 v 8096 64321 a Fm(4)p 0 TeXcolorgray +8557 64633 a +SDict begin H.S end + 8557 64633 a 8557 64633 a +SDict begin H.R end + 8557 64633 a 8557 +64633 a +SDict begin [/View [/XYZ H.V]/Dest (Hfootnote.4) cvn /DEST pdfmark +end + 8557 64633 a 0 TeXcolorgray Fl(The)303 b(T)11004 +64824 y(E)11526 64633 y(X)g(pac)-26 b(k)-52 b(age)305 +b([)p 0 TeXcolorgray 16288 64633 a +SDict begin H.S end + 16288 64633 a 0 TeXcolorgray +Fl(2)p 0 TeXcolorgray 16758 64063 a +SDict begin H.R end + 16758 64063 a 16758 +64633 a +SDict begin [/Color [0 1 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (cite.pst-pdgr06) cvn H.B /ANN pdfmark end + 16758 64633 a 0 TeXcolorgray Fl(])f(also)h(allo)-26 +b(ws)305 b(to)f(place)h(text)e(at)h(b)26 b(oth)304 b(sides)g(of)f(the)h +(no)26 b(de,)306 b(but)d(the)h(program)6863 65685 y Fi(p)26 +b(edigree)315 b Fl(curren)-26 b(tly)313 b(do)26 b(es)314 +b(not)g(use)g(this)g(feature.)p 0 TeXcolorgray 0 TeXcolorgray +25681 70071 a Fv(8)p 0 TeXcolorgray eop end +%%Page: 9 9 +TeXDict begin 9 8 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 TeXcolorgray +6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 1660 a 6752 +1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.9) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 6863 6531 a +SDict begin H.S end + 6863 6531 a 6863 6531 a +SDict begin 12 H.A end + 6863 +6531 a 6863 6531 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.3) cvn /DEST pdfmark +end + 6863 6531 a 6863 7461 a +SDict begin H.S end + 6863 7461 +a 6863 7461 a +SDict begin 12 H.A end + 6863 7461 a 6863 7461 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.3.1) cvn /DEST pdfmark +end + 6863 7461 a 58 +w Fj(#)6863 8789 y +SDict begin H.S end + 6863 8789 a 6863 8789 a +SDict begin 12 H.A end + 6863 8789 +a 6863 8789 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.3.2) cvn /DEST pdfmark +end + 6863 8789 a 58 w Fj(#)859 b(L)103 b(a)g(n)g(g)g(u)g(a)g +(g)g(e)6863 10118 y +SDict begin H.S end + 6863 10118 a 6863 10118 a +SDict begin 12 H.A end + 6863 10118 +a 6863 10118 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.3.3) cvn /DEST pdfmark +end + 6863 10118 a 58 w Fj(#)6863 11446 y +SDict begin H.S end + 6863 +11446 a 6863 11446 a +SDict begin 12 H.A end + 6863 11446 a 6863 11446 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.3.4) cvn /DEST pdfmark +end + 6863 11446 +a 58 w Fj(#)861 b Fh($)105 b Fj(l)g(a)g(n)g(g)g(u)g(a)g(g)g(e)180 +b(=)77 b(")180 b(r)102 b(u)g(s)g(s)g(i)g(a)g(n)178 b(")77 +b(;)6863 12774 y +SDict begin H.S end + 6863 12774 a 6863 12774 a +SDict begin 12 H.A end + 6863 12774 +a 6863 12774 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.3.5) cvn /DEST pdfmark +end + 6863 12774 a 105 w Fq($)105 b(l)g(a)g(n)g(g)g(u)g(a)g(g) +g(e)161 b(=)116 b(")160 b(e)102 b(n)g(g)g(l)g(i)g(s)g(h)159 +b(")117 b(;)6863 14103 y +SDict begin H.S end + 6863 14103 a 6863 14103 a +SDict begin 12 H.A end + 6863 +14103 a 6863 14103 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.3.6) cvn /DEST pdfmark +end + 6863 14103 a 6863 15431 a +SDict begin H.S end + 6863 15431 +a 6863 15431 a +SDict begin 12 H.A end + 6863 15431 a 6863 15431 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.3.7) cvn /DEST pdfmark +end + 6863 15431 a +58 w Fj(#)6863 16759 y +SDict begin H.S end + 6863 16759 a 6863 16759 a +SDict begin 12 H.A end + 6863 +16759 a 6863 16759 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.3.8) cvn /DEST pdfmark +end + 6863 16759 a 58 w Fj(#)859 b(O)103 +b(v)g(e)g(r)g(r)g(i)g(d)g(e)892 b(t)87 b(h)g(e)888 b(e)103 +b(n)g(c)g(o)g(d)g(i)g(n)g(g)6863 18088 y +SDict begin H.S end + 6863 18088 a +6863 18088 a +SDict begin 12 H.A end + 6863 18088 a 6863 18088 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.3.9) cvn /DEST pdfmark +end + 6863 18088 a 58 +w Fj(#)6863 19416 y +SDict begin H.S end + 6863 19416 a 6863 19416 a +SDict begin 12 H.A end + 6863 19416 +a 6863 19416 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.3.10) cvn /DEST pdfmark +end + 6863 19416 a 58 w Fj(#)861 b Fh($)105 +b Fj(e)g(n)g(c)g(o)g(d)g(i)g(n)g(g)180 b(=)77 b(")156 +b(k)77 b(o)g(i)g(8)215 b(-)116 b(r)136 b(")77 b(;)p 0 +TeXcolorgray 0 TeXcolorgray 10345 21851 a Fv(Listing)371 +b(3:)493 b(Con\014guration)372 b(File:)493 b(Cho)31 b(osing)370 +b(Language)h(and)f(Enco)31 b(ding)p 0 TeXcolorgray 0 +TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 6863 25830 +a +SDict begin H.S end + 6863 25830 a 6863 25830 a +SDict begin 12 H.A end + 6863 25830 a 6863 25830 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.4) cvn /DEST pdfmark +end + +6863 25830 a 6863 26760 a +SDict begin H.S end + 6863 26760 a 6863 26760 a +SDict begin 12 H.A end + 6863 +26760 a 6863 26760 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.4.1) cvn /DEST pdfmark +end + 6863 26760 a 58 w Fj(#)6863 28088 +y +SDict begin H.S end + 6863 28088 a 6863 28088 a +SDict begin 12 H.A end + 6863 28088 a 6863 28088 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.4.2) cvn /DEST pdfmark +end + +6863 28088 a 58 w Fj(#)853 b(F)97 b(o)g(n)g(t)g(s)881 +b(f)87 b(o)g(r)873 b(t)87 b(h)g(e)882 b(c)97 b(h)g(a)g(r)g(t)6863 +29417 y +SDict begin H.S end + 6863 29417 a 6863 29417 a +SDict begin 12 H.A end + 6863 29417 a 6863 29417 +a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.4.3) cvn /DEST pdfmark +end + 6863 29417 a 58 w Fj(#)6863 30745 y +SDict begin H.S end + 6863 30745 a 6863 +30745 a +SDict begin 12 H.A end + 6863 30745 a 6863 30745 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.4.4) cvn /DEST pdfmark +end + 6863 30745 a 108 w +Fq($)108 b(b)g(e)g(l)g(o)g(w)g(t)g(e)g(x)g(t)g(f)g(o)g(n)g(t)176 +b(=)135 b(')97 b(\\)156 b(s)97 b(m)g(a)g(l)g(l)174 b(')97 +b(;)6863 32074 y +SDict begin H.S end + 6863 32074 a 6863 32074 a +SDict begin 12 H.A end + 6863 32074 +a 6863 32074 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.4.5) cvn /DEST pdfmark +end + 6863 32074 a 108 w Fq($)108 b(a)g(b)g(o)g(v)g(e)g(t)g(e) +g(x)g(t)g(f)g(o)g(n)g(t)176 b(=)135 b(')97 b(\\)164 b(s)106 +b(c)g(r)g(i)g(p)g(t)g(s)g(i)g(z)g(e)182 b(')97 b(;)p +0 TeXcolorgray 0 TeXcolorgray 14870 34509 a Fv(Listing)371 +b(4:)492 b(Con\014guration)372 b(File:)493 b(Cho)31 b(osing)371 +b(F)-92 b(on)-31 b(ts)p 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 6863 38709 a +SDict begin H.S end + 6863 38709 a 6863 38709 a +SDict begin 12 H.A end + +6863 38709 a 6863 38709 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.7) cvn /DEST pdfmark +end + 6863 38709 a 1107 x Ft(3.7)1495 +b(Lengths)6863 41859 y Fv(The)391 b(next)g(group)g(of)g(v)-61 +b(ariables)392 b(\(Listing)p 0 TeXcolorgray 24891 41859 +a +SDict begin H.S end + 24891 41859 a 0 TeXcolorgray Fv(5)p 0 TeXcolorgray +25444 41146 a +SDict begin H.R end + 25444 41146 a 25444 41859 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.5) cvn H.B /ANN pdfmark end + 25444 41859 +a 0 TeXcolorgray Fv(\))g(sets)e(the)h(distances)g(b)31 +b(et)-31 b(w)g(een)392 b(the)f(k)-31 b(ey)391 b(ele-)6863 +43188 y(men)-31 b(ts)283 b(of)f(the)h(c)-31 b(hart.)464 +b(All)283 b(lengths)g(are)f(in)g(cen)-31 b(timeters)283 +b(\(actually)-92 b(,)303 b(in)282 b Fq(unit)q Fv(s,)299 +b(are)282 b(de\014ned)6863 44516 y(in)370 b(PST)-92 b(ric)-31 +b(ks)369 b([)p 0 TeXcolorgray 13129 44516 a +SDict begin H.S end + 13129 44516 +a 0 TeXcolorgray Fv(3)p 0 TeXcolorgray 13682 43803 a +SDict begin H.R end + +13682 43803 a 13682 44516 a +SDict begin [/Color [0 1 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (cite.PSTricks93) cvn H.B /ANN pdfmark end + 13682 44516 a 0 TeXcolorgray +1 w Fv(]\).)8524 45844 y(The)419 b(v)-61 b(ariable)421 +b Fq($descarmA)p 0 TeXcolorgray 0 TeXcolorgray 421 w +Fv(sets)e(the)h(length)h(of)f(the)g(\014rst)f(segmen)-31 +b(t)421 b(of)f(the)g(descen)-31 b(t)6863 47173 y(line:)526 +b(from)387 b(the)f(paren)-31 b(t)386 b(no)31 b(de)385 +b(to)i(the)f(sibs)f(line,)391 b(as)385 b(measured)h(from)g(the)g(cen) +-31 b(ter)386 b(of)g(the)6863 48501 y(paren)-31 b(t)370 +b(\(see)f([)p 0 TeXcolorgray 12868 48501 a +SDict begin H.S end + 12868 48501 +a 0 TeXcolorgray Fv(2)p 0 TeXcolorgray 13421 47788 a +SDict begin H.R end + +13421 47788 a 13421 48501 a +SDict begin [/Color [0 1 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (cite.pst-pdgr06) cvn H.B /ANN pdfmark end + 13421 48501 a 0 TeXcolorgray +1 w Fv(])g(for)h(more)f(details\).)495 b(By)369 b(default)i(it)f(is)f +(0.8.)8524 49829 y(The)327 b(v)-61 b(ariables)329 b Fq($xdist)p +0 TeXcolorgray 0 TeXcolorgray 328 w Fv(and)f Fq($ydist)p +0 TeXcolorgray 0 TeXcolorgray 328 w Fv(set)f(the)h(distances)g(b)31 +b(et)-31 b(w)g(een)328 b(the)g(no)31 b(des)327 b(along)6863 +51158 y(horizon)-31 b(tal)372 b(and)d(v)-31 b(ertical)371 +b(axes)e(corresp)31 b(ondingly)-92 b(.)494 b(The)369 +b(default)i(for)e(b)31 b(oth)370 b(is)f(2.)6863 52922 +y +SDict begin H.S end + 6863 52922 a 6863 52922 a +SDict begin 12 H.A end + 6863 52922 a 6863 52922 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.3.8) cvn /DEST pdfmark +end + +6863 52922 a 1335 x Ft(3.8)1495 b(Scaling)500 b(and)f(Rotation)6863 +56300 y Fv(Complex)435 b(p)31 b(edigrees)432 b(migh)-31 +b(t)434 b(b)31 b(e)432 b(to)31 b(o)434 b(large)f(to)g(\014t)g(on)g(a)f +(page.)684 b(In)432 b(this)h(case)f(a)h(scaling)6863 +57628 y(and)451 b(\(or\))h(rotation)h(migh)-31 b(t)452 +b(b)31 b(e)451 b(necessary)f(to)h(prin)-31 b(t)451 b(the)g(c)-31 +b(hart.)738 b(Of)451 b(course,)471 b(c)-31 b(hanging)6863 +58957 y(the)404 b(lengths)h(describ)31 b(ed)403 b(in)h(Section)p +0 TeXcolorgray 22826 58957 a +SDict begin H.S end + 22826 58957 a 0 TeXcolorgray +Fv(3.7)p 0 TeXcolorgray 24239 58243 a +SDict begin H.R end + 24239 58243 a 24239 +58957 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.3.7) cvn H.B /ANN pdfmark end + 24239 58957 a 0 TeXcolorgray 405 w Fv(migh)-31 +b(t)406 b(also)e(help,)414 b(but)404 b(the)g(scaling)h(describ)31 +b(ed)6863 60285 y(here)369 b(also)h(c)-31 b(hanged)370 +b(the)f(size)g(of)h(the)f(p)31 b(edigree)370 b(sym)-31 +b(b)31 b(ols.)8524 61613 y(There)426 b(are)h(three)f(v)-61 +b(ariables)427 b(con)-31 b(trolling)430 b(the)d(scaling)h(and)f +(rotation)i(of)e(p)31 b(edigrees:)6863 62942 y Fq($maxW)p +0 TeXcolorgray 0 TeXcolorgray 1 w Fv(,)368 b Fq($maxH)p +0 TeXcolorgray 0 TeXcolorgray 368 w Fv(and)g Fq($rotate)p +0 TeXcolorgray 0 TeXcolorgray 368 w Fv(\(see)g(Listing)p +0 TeXcolorgray 26231 62942 a +SDict begin H.S end + 26231 62942 a 0 TeXcolorgray +Fv(6)p 0 TeXcolorgray 26784 62228 a +SDict begin H.R end + 26784 62228 a 26784 +62942 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.6) cvn H.B /ANN pdfmark end + 26784 62942 a 0 TeXcolorgray Fv(\).)493 b(The)368 +b(v)-61 b(ariables)368 b Fq($maxW)p 0 TeXcolorgray 0 +TeXcolorgray 368 w Fv(and)g Fq($maxH)p 0 TeXcolorgray +0 TeXcolorgray 368 w Fv(are)6863 64270 y(the)359 b(maximal)i(width)e +(and)g(heigh)-31 b(t)359 b(of)g(the)f(c)-31 b(hart)359 +b(in)g(cen)-31 b(timeters.)490 b(Setting)360 b(an)-31 +b(y)359 b(of)f(them)6863 65598 y(to)370 b(zero)f(disables)h(scaling.)p +0 TeXcolorgray 25681 70071 a(9)p 0 TeXcolorgray eop end +%%Page: 10 10 +TeXDict begin 10 9 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 TeXcolorgray +6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 1660 a 6752 +1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.10) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 6863 6531 a +SDict begin H.S end + 6863 6531 a 6863 6531 a +SDict begin 12 H.A end + 6863 +6531 a 6863 6531 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.5) cvn /DEST pdfmark +end + 6863 6531 a 6863 7461 a +SDict begin H.S end + 6863 7461 +a 6863 7461 a +SDict begin 12 H.A end + 6863 7461 a 6863 7461 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.5.1) cvn /DEST pdfmark +end + 6863 7461 a 58 +w Fj(#)6863 8789 y +SDict begin H.S end + 6863 8789 a 6863 8789 a +SDict begin 12 H.A end + 6863 8789 +a 6863 8789 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.5.2) cvn /DEST pdfmark +end + 6863 8789 a 58 w Fj(#)1557 b(d)103 b(e)g(s)g(c)g(a)g(r)g +(m)g(A)881 b(i)77 b(n)853 b(c)77 b(m)6863 10118 y +SDict begin H.S end + 6863 +10118 a 6863 10118 a +SDict begin 12 H.A end + 6863 10118 a 6863 10118 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.5.3) cvn /DEST pdfmark +end + 6863 10118 +a 58 w Fj(#)6863 11446 y +SDict begin H.S end + 6863 11446 a 6863 11446 a +SDict begin 12 H.A end + 6863 +11446 a 6863 11446 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.5.4) cvn /DEST pdfmark +end + 6863 11446 a 105 w Fq($)105 b(d)g(e)g(s)g(c)g(a)g +(r)g(m)g(A)858 b(=)849 b(0)93 b(.)g(8)g(;)6863 12774 +y +SDict begin H.S end + 6863 12774 a 6863 12774 a +SDict begin 12 H.A end + 6863 12774 a 6863 12774 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.5.5) cvn /DEST pdfmark +end + +6863 12774 a 6863 14103 a +SDict begin H.S end + 6863 14103 a 6863 14103 a +SDict begin 12 H.A end + 6863 +14103 a 6863 14103 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.5.6) cvn /DEST pdfmark +end + 6863 14103 a 58 w Fj(#)6863 15431 +y +SDict begin H.S end + 6863 15431 a 6863 15431 a +SDict begin 12 H.A end + 6863 15431 a 6863 15431 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.5.7) cvn /DEST pdfmark +end + +6863 15431 a 58 w Fj(#)861 b(D)105 b(i)g(s)g(t)g(a)g(n)g(c)g(e)g(s)901 +b(b)102 b(e)g(t)g(w)g(e)g(e)g(n)896 b(n)97 b(o)g(d)g(e)g(s)852 +b(\()136 b(i)77 b(n)853 b(c)77 b(m)137 b(\))6863 16759 +y +SDict begin H.S end + 6863 16759 a 6863 16759 a +SDict begin 12 H.A end + 6863 16759 a 6863 16759 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.5.8) cvn /DEST pdfmark +end + +6863 16759 a 58 w Fj(#)6863 18088 y +SDict begin H.S end + 6863 18088 a 6863 +18088 a +SDict begin 12 H.A end + 6863 18088 a 6863 18088 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.5.9) cvn /DEST pdfmark +end + 6863 18088 a 100 w +Fq($)100 b(x)g(d)g(i)g(s)g(t)186 b(=)87 b(2)g(;)6863 +19416 y +SDict begin H.S end + 6863 19416 a 6863 19416 a +SDict begin 12 H.A end + 6863 19416 a 6863 19416 +a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.5.10) cvn /DEST pdfmark +end + 6863 19416 a 100 w Fq($)100 b(y)g(d)g(i)g(s)g(t)186 +b(=)87 b(2)g(;)p 0 TeXcolorgray 0 TeXcolorgray 14271 +21851 a Fv(Listing)370 b(5:)493 b(Con\014guration)372 +b(File:)493 b(Cho)31 b(osing)370 b(Lengths)p 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 8524 27159 a(The)412 b(scaling)h(w)-31 +b(orks)413 b(as)f(follo)-31 b(ws.)623 b(If)412 b(b)31 +b(oth)412 b(heigh)-31 b(t)414 b(and)e(width)h(of)g(the)f(p)31 +b(edigree)412 b(are)6863 28487 y(smaller)358 b(than)f(the)g(limits,)362 +b(no)357 b(scaling)h(is)f(done.)489 b(In)356 b(the)h(other)g(case)g +(the)g(c)-31 b(hart)357 b(is)g(scaled)6863 29815 y(while)385 +b(preserving)d(the)i(asp)31 b(ect)383 b(ratio)i(\(b)-31 +b(y)384 b(c)-31 b(hanging)385 b(the)e(v)-61 b(alue)384 +b(of)g Fq(unit)p Fv(,)j(see)c([)p 0 TeXcolorgray 40966 +29815 a +SDict begin H.S end + 40966 29815 a 0 TeXcolorgray Fv(3)p 0 TeXcolorgray +41519 29102 a +SDict begin H.R end + 41519 29102 a 41519 29815 a +SDict begin [/Color [0 1 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (cite.PSTricks93) cvn H.B /ANN pdfmark end + 41519 29815 +a 0 TeXcolorgray 1 w Fv(]\))h(to)g(\014t)6863 31144 y(in)-31 +b(to)371 b(the)e(limits.)8524 32472 y(The)552 b(v)-61 +b(ariable)554 b Fq($rotate)g Fv(sets)e(the)h(orien)-31 +b(tation)555 b(of)f(the)f(c)-31 b(hart.)1043 b(If)553 +b(it)g(is)g Fq(no)p Fv(,)599 b(the)6863 33800 y(p)31 +b(edigree)485 b(is)h(nev)-31 b(er)485 b(rotated,)516 +b(while)487 b(if)e(it)i Fq(yes)p Fv(,)515 b(it)486 b(is)f(alw)-31 +b(a)g(ys)488 b(rotated)e(ninet)-31 b(y)487 b(degrees)6863 +35129 y(coun)-31 b(terclo)31 b(c)-31 b(kwise.)873 b(If)495 +b(this)h(v)-61 b(ariable)496 b(is)f(set)g(to)h Fq(maybe)g +Fv(\(the)g(default\),)529 b(the)495 b(program)6863 36457 +y(compares)308 b(the)h(scaling)g(for)f(the)g(non-rotated)i(and)e +(rotated)h(p)31 b(edigrees,)321 b(and)308 b(c)-31 b(ho)31 +b(oses)308 b(the)6863 37785 y(orien)-31 b(tation)372 +b(for)e(whic)-31 b(h)370 b(the)f(scaling)i(is)e(closer)g(to)h(one.)6863 +39669 y +SDict begin H.S end + 6863 39669 a 6863 39669 a +SDict begin 12 H.A end + 6863 39669 a 6863 39669 +a +SDict begin [/View [/XYZ H.V]/Dest (section.4) cvn /DEST pdfmark end + 6863 39669 a 1777 x Fu(4)1793 b(Running)598 b(the)h(Program)6863 +42852 y +SDict begin H.S end + 6863 42852 a 6863 42852 a +SDict begin 12 H.A end + 6863 42852 a 6863 42852 +a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.1) cvn /DEST pdfmark +end + 6863 42852 a 1240 x Ft(4.1)1495 b(Program)500 b(In)-42 +b(v)g(o)42 b(cation)500 b(And)f(Options)6863 46135 y +Fv(The)488 b(program)g Fq(pedigree)g Fv(is)g(a)f(command)i(line)f +(program.)848 b(It)488 b(reads)e(the)i(data)h(from)6863 +47464 y(a)471 b(text)g(\014le)f Fq(input_file)i Fv(and)e(pro)31 +b(duces)470 b(an)g(output)i(\014le)e(with)i(L)35635 47237 +y Fp(A)36123 47464 y Fv(T)36737 47702 y(E)37352 47464 +y(X)f(macros.)796 b(The)6863 48792 y(format)371 b(of)f(the)f(input)h +(\014le)f(is)g(describ)31 b(ed)369 b(in)g(Section)p 0 +TeXcolorgray 29544 48792 a +SDict begin H.S end + 29544 48792 a 0 TeXcolorgray +Fv(4.2)p 0 TeXcolorgray 30957 48079 a +SDict begin H.R end + 30957 48079 a 30957 +48792 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.2) cvn H.B /ANN pdfmark end + 30957 48792 a 0 TeXcolorgray Fv(.)493 b(The)370 +b(program)g(in)-31 b(v)g(o)31 b(cation)372 b(is:)p 0 +TeXcolorgray 0 TeXcolorgray 6863 51006 a Fq(pedigree)582 +b([-c)g(configuration_file])i([-d])e([-o)f(output_file])12093 +52334 y([-s)h(start])g(input_file)6863 54548 y Fv(\(the)370 +b(square)f(brac)-31 b(k)g(ets)370 b(sho)-31 b(w)370 b(optional)h +(argumen)-31 b(ts\).)8524 55877 y(All)370 b(argumen)-31 +b(ts)370 b(but)g Fq(input_file)g Fv(are)f(optional.)495 +b(They)370 b(are)f(describ)31 b(ed)368 b(b)31 b(elo)-31 +b(w.)8524 57205 y(The)419 b(option)h Fq(-c)f Fv(selects)g(a)g +Fn(c)-57 b(on\014gur)g(ation)443 b(\014le.)641 b Fv(The)419 +b(format)i(of)e(the)g(con\014guration)6863 58533 y(\014le)315 +b(is)g(describ)31 b(ed)314 b(in)i(Section)p 0 TeXcolorgray +19553 58533 a +SDict begin H.S end + 19553 58533 a 0 TeXcolorgray Fv(3.1)p 0 +TeXcolorgray 20966 57820 a +SDict begin H.R end + 20966 57820 a 20966 58533 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.3.1) cvn H.B /ANN pdfmark end + 20966 58533 a 0 TeXcolorgray Fv(.)476 b(If)315 b(this)g(option)i(is)e +(absen)-31 b(t,)327 b(the)315 b(program)h(uses)e(its)h(o)-31 +b(wn)6863 59862 y(default)249 b(parameters,)273 b(or)248 +b(system-wide)g(or)g(user's)f(defaults,)273 b(as)248 +b(explained)h(in)f(Section)p 0 TeXcolorgray 43331 59862 +a +SDict begin H.S end + 43331 59862 a 0 TeXcolorgray Fv(3.1)p 0 TeXcolorgray +44744 59148 a +SDict begin H.R end + 44744 59148 a 44744 59862 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.3.1) cvn H.B /ANN pdfmark end + 44744 59862 +a 0 TeXcolorgray Fv(.)8524 61190 y(The)496 b(option)i +Fq(-)55 b(d)496 b Fv(selects)g(debugging)i(mo)31 b(de.)874 +b(In)496 b(this)g(mo)31 b(de)497 b(a)f(lot)i(of)e(debugging)6863 +62518 y(messages)369 b(are)g(dump)31 b(ed)370 b(to)g +Fq(stderr)p Fv(.)8524 63847 y(The)417 b(parameter)h Fq(-o)f +Fv(pro)-31 b(vides)417 b(the)g(name)h(of)f(the)h(output)g(\014le.)636 +b(Both)418 b Fq(input_file)6863 65175 y Fv(and)359 b +Fq(output_file)i Fv(can)e(b)31 b(e)359 b(\\-",)j(whic)-31 +b(h)360 b(means)g Fq(stdin)g Fv(for)f(the)g(input)h(and)f +Fq(stdout)h Fv(for)6863 66503 y(the)k(output.)492 b(If)364 +b(the)g(parameter)g Fq(-o)g Fv(is)g(absen)-31 b(t,)366 +b(the)e(program)h(tries)e(to)i(guess)e(the)h(name)p 0 +TeXcolorgray 25405 70071 a(10)p 0 TeXcolorgray eop end +%%Page: 11 11 +TeXDict begin 11 10 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.11) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 6863 6531 a +SDict begin H.S end + 6863 6531 a +6863 6531 a +SDict begin 12 H.A end + 6863 6531 a 6863 6531 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.6) cvn /DEST pdfmark +end + 6863 6531 a 6863 +7461 a +SDict begin H.S end + 6863 7461 a 6863 7461 a +SDict begin 12 H.A end + 6863 7461 a 6863 7461 +a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.6.1) cvn /DEST pdfmark +end + 6863 7461 a 58 w Fj(#)6863 8789 y +SDict begin H.S end + 6863 8789 a 6863 +8789 a +SDict begin 12 H.A end + 6863 8789 a 6863 8789 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.6.2) cvn /DEST pdfmark +end + 6863 8789 a 58 w Fj(#)858 +b(M)102 b(a)g(x)g(i)g(m)g(a)g(l)895 b(w)97 b(i)g(d)g(t)g(h)881 +b(a)87 b(n)g(d)885 b(h)100 b(e)g(i)g(g)g(h)g(t)874 b(o)77 +b(f)863 b(t)87 b(h)g(e)889 b(p)103 b(e)g(d)g(i)g(g)g(r)g(e)g(e)881 +b(i)77 b(n)853 b(c)77 b(m)137 b(.)6863 10118 y +SDict begin H.S end + 6863 10118 +a 6863 10118 a +SDict begin 12 H.A end + 6863 10118 a 6863 10118 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.6.3) cvn /DEST pdfmark +end + 6863 10118 a +58 w Fj(#)843 b(S)87 b(e)g(t)878 b(t)93 b(h)g(i)g(s)869 +b(t)77 b(o)834 b(0)f(t)77 b(o)875 b(s)100 b(w)g(i)g(t)g(c)g(h)883 +b(o)87 b(f)g(f)887 b(s)102 b(c)g(a)g(l)g(i)g(n)g(g)6863 +11446 y +SDict begin H.S end + 6863 11446 a 6863 11446 a +SDict begin 12 H.A end + 6863 11446 a 6863 11446 +a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.6.4) cvn /DEST pdfmark +end + 6863 11446 a 58 w Fj(#)6863 12774 y +SDict begin H.S end + 6863 12774 a 6863 +12774 a +SDict begin 12 H.A end + 6863 12774 a 6863 12774 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.6.5) cvn /DEST pdfmark +end + 6863 12774 a 97 w Fq($)97 +b(m)g(a)g(x)g(W)853 b(=)842 b(1)87 b(5)g(;)6863 14103 +y +SDict begin H.S end + 6863 14103 a 6863 14103 a +SDict begin 12 H.A end + 6863 14103 a 6863 14103 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.6.6) cvn /DEST pdfmark +end + +6863 14103 a 97 w Fq($)97 b(m)g(a)g(x)g(H)853 b(=)842 +b(1)87 b(9)g(;)6863 15431 y +SDict begin H.S end + 6863 15431 a 6863 15431 a +SDict begin 12 H.A end + +6863 15431 a 6863 15431 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.6.7) cvn /DEST pdfmark +end + 6863 15431 a 6863 16759 a +SDict begin H.S end + 6863 +16759 a 6863 16759 a +SDict begin 12 H.A end + 6863 16759 a 6863 16759 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.6.8) cvn /DEST pdfmark +end + 6863 16759 +a 58 w Fj(#)6863 18088 y +SDict begin H.S end + 6863 18088 a 6863 18088 a +SDict begin 12 H.A end + 6863 +18088 a 6863 18088 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.6.9) cvn /DEST pdfmark +end + 6863 18088 a 58 w Fj(#)858 b(W)102 +b(h)g(e)g(t)g(h)g(e)g(r)875 b(t)77 b(o)876 b(r)100 b(o)g(t)g(a)g(t)g(e) +883 b(t)87 b(h)g(e)878 b(p)93 b(a)g(g)g(e)152 b(.)1540 +b(T)87 b(h)g(e)885 b(v)100 b(a)g(l)g(u)g(e)g(s)883 b(a)87 +b(r)g(e)6863 19416 y +SDict begin H.S end + 6863 19416 a 6863 19416 a +SDict begin 12 H.A end + 6863 19416 +a 6863 19416 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.6.10) cvn /DEST pdfmark +end + 6863 19416 a 58 w Fj(#)833 b(')126 b(y)87 +b(e)g(s)181 b(')93 b(,)822 b(')116 b(n)77 b(o)156 b(')824 +b(a)87 b(n)g(d)863 b(')135 b(m)97 b(a)g(y)g(b)g(e)175 +b(')6863 20744 y +SDict begin H.S end + 6863 20744 a 6863 20744 a +SDict begin 12 H.A end + 6863 20744 +a 6863 20744 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.6.11) cvn /DEST pdfmark +end + 6863 20744 a 58 w Fj(#)833 b(I)77 b(f)854 +b(')135 b(m)97 b(a)g(y)g(b)g(e)175 b(')814 b(i)77 b(s)862 +b(c)87 b(h)g(o)g(s)g(e)g(n)235 b(,)843 b(t)87 b(h)g(e)888 +b(p)103 b(e)g(d)g(i)g(g)g(r)g(e)g(e)882 b(i)77 b(s)877 +b(r)102 b(o)g(t)g(a)g(t)g(e)g(d)6863 22073 y +SDict begin H.S end + 6863 22073 +a 6863 22073 a +SDict begin 12 H.A end + 6863 22073 a 6863 22073 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.6.12) cvn /DEST pdfmark +end + 6863 22073 a +58 w Fj(#)833 b(i)77 b(f)869 b(t)93 b(h)g(i)g(s)894 b(p)103 +b(r)g(o)g(v)g(i)g(d)g(e)g(s)904 b(b)100 b(e)g(t)g(t)g(e)g(r)898 +b(s)102 b(c)g(a)g(l)g(i)g(n)g(g)6863 23401 y +SDict begin H.S end + 6863 23401 +a 6863 23401 a +SDict begin 12 H.A end + 6863 23401 a 6863 23401 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.6.13) cvn /DEST pdfmark +end + 6863 23401 a +58 w Fj(#)6863 24729 y +SDict begin H.S end + 6863 24729 a 6863 24729 a +SDict begin 12 H.A end + 6863 +24729 a 6863 24729 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.6.14) cvn /DEST pdfmark +end + 6863 24729 a 102 w Fq($)g(r)g(o)g(t)g(a)g(t)g(e) +856 b(=)833 b(')136 b(m)97 b(a)g(y)g(b)g(e)175 b(')97 +b(;)p 0 TeXcolorgray 0 TeXcolorgray 11076 27165 a Fv(Listing)370 +b(6:)493 b(Con\014guration)372 b(File:)493 b(Cho)31 b(osing)371 +b(Scaling)g(and)e(Rotation)p 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 6863 32472 a(of)401 b(the)g(output)h(\014le)f(from)g +(the)g(name)g(of)g(the)g(input)h(\014le.)587 b(If)400 +b(the)h(input)g(\014le)g(is)g Fq(foo.csv)q Fv(,)6863 +33800 y(the)410 b(output)i(\014le)e(will)i(b)31 b(e)409 +b Fq(foo.tex)q Fv(.)615 b(On)410 b(the)g(other)g(hand,)421 +b(if)411 b(the)f(input)h(\014le)f(is)g Fq(stdin)p Fv(,)6863 +35129 y(the)370 b(output)g(\014le)f(is)h Fq(stdout)p +Fv(.)8524 36457 y(Usually)495 b(p)31 b(edigrees)494 b(are)g(built)h +(starting)g(from)g(the)f(proband)p 0 TeXcolorgray 35383 +36457 a +SDict begin H.S end + 35383 36457 a -402 x Fp(5)35881 36457 y +SDict begin 12 H.L end + 35881 +36457 a 35881 36457 a +SDict begin [/Subtype /Link/Dest (Hfootnote.5) cvn/H /I/Border [0 0 +0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end + 35881 36457 a 0 TeXcolorgray Fv(.)867 +b(Only)494 b(the)h(p)31 b(eople)6863 37785 y(that)485 +b(share)e(genes)g(with)i(the)f(proband,)512 b(are)484 +b(sho)-31 b(wn)484 b(on)f(the)h(p)31 b(edigree.)836 b(Ho)-31 +b(w)g(ev)g(er,)514 b(in)6863 39114 y(some)425 b(cases,)438 +b(for)424 b(example)i(when)f(there)f(is)g(no)g(proband,)439 +b(or)424 b(where)g(there)h(are)f(sev)-31 b(eral)6863 +40442 y(probands,)509 b(it)481 b(is)f(neccessary)g(to)h(o)-31 +b(v)g(erride)481 b(this)g(default)g(and)g(tell)h(the)e(program)i(from) +6863 41771 y(whic)-31 b(h)491 b(p)31 b(erson)489 b(to)h(start.)855 +b(This)490 b(is)g(done)g(using)g(the)g(option)i Fq(-s)p +Fv(.)854 b(If)490 b(it)h(is)e(presen)-31 b(t,)520 b(it)6863 +43099 y(m)-31 b(ust)399 b(b)31 b(e)398 b(follo)-31 b(w)g(ed)402 +b(b)-31 b(y)398 b(the)h(Id)f(of)h(a)g(p)31 b(erson)398 +b(in)g(the)h(data)h(\014le)e(\(see)h(Section)p 0 TeXcolorgray +39980 43099 a +SDict begin H.S end + 39980 43099 a 0 TeXcolorgray Fv(4.2)p 0 +TeXcolorgray 41393 42385 a +SDict begin H.R end + 41393 42385 a 41393 43099 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.2) cvn H.B /ANN pdfmark end + 41393 43099 a 0 TeXcolorgray 399 w Fv(for)g(the)6863 +44427 y(discussion)369 b(of)h(Id\).)8524 45756 y(The)401 +b(option)h Fq(-v)g Fv(is)e(sp)31 b(ecial.)589 b(The)401 +b(in)-31 b(v)g(o)31 b(cation)404 b Fq(pedigree)583 b(-v)401 +b Fv(outputs)g(the)h(v)-31 b(ersion)6863 47084 y(and)370 +b(license)f(information.)6863 48633 y +SDict begin H.S end + 6863 48633 a 6863 +48633 a +SDict begin 12 H.A end + 6863 48633 a 6863 48633 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.2) cvn /DEST pdfmark +end + 6863 48633 a 1550 x +Ft(4.2)1495 b(Data)500 b(File)6863 52226 y Fv(The)299 +b(input)g(for)f(the)h(program)g(is)f(a)h(separated)g(v)-61 +b(alues)298 b(\014le.)470 b(Usually)299 b(suc)-31 b(h)298 +b(\014les)h(are)f(called)6863 53554 y(CSV)456 b(for)g(\\comma)h +(separated)f(v)-61 b(alues".)753 b(Ho)-31 b(w)g(ev)g(er,)479 +b(this)456 b(program)g(uses)f(the)g(v)-31 b(ertical)6863 +54883 y(bar)433 b(\(\\pip)31 b(e"\))434 b Fq(|)f Fv(as)f(a)h +(separator.)684 b(Eac)-31 b(h)433 b(line)h(of)f(this)g(\014le)g(is)f(a) +h Fn(r)-57 b(e)g(c)g(or)g(d)p Fv(.)684 b(The)433 b(lines)g(are)6863 +56211 y(separated)277 b(b)-31 b(y)276 b(pip)31 b(es)276 +b(in)-31 b(to)278 b Fn(\014elds.)461 b Fv(Most)276 b(SQL)g(programs)h +(pro)31 b(duce)276 b(suc)-31 b(h)276 b(\014les)g(b)-31 +b(y)276 b(default.)6863 57539 y(Spreadsheet)392 b(programs)h(will)h +(mak)-31 b(e)393 b(them)g(if)g(y)-31 b(ou)392 b(c)-31 +b(ho)31 b(ose)393 b(\\Sa)-31 b(v)g(e)394 b(As.)184 b(.)h(.)g(")562 +b(option,)400 b(and)6863 58868 y(select)471 b Fq(|)f +Fv(as)g(the)g(\014eld)h(separator,)496 b(and)470 b(empt)-31 +b(y)472 b(text)f(delimiter.)797 b(W)-92 b(e)470 b(sometimes)h(will)6863 +60196 y(call)335 b(the)f(records)e(\\ro)-31 b(ws")335 +b(and)f(the)g(\014elds)f(\\columns")i(to)g(use)e(the)h(familiar)i +(spreadsheet)6863 61524 y(metaphor.)631 b(Normally)417 +b(eac)-31 b(h)415 b(ro)-31 b(w)415 b(corresp)31 b(onds)414 +b(to)h(a)g(p)31 b(erson)414 b(in)h(a)g(p)31 b(edigree.)629 +b(W)-92 b(e)414 b(will)6863 62853 y(call)371 b(this)e(p)31 +b(erson)369 b Fn(the)395 b(curr)-57 b(ent)397 b(p)-57 +b(erson)454 b Fv(when)369 b(describing)h(the)f(\014elds.)p +0 TeXcolorgray 6863 63776 15276 45 v 8096 64492 a Fm(5)p +0 TeXcolorgray 8557 64805 a +SDict begin H.S end + 8557 64805 a 8557 64805 a +SDict begin H.R end + +8557 64805 a 8557 64805 a +SDict begin [/View [/XYZ H.V]/Dest (Hfootnote.5) cvn /DEST pdfmark +end + 8557 64805 a 0 TeXcolorgray +Fl(The)341 b(proband)h(is)h(the)f(\014rst)g(p)26 b(erson)342 +b(among)h(the)f(relativ)-26 b(es)343 b(who)f(came)h(to)g(a)f +(geneticist;)359 b(he)342 b(or)g(she)6863 65856 y(is)314 +b(the)g(primary)f(patien)-26 b(t.)p 0 TeXcolorgray 0 +TeXcolorgray 25405 70071 a Fv(11)p 0 TeXcolorgray eop +end +%%Page: 12 12 +TeXDict begin 12 11 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.12) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 8524 6974 a Fv(The)355 b(width)h(of)g(the)f(\014elds)h +(ma)-31 b(y)356 b(not)g(b)31 b(e)355 b(the)g(same)g(in)h(all)g(ro)-31 +b(ws)356 b(\(or,)j(in)c(other)g(w)-31 b(ords,)6863 8302 +y(the)294 b(pip)31 b(es)292 b Fq(|)h Fv(ma)-31 b(y)295 +b(b)31 b(e)292 b(disaligned\).)470 b(W)-92 b(e)292 b(mak)-31 +b(e)295 b(them)f(aligned)g(in)g(the)f(examples)h(included)6863 +9631 y(in)370 b(this)f(man)-31 b(ual)371 b(just)f(to)g(mak)-31 +b(e)370 b(the)f(text)i(more)e(readable.)8524 10959 y(The)544 +b(\014rst)g(line)h(of)g(the)g(data)h(\014le)e(con)-31 +b(tains)546 b(the)f(names)g(of)g(the)g(\014elds)f(\(\\column)6863 +12287 y(headers"\).)1043 b(The)553 b(\014elds)g(in)f(the)h(subsequen) +-31 b(t)553 b(lines)g(m)-31 b(ust)553 b(matc)-31 b(h)554 +b(the)f(order)f(of)h(the)6863 13616 y(headers.)651 b(An)422 +b(empt)-31 b(y)423 b(\014eld)f(m)-31 b(ust)423 b(b)31 +b(e)421 b(still)j(included)e(\(as)h Fq(||)f Fv(or)g Fq(|)581 +b(|)p Fv(\).)651 b(Otherwise)423 b(the)6863 14944 y(order)358 +b(of)h(columns)h(is)e(arbitrary)h(as)g(long)g(as)g(it)g(is)g(the)g +(same)f(for)h(all)h(ro)-31 b(ws)359 b(\(i.e.)490 b(matc)-31 +b(hes)6863 16272 y(the)370 b(order)e(of)i(\\column)h(headers")e(in)g +(the)h(\014rst)e(line\).)8524 17601 y(All)404 b(\014elds)f(but)g +Fq(Id)h Fv(are)f(optional.)597 b(If)403 b(the)h(v)-61 +b(alue)403 b(is)h(empt)-31 b(y)404 b(for)f(all)i(ro)-31 +b(ws,)412 b(the)404 b(corre-)6863 18929 y(sp)31 b(onding)357 +b(column)g(can)f(b)31 b(e)355 b(dropp)31 b(ed.)488 b(If)356 +b(applicable,)361 b(the)356 b(default)i(v)-61 b(alues)356 +b(for)g(this)g(\014eld)6863 20257 y(will)371 b(b)31 b(e)369 +b(substituted)h(b)-31 b(y)369 b(the)h(program.)8524 21586 +y(On)i(the)h(other)g(hand)g(the)g(data)h(\014le)f(can)g(include)g(an) +-31 b(y)374 b(additional)i(columns)d(as)g(long)6863 22914 +y(as)395 b(their)g(names)g(do)g(not)h(clash)f(with)h(the)g(names)f +(listed)h(b)31 b(elo)-31 b(w)396 b(and)f(the)g(sp)31 +b(ecial)395 b(name)6863 24242 y Fq(AgeAtDeath)r Fv(.)580 +b(These)398 b(additional)k(columns)d(can)g(b)31 b(e)398 +b(included)h(in)g(the)g(c)-31 b(hart)399 b(or)f(legend)6863 +25571 y(as)369 b(describ)31 b(ed)369 b(in)g(Section)p +0 TeXcolorgray 18286 25571 a +SDict begin H.S end + 18286 25571 a 0 TeXcolorgray +Fv(3.4)p 0 TeXcolorgray 19699 24857 a +SDict begin H.R end + 19699 24857 a 19699 +25571 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.3.4) cvn H.B /ANN pdfmark end + 19699 25571 a 0 TeXcolorgray Fv(.)8524 26899 +y(Here)f(is)h(the)h(list)g(of)g(columns)g(and)f(explanation)j(of)e +(their)f(meaning:)p 0 TeXcolorgray 6863 29015 a Fs(Id:)p +0 TeXcolorgray 553 w Fv(Eac)-31 b(h)377 b(line)g(\(including)h(the)e +(sp)31 b(ecial)376 b(lines)g(describ)31 b(ed)376 b(b)31 +b(elo)-31 b(w\))377 b(m)-31 b(ust)377 b(ha)-31 b(v)g(e)376 +b(a)h(unique)9631 30343 y Fq(Id)p Fv(.)486 b(The)349 +b Fq(Id)g Fv(ma)-31 b(y)350 b(con)-31 b(tain)351 b(only)f(Latin)g +(letters)f(and)g(n)-31 b(um)g(b)31 b(ers,)353 b(and)c(start)h(with)g(a) +9631 31671 y(letter.)p 0 TeXcolorgray 6863 33836 a Fs(Name:)p +0 TeXcolorgray 554 w Fv(The)418 b(name)g(of)h(the)f(p)31 +b(erson)417 b(describ)31 b(ed)417 b(in)h(the)h(curren)-31 +b(t)417 b(ro)-31 b(w.)640 b(There)417 b(are)h(also)9631 +35164 y Fn(sp)-57 b(e)g(cial)290 b(names)345 b Fv(when)254 +b(the)g(curren)-31 b(t)254 b(ro)-31 b(w)254 b(describ)31 +b(es)253 b(ab)31 b(ortions)255 b(or)f(infertilit)-31 +b(y)-92 b(.)457 b(They)9631 36493 y(are)311 b(describ)31 +b(ed)311 b(b)31 b(elo)-31 b(w.)475 b(The)312 b(names)g(should)g(not)h +(con)-31 b(tain)314 b(\\sp)31 b(ecial)313 b(sym)-31 b(b)31 +b(ols")313 b(lik)-31 b(e)9631 37821 y(#,)370 b($,)f(\045,)p +14125 37821 333 45 v 769 w(,)g(^,)h(etc.)p 0 TeXcolorgray +6863 39986 a Fs(Sex:)p 0 TeXcolorgray 554 w Fv(The)305 +b(gender)g(of)g(a)g(p)31 b(erson.)471 b(This)305 b(column)h(ma)-31 +b(y)306 b(ha)-31 b(v)g(e)306 b(one)f(of)h(t)-31 b(w)g(o)306 +b(v)-61 b(alues:)461 b Fq(male)305 b Fv(or)9631 41314 +y Fq(female)p Fv(.)491 b(The)365 b(empt)-31 b(y)366 b(v)-61 +b(alue)365 b(corresp)31 b(onds)363 b(to)j(a)f(p)31 b(erson)363 +b(with)j(unkno)-31 b(wn)366 b(gender.)p 0 TeXcolorgray +6863 43479 a Fs(DoB:)p 0 TeXcolorgray 554 w Fv(The)384 +b(date)g(of)g(birth)h(for)e(the)h(curren)-31 b(t)384 +b(p)31 b(erson.)535 b(The)384 b(format)i(is)e Fq(YYYY.MM.DD)q +Fv(.)536 b(If)9631 44807 y(the)459 b(date)g(of)g(birth)g(is)g(not)g +(kno)-31 b(wn,)483 b(the)459 b(\014eld)g(ma)-31 b(y)460 +b(b)31 b(e)458 b(empt)-31 b(y)460 b(or)f(the)g(k)-31 +b(eyw)g(ord)9631 46136 y Fq(unknown)370 b Fv(ma)-31 b(y)370 +b(b)31 b(e)369 b(used.)p 0 TeXcolorgray 6863 48300 a +Fs(DoD:)p 0 TeXcolorgray 554 w Fv(The)486 b(date)h(of)f(death)h(for)f +(curren)-31 b(t)485 b(p)31 b(erson.)842 b(The)486 b(format)h(is)f(the)g +(same)g(as)g(for)9631 49629 y Fq(DoB)p Fv(:)477 b Fq(YYYY.MM.DD)q +Fv(.)482 b(If)337 b(this)h(\014eld)f(is)g(empt)-31 b(y)-92 +b(,)345 b(the)338 b(corresp)31 b(onding)337 b(p)31 b(erson)337 +b(is)g(aliv)-31 b(e.)9631 50957 y(F)-92 b(or)503 b(deceased)i(p)31 +b(ersons)503 b(with)i(an)g(unkno)-31 b(wn)506 b(date)f(of)g(death)g +(use)f(the)h(k)-31 b(eyw)g(ord)9631 52285 y Fq(unknown)q +Fv(.)655 b(Note)425 b(the)f(subtle)g(di\013erence)f(b)31 +b(et)-31 b(w)g(een)425 b(the)f(\014elds)f Fq(DoB)h Fv(and)g +Fq(DoD)p Fv(:)602 b(an)9631 53614 y(empt)-31 b(y)291 +b(v)-61 b(alue)291 b(for)g Fq(DoB)f Fv(is)h(means)f(\\unkno)-31 +b(wn)292 b(birth)f(date")h(while)f(for)g Fq(DoD)g Fv(it)g(means)9631 +54942 y(that)370 b(there)f(is)g(no)h(date)f(of)h(death)g(at)g(all.)p +0 TeXcolorgray 6863 57107 a Fs(Mother:)p 0 TeXcolorgray +555 w Fv(The)g Fq(Id)f Fv(of)h(the)f(mother)h(of)g(the)f(p)31 +b(erson)368 b(\(or)i(empt)-31 b(y\).)p 0 TeXcolorgray +6863 59272 a Fs(F)-106 b(ather:)p 0 TeXcolorgray 554 +w Fv(The)369 b Fq(Id)h Fv(of)f(the)h(father)g(of)f(the)h(p)31 +b(erson)368 b(\(or)i(empt)-31 b(y\).)p 0 TeXcolorgray +6863 61436 a Fs(Proband)p 0 TeXcolorgray 555 w Fv(This)417 +b(\014eld)f(can)h(b)31 b(e)416 b(either)g Fq(yes)h Fv(for)g(the)f +(probands,)429 b(or)416 b(empt)-31 b(y)417 b(\(or)g Fq(no)p +Fv(\))g(for)9631 62765 y(other)250 b(p)31 b(ersons.)452 +b(Note)251 b(that)g(if)g(a)f(p)31 b(edigree)250 b(has)g(no)g(probands)g +(or)g(sev)-31 b(eral)251 b(probands,)9631 64093 y(the)281 +b(program)g(do)31 b(es)281 b(not)g(kno)-31 b(w,)300 b(from)282 +b(whic)-31 b(h)281 b(no)31 b(de)281 b(to)h(start)f(the)g(p)31 +b(edigree.)463 b(There-)9631 65421 y(fore)348 b(in)h(this)g(case)g(the) +g(option)h Fq(-s)f Fv(m)-31 b(ust)349 b(b)31 b(e)348 +b(used)g(to)h(explicitly)j(set)c(the)h Fq(Id)g Fv(of)g(the)9631 +66750 y(starting)370 b(c)-31 b(hart)370 b(no)31 b(de)369 +b(\(see)g(Section)p 0 TeXcolorgray 25392 66750 a +SDict begin H.S end + 25392 +66750 a 0 TeXcolorgray Fv(4.1)p 0 TeXcolorgray 26805 +66036 a +SDict begin H.R end + 26805 66036 a 26805 66750 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.1) cvn H.B /ANN pdfmark end + 26805 66750 a 0 TeXcolorgray +Fv(\).)p 0 TeXcolorgray 25405 70071 a(12)p 0 TeXcolorgray +eop end +%%Page: 13 13 +TeXDict begin 13 12 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.13) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 6863 6974 a Fs(Condition:)p +0 TeXcolorgray 555 w Fv(This)246 b(column)i(can)e(ha)-31 +b(v)g(e)247 b(the)g(v)-61 b(alues)246 b Fq(normal)q Fv(,)271 +b Fq(obligatory)q Fv(,)g Fq(asymptomatic)9631 8302 y +Fv(or)369 b Fq(affected)q Fv(.)492 b(If)369 b(it)h(is)f(empt)-31 +b(y)-92 b(,)371 b(the)e(default)i(v)-61 b(alue)370 b +Fq(normal)f Fv(is)h(assumed.)p 0 TeXcolorgray 6863 10516 +a Fs(Commen)-35 b(t:)p 0 TeXcolorgray 554 w Fv(A)369 +b(commen)-31 b(t)371 b(ab)31 b(out)371 b(the)e(p)31 b(erson.)p +0 TeXcolorgray 6863 12730 a Fs(Twins:)p 0 TeXcolorgray +553 w Fv(If)289 b(the)g(curren)-31 b(t)289 b(p)31 b(erson)288 +b(has)h(t)-31 b(wins,)307 b(they)290 b(are)f(listed)h(in)f(this)g +(column)i(separated)9631 14058 y(b)-31 b(y)369 b(spaces)g(and)g(\(or\)) +h(commas.)494 b(See)369 b(Section)p 0 TeXcolorgray 29454 +14058 a +SDict begin H.S end + 29454 14058 a 0 TeXcolorgray Fv(4.3)p 0 TeXcolorgray +30867 13345 a +SDict begin H.R end + 30867 13345 a 30867 14058 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.3) cvn H.B /ANN pdfmark end + 30867 14058 +a 0 TeXcolorgray 371 w Fv(for)g(more)h(details.)p 0 TeXcolorgray +6863 16272 a Fs(T)-35 b(yp)35 b(e:)p 0 TeXcolorgray 553 +w Fv(This)360 b(column)g(is)f(used)g(in)g(certain)h(sp)31 +b(ecial)359 b(cases.)489 b(F)-92 b(or)358 b(ab)31 b(ortions)361 +b(it)e(sho)-31 b(ws)360 b(the)9631 17601 y(t)-31 b(yp)31 +b(e)459 b(of)h(the)g(ab)31 b(ortion)461 b(\(Section)p +0 TeXcolorgray 24506 17601 a +SDict begin H.S end + 24506 17601 a 0 TeXcolorgray +Fv(4.4)p 0 TeXcolorgray 25919 16887 a +SDict begin H.R end + 25919 16887 a 25919 +17601 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.4) cvn H.B /ANN pdfmark end + 25919 17601 a 0 TeXcolorgray Fv(\),)484 b(for)459 +b(c)-31 b(hildless)461 b(p)31 b(eople)459 b(and)h(marriages)g(it)9631 +18929 y(sho)-31 b(ws)412 b(the)g(t)-31 b(yp)31 b(e)413 +b(of)f(c)-31 b(hildnessness)412 b(\(Section)p 0 TeXcolorgray +29666 18929 a +SDict begin H.S end + 29666 18929 a 0 TeXcolorgray Fv(4.5)p 0 +TeXcolorgray 31079 18216 a +SDict begin H.R end + 31079 18216 a 31079 18929 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.5) cvn H.B /ANN pdfmark end + 31079 18929 a 0 TeXcolorgray Fv(\),)425 b(and)412 b(for)g(t)-31 +b(wins)414 b(it)e(sho)-31 b(ws)413 b(the)9631 20257 y(t)-31 +b(yp)31 b(e)369 b(of)h(t)-31 b(wins)370 b(\(Section)p +0 TeXcolorgray 20614 20257 a +SDict begin H.S end + 20614 20257 a 0 TeXcolorgray +Fv(4.3)p 0 TeXcolorgray 22027 19544 a +SDict begin H.R end + 22027 19544 a 22027 +20257 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.3) cvn H.B /ANN pdfmark end + 22027 20257 a 0 TeXcolorgray Fv(\).)p 0 TeXcolorgray +6863 22471 a Fs(SortOrder:)p 0 TeXcolorgray 556 w Fv(This)431 +b(column)h(is)e(used)g(when)h(the)g(algorithm)i(for)e(sorting)g +(siblings)h(and)9631 23800 y(unions)386 b(giv)-31 b(es)387 +b(a)f(wrong)h(result,)k(and)386 b(a)g(man)-31 b(ual)388 +b(correction)f(is)f(needed.)543 b(See)385 b(Sec-)9631 +25128 y(tion)p 0 TeXcolorgray 11906 25128 a +SDict begin H.S end + 11906 25128 +a 0 TeXcolorgray Fv(4.6)p 0 TeXcolorgray 13319 24415 +a +SDict begin H.R end + 13319 24415 a 13319 25128 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.6) cvn H.B /ANN pdfmark end + 13319 25128 a 0 TeXcolorgray +370 w Fv(for)370 b(the)f(explanation)j(and)e(examples.)8524 +27342 y(Examples)f(of)g(data)g(\014les)f(\(in)g(English)i(and)e +(Russian\))g(are)g(sho)-31 b(wn)369 b(in)f(Listing)p +0 TeXcolorgray 42164 27342 a +SDict begin H.S end + 42164 27342 a 0 TeXcolorgray +Fv(7)p 0 TeXcolorgray 42717 26629 a +SDict begin H.R end + 42717 26629 a 42717 +27342 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.7) cvn H.B /ANN pdfmark end + 42717 27342 a 0 TeXcolorgray 368 w Fv(\(the)6863 +28670 y(Russian)h(k)-31 b(eyw)g(ords)370 b(are)f(discussed)g(in)g +(Section)p 0 TeXcolorgray 27646 28670 a +SDict begin H.S end + 27646 28670 a +0 TeXcolorgray Fv(4.8)p 0 TeXcolorgray 29059 27957 a +SDict begin H.R end + +29059 27957 a 29059 28670 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.8) cvn H.B /ANN pdfmark end + 29059 28670 a 0 TeXcolorgray +Fv(\).)6863 30496 y +SDict begin H.S end + 6863 30496 a 6863 30496 a +SDict begin 12 H.A end + 6863 30496 +a 6863 30496 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.3) cvn /DEST pdfmark +end + 6863 30496 a 1273 x Ft(4.3)1495 b(Twins)6863 +33812 y Fv(The)329 b(column)i Fq(Twins)e Fv(\(see)g(Section)p +0 TeXcolorgray 22181 33812 a +SDict begin H.S end + 22181 33812 a 0 TeXcolorgray +Fv(4.3)p 0 TeXcolorgray 23594 33099 a +SDict begin H.R end + 23594 33099 a 23594 +33812 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.3) cvn H.B /ANN pdfmark end + 23594 33812 a 0 TeXcolorgray Fv(\))i(lists)e(all)i +Fq(Id)p Fv(s)d(of)i(all)g(t)-31 b(wins)330 b(of)g(the)f(giv)-31 +b(en)330 b(p)31 b(erson.)6863 35141 y(The)376 b(column)i +Fq(Type)e Fv(can)g(b)31 b(e)376 b(used)f(to)i(sho)-31 +b(w)377 b(the)f(t)-31 b(yp)31 b(e)377 b(of)f(the)h(t)-31 +b(wins.)514 b(The)376 b(empt)-31 b(y)378 b(v)-61 b(alue)6863 +36469 y(means)249 b(p)31 b(olyzygotic)251 b(t)-31 b(wins,)274 +b Fq(monozygotic)249 b Fv(means)g(monozygotic)j(t)-31 +b(wins,)274 b(and)248 b Fq(qzygotic)6863 37797 y Fv(is)318 +b(used)g(in)g(the)h(case)f(when)g(the)g(t)-31 b(yp)31 +b(e)319 b(of)g(t)-31 b(wins)319 b(is)f(under)g(doubt.)476 +b(An)318 b(example)i(of)e(a)h(data)6863 39126 y(\014le)264 +b(with)h(t)-31 b(wins)264 b(is)g(sho)-31 b(wn)264 b(on)g(Listing)p +0 TeXcolorgray 23076 39126 a +SDict begin H.S end + 23076 39126 a 0 TeXcolorgray +Fv(8)p 0 TeXcolorgray 23629 38412 a +SDict begin H.R end + 23629 38412 a 23629 +39126 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.8) cvn H.B /ANN pdfmark end + 23629 39126 a 0 TeXcolorgray Fv(,)285 b(and)264 +b(the)g(corresp)31 b(onding)263 b(p)31 b(edigree)264 +b(on)g(Figure)p 0 TeXcolorgray 44192 39126 a +SDict begin H.S end + 44192 39126 +a 0 TeXcolorgray Fv(3)p 0 TeXcolorgray 44745 38412 a +SDict begin H.R end + +44745 38412 a 44745 39126 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.3) cvn H.B /ANN pdfmark end + 44745 39126 a 0 TeXcolorgray +Fv(.)6863 40890 y +SDict begin H.S end + 6863 40890 a 6863 40890 a +SDict begin 12 H.A end + 6863 40890 +a 6863 40890 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.4) cvn /DEST pdfmark +end + 6863 40890 a 1334 x Ft(4.4)1495 b(Ab)42 +b(ortions)6863 44268 y Fv(Ab)31 b(orted)362 b(pregnancies)g(are)f +(describ)31 b(ed)360 b(b)-31 b(y)362 b(a)g(sp)31 b(ecial)362 +b(en)-31 b(try)362 b(in)f(the)h(data)h(\014le.)490 b(The)362 +b(\014eld)6863 45596 y Fq(Name)515 b Fv(has)e(the)i(v)-61 +b(alue)514 b Fq(#abortion)r Fv(;)586 b(the)514 b(sym)-31 +b(b)31 b(ol)516 b Fq(#)e Fv(is)f(used)h(to)h(sho)-31 +b(w)514 b(that)h(this)g(is)f(a)6863 46924 y(sp)31 b(ecial)371 +b(v)-61 b(alue.)495 b(The)370 b(columns)h Fq(Sex)p Fv(,)f +Fq(DoB)q Fv(,)g Fq(Mother)q Fv(,)g Fq(Father)h Fv(and)f +Fq(Condition)h Fv(ha)-31 b(v)g(e)371 b(the)6863 48253 +y(usual)353 b(meaning.)489 b(The)353 b(sp)31 b(ecial)353 +b(column)h Fq(Type)f Fv(is)f(either)h(empt)-31 b(y)354 +b(or)e(b)31 b(e)352 b(equal)i(to)f Fq(sab)g Fv(for)6863 +49581 y(self-ab)31 b(ortions.)6863 51130 y +SDict begin H.S end + 6863 51130 +a 6863 51130 a +SDict begin 12 H.A end + 6863 51130 a 6863 51130 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.5) cvn /DEST pdfmark +end + 6863 51130 a +1550 x Ft(4.5)1495 b(Childlessness)501 b(and)e(Infertilit)-42 +b(y)6863 54723 y Fv(Childlessness)374 b(is)f(can)h(b)31 +b(e)372 b(a)i(prop)31 b(ert)-31 b(y)373 b(of)h(a)g(p)31 +b(erson)373 b(or)g(a)g(union)h(b)31 b(et)-31 b(w)g(een)375 +b(t)-31 b(w)g(o)375 b(p)31 b(ersons.)6863 56051 y(Therefore)364 +b(in)h(this)f(implemen)-31 b(tation)369 b(w)-31 b(e)365 +b(use)e(a)i(sp)31 b(ecial)365 b(ro)-31 b(w)364 b(rather)g(than)h(a)g +(column)g(to)6863 57380 y(rep)31 b(ort)438 b(it.)702 +b(As)438 b(other)h(ro)-31 b(ws,)457 b(this)439 b(one)g(has)f(a)h +(unique)g Fq(Id)p Fv(.)701 b(The)439 b Fq(Name)g Fv(column)h(should) +6863 58708 y(ha)-31 b(v)g(e)483 b(a)e(sp)31 b(ecial)482 +b(en)-31 b(try)482 b Fq(#childless)q Fv(.)829 b(Lik)-31 +b(e)482 b Fq(#abortion)h Fv(\(Section)p 0 TeXcolorgray +36886 58708 a +SDict begin H.S end + 36886 58708 a 0 TeXcolorgray Fv(4.4)p 0 +TeXcolorgray 38299 57995 a +SDict begin H.R end + 38299 57995 a 38299 58708 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.4) cvn H.B /ANN pdfmark end + 38299 58708 a 0 TeXcolorgray Fv(\),)512 b(this)481 +b(sp)31 b(ecial)6863 60036 y(name)439 b(starts)e(with)i +Fq(#)f Fv(to)g(distinguish)h(it)g(from)f(\\real")h(names.)698 +b(There)438 b(are)f(four)h(other)6863 61365 y(columns)370 +b(that)h(ha)-31 b(v)g(e)370 b(meaning)h(for)e(this)g(ro)-31 +b(w:)p 0 TeXcolorgray 6863 63579 a Fs(Mother:)p 0 TeXcolorgray +555 w Fv(The)370 b Fq(Id)f Fv(of)h(the)f(c)-31 b(hildless)370 +b(female.)p 0 TeXcolorgray 25405 70071 a(13)p 0 TeXcolorgray +eop end +%%Page: 14 14 +TeXDict begin 14 13 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.14) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 6863 6531 a +SDict begin H.S end + 6863 6531 a +6863 6531 a +SDict begin 12 H.A end + 6863 6531 a 6863 6531 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.7) cvn /DEST pdfmark +end + 6863 6531 a 6863 +63816 a +SDict begin H.S end + 6863 63816 a 6863 63816 a +SDict begin 12 H.A end + 6863 63816 a 6863 63816 +a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.7.1) cvn /DEST pdfmark +end + 6863 63816 a 19884 63816 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 19884 63816 a -12328 x Fw(Id)523 +b(|Name)6276 b(|Sex)1570 b(|DoB)3661 b(|)523 b(DoD)3138 +b(|Mother|Father|Proband|Condition)524 b(|Comment)19884 +52705 y(P)1046 b(|John)523 b(Smith)3138 b(|male)1047 +b(|1970/02/05|)5230 b(|M1)2093 b(|F1)f(|)523 b(yes)1569 +b(|)523 b(affected|Evaluated)h(2005/12/01)19884 53923 +y(M1)f(|Mary)g(Smith)3138 b(|female|1940/02/05|)5231 +b(|GM2)1570 b(|GF2)f(|)3661 b(|)523 b(normal)1046 b(|)19884 +55140 y(F1)523 b(|Bill)g(Smith)3138 b(|male)1047 b(|1938/04/03|)5230 +b(|GM1)1570 b(|)523 b(GF1)1046 b(|)3661 b(|affected)523 +b(|)19884 56358 y(GM1|Joan)g(Smith)3138 b +(|female|1902/07/01|1975/12/13|)i(|)e(|)3661 b(|asymptomatic)19884 +57576 y(GF1|Joseph)523 b(Smith)2092 b(|male)1047 b(|unknown)1569 +b(|unknown)g(|)3139 b(|)f(|)3661 b(|)523 b(normal)19884 +58793 y(GF2|Jim)g(Brown)3661 b(|male)1047 b(|1905/11/01|)5230 +b(|)3139 b(|)f(|)3661 b(|)523 b(normal)1046 b(|)19884 +60011 y(GM2|Lisa)523 b(Brown)3138 b(|female|1910/03/03|)5231 +b(|)3139 b(|)f(|)3661 b(|)523 b(normal)1046 b(|)19884 +61229 y(S1)523 b(|Rebecca)g(Smith)1569 b(|female|1972/12/25|)5231 +b(|M1)2093 b(|F1)f(|)3661 b(|)523 b(affected)19884 62446 +y(S2)g(|Alexander)g(Smith)g(|male)1047 b(|1975/11/12|)5230 +b(|M1)2093 b(|F1)f(|)3661 b(|)523 b(normal)19884 63664 +y(A1)g(|Ann)g(Gold)4184 b(|female|1941/09/02|)5231 b(|GM1)1570 +b(|)523 b(GF1)1046 b(|)3661 b(|)523 b(obligatory|Aunt)h(of)f(the)g +(proband)19884 64882 y(C1)g(|)g(Jenny)g(Smith)2092 b +(|female|1969/12/03|)5231 b(|A1)2093 b(|)3138 b(|)3661 +b(|)523 b(affected)g(|)g(Cousin)h(of)f(the)g(proband)19884 +68756 y Fg(\310\344\345\355\362|\324\310\316)10457 b +(|\317\356\353|\320\356\346\344)3137 b(|\323\354\345\360)g +(|\314\340\362\374|\316\362\345\366|\317\360\356\341\340\355\344|\321)p +(\356\361\362\356\377\355\350\345)520 b(|)j +(\312\356\354\354\345\355\362\340\360\350\351)19884 69974 +y(P)2091 b(|\310\342\340\355\356\342)523 b(\321\345\360\343\345\351)f +(\317\345\362\360\356\342\350\367)g(|\354\363\346|1965/08/06|)5228 +b(|M1)1045 b(|F1)h(|\344\340)2614 b(|\341\356\353\374\355)g(|)19884 +71191 y(M1)1568 b(|\310\342\340\355\356\342\340)522 b +(\313\376\341\356\342\374)h +(\310\342\340\355\356\342\355\340|\346\345\355|1935/12/01|2005/10/01)p +(|)2088 b(|)k(|)3660 b(|\355\356\360\354)19884 72409 +y(F1)1568 b(|\310\342\340\355\356\342)523 b(\317\345\362\360)f +(\310\353\374\350\367)3137 b(|\354\363\346|\355\345\350\347\342)2614 +b(|2003/01/25|)2090 b(|)i(|)3660 b(|\356\341\353\350\343\340\362)19884 +73627 y(S1)1568 b(|\310\342\340\355\356\342\340)522 b(\300\355\355\340) +h(\317\345\362\360\356\342\355\340)1045 b(|\346\345\355|1968/05/05|) +5228 b(|M1)1045 b(|F1)h(|)3660 b(|\355\356\360\354)19884 +74844 y(K1)1568 b(|\310\342\340\355\356\342)523 b(\310\342\340\355)f +(\321\345\360\343\345\345\342\350\367)1045 b(|\354\363\346|1990/12/01|) +5228 b(|)2091 b(|P)1569 b(|)3660 b(|\340\361\350\354\357)1046 +b(|\303\345\355\345\362\350\367.)522 b(\350\361\361\353.)g(2005/12/08) +19884 76062 y(K2)1568 b(|\310\342\340\355\356\342\340)522 +b(\304\340\360\374\377)h +(\321\345\360\343\345\345\342\355\340|\346\345\355|1995/03/24|)5227 +b(|)2091 b(|P)1569 b(|)3660 b(|\355\356\360\354)1569 +b(|\303\345\355\345\362\350\367.)522 b(\350\361\361\353.)g(2005/12/08) +77169 63816 y + currentpoint grestore moveto + 77169 63816 a 0 TeXcolorgray 0 TeXcolorgray +12210 66252 a Fv(Listing)371 b(7:)493 b(Examples)370 +b(of)g(Data)g(Files)f(\(English)i(and)f(Russian\))p 0 +TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +25405 70071 a(14)p 0 TeXcolorgray eop end +%%Page: 15 15 +TeXDict begin 15 14 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.15) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 32060 22112 a +tx@Dict begin { -170.71646 56.90549 } PutCoor PutBegin end + 32060 22112 +a 31273 22112 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@GF1 16 {InitRnode } /NodeScale {} def NewNode end end + 31273 22112 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -9.38945 -9.38945 moveto +9.38945 9.38945 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial 32060 +22112 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 32060 22112 a 177 w Fp(Joseph)298 b(Smith)32060 +22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 32060 22112 a 32237 +22792 a Fx(I:1)32060 22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 +a +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { 0.0 56.90549 } PutCoor PutBegin end + 32060 22112 a 31273 22112 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@GF2 16 {InitRnode } /NodeScale {} def NewNode end end + 31273 22112 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +32060 22112 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 32060 22112 a 177 w Fp(Jim)g(Bro)-24 b(wn)32060 +22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 32060 22112 a 32237 +22792 a Fx(I:3)32060 22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 +a +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { 113.81097 56.90549 } PutCoor PutBegin end + 32060 22112 a 31273 22112 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@GM2 16 {InitRnode } /NodeScale {} def NewNode end end + 31273 22112 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +32060 22112 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 32060 22112 a 177 w Fp(Lisa)298 b(Bro)-24 +b(wn)32060 22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 32060 +22112 a 32237 22792 a Fx(I:4)32060 22112 y +tx@Dict begin PutEnd end + 32060 22112 +a 32060 22112 a +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { 56.90549 56.90549 } PutCoor PutBegin end + 32060 22112 +a 32060 22112 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@GF2_m_GM2 10 {InitPnode +} /NodeScale {} def NewNode end end + 32060 22112 a 32060 22112 a +tx@Dict begin PutEnd end + 32060 22112 +a 32060 22112 a +tx@Dict begin { -113.81097 56.90549 } PutCoor PutBegin end + 32060 22112 a 32060 22112 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@GF1_m_GM1 10 {InitPnode +} /NodeScale {} def NewNode end end + 32060 22112 +a 32060 22112 a +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { -56.90549 56.90549 } PutCoor PutBegin end + 32060 22112 +a 31273 22112 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@GM1 16 {InitRnode } /NodeScale {} def NewNode end end + 31273 22112 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0.0 7.11317 moveto +0.0 -7.11317 L 0 setlinejoin 0 setlinecap stroke end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -9.38945 -9.38945 moveto +9.38945 9.38945 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial 32060 22112 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 32060 22112 a +177 w Fp(Joan)299 b(Smith)32060 22112 y +tx@Dict begin PutEnd end + 32060 22112 a +32060 22112 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 32060 22112 a 32237 22792 a Fx(I:2)32060 +22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin PutEnd end + 32060 22112 a 32060 +22112 a +tx@Dict begin { 0.0 0.0 } PutCoor PutBegin end + 32060 22112 a 32060 22112 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@F1_m_M1 10 {InitPnode +} /NodeScale {} def NewNode end end + 32060 22112 a 32060 +22112 a +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { -142.26372 0.0 } PutCoor PutBegin end + 32060 22112 a 31273 +22112 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@A1 16 {InitRnode } /NodeScale {} def NewNode end end + 31273 22112 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray /DS 2.0 2. CLW mul +add 2 div def /PSTricksDotFont 0. [1.0 0.0 0.0 1.0 0.0 0.0] FontDot +/Dot { moveto gsave 1. 1. scale (b) show grestore } bind def 0.0 +0.0 Dot end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 32060 +22112 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 32060 22112 a 177 w Fp(Ann)g(Gold)32060 22112 +y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 32060 22112 a 32237 22792 +a Fx(I)28 b(I:1)32060 22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 +a +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { 56.90549 0.0 } PutCoor PutBegin end + 32060 22112 a 31273 22112 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@M1 16 {InitRnode } /NodeScale {} def NewNode end end + 31273 22112 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +32060 22112 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 32060 22112 a 177 w Fp(Mary)299 b(Smith)32060 +22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 32060 22112 a 32237 +22792 a Fx(I)28 b(I:3)32060 22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 +22112 a +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { -85.35823 0.0 } PutCoor PutBegin end + 32060 22112 a 31273 +22112 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@F1 16 {InitRnode } /NodeScale {} def NewNode end end + 31273 22112 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 32060 22112 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 32060 22112 a 177 w Fp(Bill)297 +b(Smith)32060 22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 32060 +22112 a 32237 22792 a Fx(I)28 b(I:2)32060 22112 y +tx@Dict begin PutEnd end + 32060 +22112 a 32060 22112 a +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { 0.0 -56.90549 } PutCoor PutBegin end + 32060 +22112 a 31273 22112 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@S1 16 {InitRnode } /NodeScale {} def NewNode end end + 31273 22112 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.5 setgray 1. .setopacityalpha fill + grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 32060 22112 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 32060 22112 a +177 w Fp(Reb)c(ecca)296 b(Smith)32060 22112 y +tx@Dict begin PutEnd end + 32060 22112 +a 32060 22112 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 32060 22112 a 32237 22792 a Fx(I)28 b(I)g(I:3)32060 +22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin PutEnd end + 32060 22112 a 32060 +22112 a +tx@Dict begin { 56.90549 -56.90549 } PutCoor PutBegin end + 32060 22112 a 31273 22112 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@S2 16 {InitRnode } /NodeScale {} def NewNode end end + 31273 22112 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 32060 22112 +a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 32060 22112 a 177 w Fp(Alexander)298 b(Smith)32060 +22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 32060 22112 a 32237 +22792 a Fx(I)28 b(I)g(I:4)32060 22112 y +tx@Dict begin PutEnd end + 32060 22112 a +32060 22112 a +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { -56.90549 -56.90549 } PutCoor PutBegin end + 32060 22112 +a 31273 22112 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@P 16 {InitRnode } /NodeScale {} def NewNode end end + 31273 22112 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ -8.2511 -8.2511 -15.6491 -15.6491 /Lineto /lineto load +def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def +} if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul +neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha +y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add +y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 +ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan +def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos +dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos +mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos +1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos +ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub +ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto +} repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 +2 roll ArrowB L pop pop } if gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 32060 +22112 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 32060 22112 a 177 w Fp(John)298 b(Smith)32060 +22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 32060 22112 a 32237 +22792 a Fx(I)28 b(I)g(I:2)32060 22112 y +tx@Dict begin PutEnd end + 32060 22112 a +32060 22112 a +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin { -142.26372 -56.90549 } PutCoor PutBegin end + 32060 22112 +a 31273 22112 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C1 16 {InitRnode } /NodeScale {} def NewNode end end + 31273 22112 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.5 setgray 1. .setopacityalpha fill + grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + + +@endspecial 32060 22112 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 32060 22112 a 177 w Fp(Jenn)-24 +b(y)298 b(Smith)32060 22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 32060 22112 a 32237 22792 a Fx(I)28 b(I)g(I:1)32060 +22112 y +tx@Dict begin PutEnd end + 32060 22112 a 32060 22112 a +tx@Dict begin PutEnd end + 32060 22112 a 32060 +22112 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF2_m_GM2 /N@M1 InitNC { tx@Dict begin +/Lineto /lineto load def 0 setlinejoin false pop end /AngleA -90. +def /AngleB 90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 +sub dup mul add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB +0 def NCAngles } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore grestore end + 32060 22112 a 32060 22112 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF2_m_GM2 /N@GM2 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 32060 22112 a 32060 +22112 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF2_m_GM2 /N@GF2 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 32060 22112 a 32060 22112 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF1_m_GM1 /N@A1 InitNC { tx@Dict begin +/Lineto /lineto load def 0 setlinejoin false pop end /AngleA -90. +def /AngleB 90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 +sub dup mul add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB +0 def NCAngles } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore grestore end + 32060 22112 a 32060 +22112 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF1_m_GM1 /N@F1 InitNC { tx@Dict begin +/Lineto /lineto load def 0 setlinejoin false pop end /AngleA -90. +def /AngleB 90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 +sub dup mul add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB +0 def NCAngles } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore grestore end + 32060 22112 a 32060 22112 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF1_m_GM1 /N@GM1 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 32060 22112 a 32060 +22112 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF1_m_GM1 /N@GF1 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 32060 22112 a 32060 22112 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@P InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 32060 22112 a 32060 +22112 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@S1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 32060 22112 a 32060 22112 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@S2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 32060 22112 a 32060 +22112 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@M1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 32060 22112 a 32060 22112 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@F1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 32060 22112 a 32060 +22112 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A1 /N@C1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 32060 22112 a 0 TeXcolorgray 6863 37145 a Fs(I:1)p +0 TeXcolorgray 553 w Fv(Joseph)369 b(Smith;)i(b)31 b(orn:)492 +b(unkno)-31 b(wn;)371 b(age)f(at)g(death:)494 b(unkno)-31 +b(wn.)p 0 TeXcolorgray 6863 39359 a Fs(I:2)p 0 TeXcolorgray +553 w Fv(Joan)370 b(Smith;)h(b)31 b(orn:)492 b(1902/07/01;)375 +b(age)370 b(at)g(death:)493 b(73.)p 0 TeXcolorgray 6863 +41573 a Fs(I:3)p 0 TeXcolorgray 553 w Fv(Jim)370 b(Bro)-31 +b(wn;)371 b(b)31 b(orn:)492 b(1905/11/01.)p 0 TeXcolorgray +6863 43787 a Fs(I:4)p 0 TeXcolorgray 553 w Fv(Lisa)370 +b(Bro)-31 b(wn;)370 b(b)31 b(orn:)492 b(1910/03/03.)p +0 TeXcolorgray 6863 46001 a Fs(I)35 b(I:1)p 0 TeXcolorgray +554 w Fv(Ann)369 b(Gold;)h(b)31 b(orn:)492 b(1941/09/02;)374 +b(Aun)-31 b(t)370 b(of)g(the)f(proband.)p 0 TeXcolorgray +6863 48215 a Fs(I)35 b(I:2)p 0 TeXcolorgray 554 w Fv(Bill)370 +b(Smith;)h(b)31 b(orn:)492 b(1938/04/03.)p 0 TeXcolorgray +6863 50429 a Fs(I)35 b(I:3)p 0 TeXcolorgray 554 w Fv(Mary)369 +b(Smith;)h(b)31 b(orn:)493 b(1940/02/05.)p 0 TeXcolorgray +6863 52643 a Fs(I)35 b(I)g(I:1)p 0 TeXcolorgray 554 w +Fv(Jenn)-31 b(y)369 b(Smith;)i(b)31 b(orn:)492 b(1969/12/03;)374 +b(Cousin)c(of)g(the)g(proband.)p 0 TeXcolorgray 6863 +54857 a Fs(I)35 b(I)g(I:2)p 0 TeXcolorgray 554 w Fv(John)369 +b(Smith;)i(b)31 b(orn:)492 b(1970/02/05;)374 b(Ev)-61 +b(aluated)371 b(2005/12/01.)p 0 TeXcolorgray 6863 57071 +a Fs(I)35 b(I)g(I:3)p 0 TeXcolorgray 554 w Fv(Reb)c(ecca)369 +b(Smith;)i(b)31 b(orn:)492 b(1972/12/25.)p 0 TeXcolorgray +6863 59284 a Fs(I)35 b(I)g(I:4)p 0 TeXcolorgray 554 w +Fv(Alexander)370 b(Smith;)h(b)31 b(orn:)492 b(1975/11/12.)6863 +62827 y(Figure)285 b(1:)p 0 TeXcolorgray 11582 62827 +a +SDict begin H.S end + 11582 62827 a 11582 62827 a +SDict begin H.R end + 11582 62827 a 11582 62827 +a +SDict begin [/View [/XYZ H.V]/Dest (figure.1) cvn /DEST pdfmark end + 11582 62827 a 0 TeXcolorgray Fv(Example)i(of)e(the)f(T)-31 +b(yp)31 b(eset)286 b(P)-31 b(edigree)285 b(in)g(English)h(\(Data)g +(File)e(from)i(Listing)p 0 TeXcolorgray 44069 62827 a +SDict begin H.S end + +44069 62827 a 0 TeXcolorgray Fv(7)p 0 TeXcolorgray 44622 +62113 a +SDict begin H.R end + 44622 62113 a 44622 62827 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.7) cvn H.B /ANN pdfmark end + 44622 62827 a 0 TeXcolorgray +Fv(\))p 0 TeXcolorgray 0 TeXcolorgray 25405 70071 a(15)p +0 TeXcolorgray eop end +%%Page: 16 16 +TeXDict begin 16 15 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.16) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 27651 17253 a +tx@Dict begin { 0.0 0.0 } PutCoor PutBegin end + 27651 17253 +a 27651 17253 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@F1_m_M1 10 {InitPnode +} /NodeScale {} def NewNode end end + 27651 17253 a 27651 17253 a +tx@Dict begin PutEnd end + 27651 17253 +a 27651 17253 a +tx@Dict begin { 93.89413 0.0 } PutCoor PutBegin end + 27651 17253 a 26864 17253 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@M1 16 {InitRnode } /NodeScale {} def NewNode end end + 26864 17253 +a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -9.38945 -9.38945 moveto +9.38945 9.38945 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial 27651 17253 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27651 17253 a +177 w Ff(\310\342\340\355\356\342\340)298 b(\313\376\341\356\342\374)h +(\310\342\340\355\356\342\355\340)27651 17253 y +tx@Dict begin PutEnd end + 27651 +17253 a 27651 17253 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27651 17253 a 27828 17933 a Fe(I:2)27651 +17253 y +tx@Dict begin PutEnd end + 27651 17253 a 27651 17253 a +tx@Dict begin PutEnd end + 27651 17253 a 27651 +17253 a +tx@Dict begin { -93.89413 0.0 } PutCoor PutBegin end + 27651 17253 a 26864 17253 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@F1 16 {InitRnode } /NodeScale {} def NewNode end end + 26864 17253 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray /DS 2.0 2. CLW mul +add 2 div def /PSTricksDotFont 0. [1.0 0.0 0.0 1.0 0.0 0.0] FontDot +/Dot { moveto gsave 1. 1. scale (b) show grestore } bind def 0.0 +0.0 Dot end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -9.38945 -9.38945 moveto +9.38945 9.38945 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial +27651 17253 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27651 17253 a 177 w Ff(\310\342\340\355\356\342)f +(\317\345\362\360)h(\310\353\374\350\367)27651 17253 +y +tx@Dict begin PutEnd end + 27651 17253 a 27651 17253 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27651 17253 a 27828 17933 +a Fe(I:1)27651 17253 y +tx@Dict begin PutEnd end + 27651 17253 a 27651 17253 a +tx@Dict begin PutEnd end + 27651 +17253 a 27651 17253 a +tx@Dict begin { 0.0 -187.78827 } PutCoor PutBegin end + 27651 17253 a 26864 17253 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@K2 16 {InitRnode } /NodeScale {} def NewNode end end + 26864 +17253 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +27651 17253 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27651 17253 a 177 w Ff(\310\342\340\355\356\342\340)f +(\304\340\360\374\377)h(\321\345\360\343\345\345\342\355\340)27651 +17253 y +tx@Dict begin PutEnd end + 27651 17253 a 27651 17253 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27651 17253 a 27828 +17933 a Fe(I)28 b(I)g(I:2)27651 17253 y +tx@Dict begin PutEnd end + 27651 17253 a +27651 17253 a +tx@Dict begin PutEnd end + 27651 17253 a 27651 17253 a +tx@Dict begin { -93.89413 -187.78827 } PutCoor PutBegin end + 27651 17253 +a 26864 17253 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@K1 16 {InitRnode } /NodeScale {} def NewNode end end + 26864 17253 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0.0 7.11317 moveto +0.0 -7.11317 L 0 setlinejoin 0 setlinecap stroke end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 27651 +17253 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27651 17253 a 177 w Ff(\310\342\340\355\356\342)298 +b(\310\342\340\355)h(\321\345\360\343\345\345\342\350\367)27651 +17253 y +tx@Dict begin PutEnd end + 27651 17253 a 27651 17253 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27651 17253 a 27828 +17933 a Fe(I)28 b(I)g(I:1)27651 17253 y +tx@Dict begin PutEnd end + 27651 17253 a +27651 17253 a +tx@Dict begin PutEnd end + 27651 17253 a 27651 17253 a +tx@Dict begin { 46.94684 -93.89413 } PutCoor PutBegin end + 27651 17253 +a 26864 17253 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@S1 16 {InitRnode } /NodeScale {} def NewNode end end + 26864 17253 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 27651 17253 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27651 17253 a 177 w Ff +(\310\342\340\355\356\342\340)298 b(\300\355\355\340)h +(\317\345\362\360\356\342\355\340)27651 17253 y +tx@Dict begin PutEnd end + 27651 +17253 a 27651 17253 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27651 17253 a 27828 17933 a Fe(I)28 +b(I:2)27651 17253 y +tx@Dict begin PutEnd end + 27651 17253 a 27651 17253 a +tx@Dict begin PutEnd end + 27651 +17253 a 27651 17253 a +tx@Dict begin { -46.94684 -93.89413 } PutCoor PutBegin end + 27651 17253 a 26864 17253 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@P 16 {InitRnode } /NodeScale {} def NewNode end end + 26864 +17253 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ -8.2511 -8.2511 -15.6491 -15.6491 /Lineto /lineto load +def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def +} if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul +neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha +y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add +y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 +ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan +def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos +dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos +mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos +1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos +ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub +ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto +} repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 +2 roll ArrowB L pop pop } if gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 27651 17253 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + +27651 17253 a 177 w Ff(\310\342\340\355\356\342)298 b +(\321\345\360\343\345\351)h(\317\345\362\360\356\342\350\367)27651 +17253 y +tx@Dict begin PutEnd end + 27651 17253 a 27651 17253 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27651 17253 a 27828 +17933 a Fe(I)28 b(I:1)27651 17253 y +tx@Dict begin PutEnd end + 27651 17253 a 27651 +17253 a +tx@Dict begin PutEnd end + 27651 17253 a 27651 17253 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@P InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 27651 17253 a 27651 +17253 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@S1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 27651 17253 a 27651 17253 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@M1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 27651 17253 a 27651 +17253 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@F1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 27651 17253 a 27651 17253 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@P /N@K1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 27651 17253 a 27651 +17253 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@P /N@K2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 27651 17253 a 0 TeXcolorgray 6863 50869 a Fd(I:1)p +0 TeXcolorgray 553 w Fc(\310\342\340\355\356\342)370 +b(\317\345\362\360)f(\310\353\374\350\367;)g(\360\356)-31 +b(\344.)369 b(\355\345\350\347\342.;)h(\363\354.)f(\342)g +(\342\356\347\360.)739 b(\355\345\350\347\342..)p 0 TeXcolorgray +6863 53083 a Fd(I:2)p 0 TeXcolorgray 553 w Fc +(\310\342\340\355\356\342\340)370 b(\313\376\341\356\342\374)g +(\310\342\340\355\356\342\355\340;)h(\360\356)-31 b(\344.)369 +b(1935/12/01;)k(\363\354.)c(\342)h(\342\356\347\360.)738 +b(70.)p 0 TeXcolorgray 6863 55297 a Fd(I)35 b(I:1)p 0 +TeXcolorgray 553 w Fc(\310\342\340\355\356\342)370 b +(\321\345\360\343\345\351)e(\317\345\362\360\356\342\350\367;)i +(\360\356)-31 b(\344.)369 b(1965/08/06.)p 0 TeXcolorgray +6863 57511 a Fd(I)35 b(I:2)p 0 TeXcolorgray 553 w Fc +(\310\342\340\355\356\342\340)370 b(\300\355\355\340)f +(\317\345\362\360\356\342\355\340;)h(\360\356)-31 b(\344.)370 +b(1968/05/05.)p 0 TeXcolorgray 6863 59725 a Fd(I)35 b(I)g(I:1)p +0 TeXcolorgray 553 w Fc(\310\342\340\355\356\342)370 +b(\310\342\340\355)f(\321\345\360\343\345\345\342\350\367;)g(\360\356) +-31 b(\344.)370 b(1990/12/01;)i(\303)-92 b(\345\355\345\362\350\367.) +369 b(\350\361\361\353.)f(2005/12/08.)p 0 TeXcolorgray +6863 61939 a Fd(I)35 b(I)g(I:2)p 0 TeXcolorgray 553 w +Fc(\310\342\340\355\356\342\340)250 b(\304\340\360\374\377)g +(\321\345\360\343\345\345\342\355\340;)g(\360\356)-31 +b(\344.)249 b(1995/03/24;)k(\303)-92 b(\345\355\345\362\350\367.)249 +b(\350\361\361\353.)f(2005/12/08.)6863 65481 y Fv(Figure)269 +b(2:)p 0 TeXcolorgray 11559 65481 a +SDict begin H.S end + 11559 65481 a 11559 +65481 a +SDict begin H.R end + 11559 65481 a 11559 65481 a +SDict begin [/View [/XYZ H.V]/Dest (figure.2) cvn /DEST pdfmark end + 11559 65481 a 0 TeXcolorgray +Fv(Example)i(of)f(the)g(T)-31 b(yp)31 b(eset)270 b(P)-31 +b(edigree)270 b(in)f(Russian)h(\(Data)g(File)g(from)g(Listing)p +0 TeXcolorgray 44069 65481 a +SDict begin H.S end + 44069 65481 a 0 TeXcolorgray +Fv(7)p 0 TeXcolorgray 44622 64768 a +SDict begin H.R end + 44622 64768 a 44622 +65481 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.7) cvn H.B /ANN pdfmark end + 44622 65481 a 0 TeXcolorgray Fv(\))p 0 TeXcolorgray +0 TeXcolorgray 25405 70071 a(16)p 0 TeXcolorgray eop +end +%%Page: 17 17 +TeXDict begin 17 16 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.17) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 6863 7821 a +SDict begin H.S end + 6863 7821 a +6863 7821 a +SDict begin 12 H.A end + 6863 7821 a 6863 7821 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.8) cvn /DEST pdfmark +end + 6863 7821 a 6863 +8751 a +SDict begin H.S end + 6863 8751 a 6863 8751 a +SDict begin 12 H.A end + 6863 8751 a 6863 8751 +a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.8.1) cvn /DEST pdfmark +end + 6863 8751 a 1218 x Fw(Id)523 b(|Name)1046 b(|Sex)1570 +b(|DoB)3661 b(|DoD)g(|Mother|Father|Proband|Twins|Type)6863 +11187 y(F0)523 b(|Adam)1046 b(|male)h(|unknown)1569 b(|unknown)g(|)3139 +b(|)f(|)3661 b(|)2615 b(|)6863 12404 y(A0)523 b(|Sam)1569 +b(|male)1047 b(|1950.01.03|unknown)1569 b(|)3139 b(|F0)2092 +b(|)3661 b(|)523 b(A1)1046 b(|qzygotic)6863 13622 y(A1)523 +b(|John)1046 b(|male)h(|1950.01.03|2005.04.12|)3139 b(|F0)2092 +b(|)3661 b(|)523 b(A0)1046 b(|qzygotic)6863 14840 y(A2)523 +b(|Jane)1046 b(|female|1951.14.15|)5231 b(|)3139 b(|)f(|)3661 +b(|)2615 b(|)6863 16057 y(B1)523 b(|Jack)1046 b(|male)h(|1975.05.06|) +5230 b(|A2)2093 b(|A1)f(|)3661 b(|B2)1569 b(|monozygotic)6863 +17275 y(B2)523 b(|Mike)1046 b(|male)h(|1975.05.06|)5230 +b(|A2)2093 b(|A1)f(|)3661 b(|B1)1569 b(|monozygotic)6863 +18493 y(B3)523 b(|Pam)1569 b(|female|1973.11.01|)5231 +b(|A2)2093 b(|A1)f(|)3661 b(|)2615 b(|)6863 19710 y(C1)523 +b(|Jane)1046 b(|female|1998.12.04|)5231 b(|)3139 b(|B1)2092 +b(|)3661 b(|C2,C3|)6863 20928 y(C2)523 b(|John)1046 b(|male)h +(|1998.12.04|)5230 b(|)3139 b(|B1)2092 b(|)3661 b(|C1,C3|)6863 +22146 y(C3)523 b(|George|male)1047 b(|1998.12.04|)5230 +b(|)3139 b(|B1)2092 b(|)1046 b(yes)g(|C1,C2|)6863 23363 +y(C4)523 b(|Ann)1569 b(|female|2003.02.04|)5231 b(|)3139 +b(|B1)2092 b(|)3661 b(|)2615 b(|)p 0 TeXcolorgray 0 TeXcolorgray +15282 25798 a Fv(Listing)371 b(8:)493 b(Example)371 b(of)e(Data)h(File) +g(with)g(Twins)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 27349 43850 a +tx@Dict begin { -28.45274 -91.04869 } PutCoor PutBegin end + 27349 43850 a 27349 43850 +a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@t_C3_C2_C1 10 {InitPnode +} /NodeScale {} def NewNode end end + 27349 43850 a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 +a +tx@Dict begin { -85.35823 56.90549 } PutCoor PutBegin end + 27349 43850 a 26562 43850 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@F0 16 {InitRnode } /NodeScale {} def NewNode end end + 26562 43850 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -9.38945 -9.38945 moveto +9.38945 9.38945 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial +27349 43850 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27349 43850 a 177 w Fp(Adam)27349 43850 +y +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27349 43850 a 27526 44530 +a Fx(I:1)27349 43850 y +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin PutEnd end + 27349 +43850 a 27349 43850 a +tx@Dict begin { 28.45274 -34.1432 } PutCoor PutBegin end + 27349 43850 a 27349 43850 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@t_B1_B2 10 {InitPnode +} /NodeScale {} def NewNode end end + 27349 +43850 a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin { -56.90549 0.0 } PutCoor PutBegin end + 27349 +43850 a 26562 43850 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@A1 16 {InitRnode } /NodeScale {} def NewNode end end + 26562 43850 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -9.38945 -9.38945 moveto +9.38945 9.38945 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial +27349 43850 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27349 43850 a 177 w Fp(John)27349 43850 +y +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27349 43850 a 27526 44530 +a Fx(I)28 b(I:2)27349 43850 y +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 +a +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin { -113.81097 0.0 } PutCoor PutBegin end + 27349 43850 a 26562 43850 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@A0 16 {InitRnode } /NodeScale {} def NewNode end end + 26562 43850 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -9.38945 -9.38945 moveto +9.38945 9.38945 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial 27349 43850 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + +27349 43850 a 177 w Fp(Sam)27349 43850 y +tx@Dict begin PutEnd end + 27349 43850 +a 27349 43850 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27349 43850 a 27526 44530 a Fx(I)g(I:1)27349 +43850 y +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 +43850 a +tx@Dict begin { 56.90549 0.0 } PutCoor PutBegin end + 27349 43850 a 26562 43850 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@A2 16 {InitRnode } /NodeScale {} def NewNode end end + 26562 43850 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 27349 43850 +a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27349 43850 a 177 w Fp(Jane)27349 43850 y +tx@Dict begin PutEnd end + 27349 43850 +a 27349 43850 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27349 43850 a 27526 44530 a Fx(I)g(I:3)27349 +43850 y +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 +43850 a +tx@Dict begin { 0.0 0.0 } PutCoor PutBegin end + 27349 43850 a 27349 43850 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@A1_m_A2 10 {InitPnode +} /NodeScale {} def NewNode end end + 27349 43850 a 27349 +43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin { -85.35823 22.76227 } PutCoor PutBegin end + 27349 43850 a 27349 +43850 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@t_A1_A0 10 {InitPnode +} /NodeScale {} def NewNode end end + 27349 43850 a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 +43850 a +tx@Dict begin { -85.35823 -113.81097 } PutCoor PutBegin end + 27349 43850 a 26562 43850 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C3 16 {InitRnode } /NodeScale {} def NewNode end end + 26562 43850 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ -8.2511 -8.2511 -15.6491 -15.6491 /Lineto /lineto load +def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def +} if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul +neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha +y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add +y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 +ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan +def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos +dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos +mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos +1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos +ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub +ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto +} repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 +2 roll ArrowB L pop pop } if gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 27349 43850 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27349 43850 a +177 w Fp(George)27349 43850 y +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27349 43850 a 27526 44530 a Fx(IV:1)27349 43850 y +tx@Dict begin PutEnd end + 27349 +43850 a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin { 85.35823 -113.81097 } PutCoor PutBegin end + 27349 +43850 a 26562 43850 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C4 16 {InitRnode } /NodeScale {} def NewNode end end + 26562 43850 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 27349 43850 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27349 43850 a +177 w Fp(Ann)27349 43850 y +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27349 43850 a 27526 44530 a Fx(IV:4)27349 43850 y +tx@Dict begin PutEnd end + 27349 +43850 a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin { 28.45274 -113.81097 } PutCoor PutBegin end + 27349 +43850 a 26562 43850 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C1 16 {InitRnode } /NodeScale {} def NewNode end end + 26562 43850 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 27349 43850 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27349 43850 a +177 w Fp(Jane)27349 43850 y +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27349 43850 a 27526 44530 a Fx(IV:3)27349 43850 y +tx@Dict begin PutEnd end + 27349 +43850 a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin { -28.45274 -113.81097 } PutCoor PutBegin end + 27349 +43850 a 26562 43850 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C2 16 {InitRnode } /NodeScale {} def NewNode end end + 26562 43850 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 27349 43850 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27349 43850 a +177 w Fp(John)27349 43850 y +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27349 43850 a 27526 44530 a Fx(IV:2)27349 43850 y +tx@Dict begin PutEnd end + 27349 +43850 a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin { 0.0 -56.90549 } PutCoor PutBegin end + 27349 +43850 a 26562 43850 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B1 16 {InitRnode } /NodeScale {} def NewNode end end + 26562 43850 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 27349 43850 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27349 43850 a +177 w Fp(Jac)-24 b(k)27349 43850 y +tx@Dict begin PutEnd end + 27349 43850 a 27349 +43850 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27349 43850 a 27526 44530 a Fx(I)28 b(I)g(I:2)27349 +43850 y +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 +43850 a +tx@Dict begin { -56.90549 -56.90549 } PutCoor PutBegin end + 27349 43850 a 26562 43850 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B3 16 {InitRnode } /NodeScale {} def NewNode end end + 26562 43850 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 27349 43850 +a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27349 43850 a 177 w Fp(P)-24 b(am)27349 43850 y +tx@Dict begin PutEnd end + 27349 +43850 a 27349 43850 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27349 43850 a 27526 44530 a Fx(I)28 +b(I)g(I:1)27349 43850 y +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin PutEnd end + 27349 +43850 a 27349 43850 a +tx@Dict begin { 56.90549 -56.90549 } PutCoor PutBegin end + 27349 43850 a 26562 43850 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B2 16 {InitRnode } /NodeScale {} def NewNode end end + 26562 +43850 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +27349 43850 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 27349 43850 a 177 w Fp(Mik)-24 b(e)27349 +43850 y +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 27349 43850 a 27526 +44530 a Fx(I)28 b(I)g(I:3)27349 43850 y +tx@Dict begin PutEnd end + 27349 43850 a +27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@t_C3_C2_C1 /N@C1 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 27349 43850 +a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B1 /N@t_C3_C2_C1 InitNC { tx@Dict begin + /Lineto /lineto load def 0 setlinejoin false pop end /AngleA -90. +def /AngleB 90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 +sub dup mul add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB +0 def NCAngles } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore grestore end + 27349 43850 a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@t_C3_C2_C1 /N@C3 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 27349 43850 +a 27349 43850 a +tx@Dict begin tx@NodeDict begin /t 0.5 def LPut end PutBegin end + 27349 43850 a 27349 43850 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@pst@pdgr@tempnodeA +10 {InitPnode } /NodeScale {} def NewNode end end + 27349 43850 +a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@t_C3_C2_C1 /N@C2 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 27349 43850 +a 27349 43850 a +tx@Dict begin tx@NodeDict begin /t 0.5 def LPut end PutBegin end + 27349 43850 a 27349 43850 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@pst@pdgr@tempnodeB +10 {InitPnode } /NodeScale {} def NewNode end end + 27349 43850 +a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A1_m_A2 /N@t_B1_B2 InitNC { tx@Dict begin + /Lineto /lineto load def 0 setlinejoin false pop end /AngleA -90. +def /AngleB 90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 +sub dup mul add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB +0 def NCAngles } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore grestore end + 27349 43850 +a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@t_B1_B2 /N@B1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 27349 43850 a 27349 43850 a +tx@Dict begin tx@NodeDict begin /t 0.5 def LPut end PutBegin end + 27349 43850 +a 27349 43850 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@pst@pdgr@tempnodeA +10 {InitPnode } /NodeScale {} def NewNode end end + 27349 43850 a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 +a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@t_B1_B2 /N@B2 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 27349 43850 a 27349 43850 a +tx@Dict begin tx@NodeDict begin /t 0.5 def LPut end PutBegin end + 27349 43850 +a 27349 43850 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@pst@pdgr@tempnodeB +10 {InitPnode } /NodeScale {} def NewNode end end + 27349 43850 a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 +a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@pst@pdgr@tempnodeA /N@pst@pdgr@tempnodeB +InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 +ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub +atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos +0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length +gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos +mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. +1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos +dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos +mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop +pop end } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha +0 setlinejoin 0 setlinecap stroke grestore grestore end + 27349 43850 a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A1_m_A2 /N@B3 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 27349 43850 +a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A1_m_A2 /N@A2 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 27349 43850 a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A1_m_A2 /N@A1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 27349 43850 +a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F0 /N@t_A1_A0 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 27349 43850 a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@t_A1_A0 /N@A0 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 27349 43850 +a 27349 43850 a +tx@Dict begin tx@NodeDict begin /t 0.5 def LPut end PutBegin end + 27349 43850 a 27349 43850 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@pst@pdgr@tempnodeA +10 {InitPnode } /NodeScale {} def NewNode end end + 27349 43850 +a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@t_A1_A0 /N@A1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 27349 43850 +a 27349 43850 a +tx@Dict begin tx@NodeDict begin /t 0.5 def LPut end PutBegin end + 27349 43850 a 27349 43850 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@pst@pdgr@tempnodeB +10 {InitPnode } /NodeScale {} def NewNode end end + 27349 43850 +a 27349 43850 a +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@pst@pdgr@tempnodeA /N@pst@pdgr@tempnodeB +InitNC { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 +ED /x2 ED /y1 ED /x1 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub +atan def /ArrowPos 0. def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos +0.5 abs def {/ArrowPos ArrowPos dArrowPos add def ArrowPos Length +gt { exit } if x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos +mul add ArrowInside pop pop } loop }{/ArrowPos 0. def /dArrowPos 1. +1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos +dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos +mul y1 add ArrowInside pop pop } repeat } ifelse pop pop lineto pop +pop end } if end grestore end + 27349 43850 +a 27349 43850 a +tx@Dict begin tx@NodeDict begin /t 0.5 def LPut end PutBegin end + 27349 43850 a 27088 44234 a Fv(?)27349 +43850 y +tx@Dict begin PutEnd end + 27349 43850 a 27349 43850 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B1 /N@C4 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 27349 43850 a 0 TeXcolorgray +8636 65183 a Fv(Figure)369 b(3:)p 0 TeXcolorgray 13482 +65183 a +SDict begin H.S end + 13482 65183 a 13482 65183 a +SDict begin H.R end + 13482 65183 a 13482 +65183 a +SDict begin [/View [/XYZ H.V]/Dest (figure.3) cvn /DEST pdfmark end + 13482 65183 a 0 TeXcolorgray Fv(Example)i(of)f(a)f(P)-31 +b(edigree)370 b(with)g(Twins)g(\(Data)h(File)f(from)f(Listing)p +0 TeXcolorgray 42297 65183 a +SDict begin H.S end + 42297 65183 a 0 TeXcolorgray +Fv(8)p 0 TeXcolorgray 42850 64469 a +SDict begin H.R end + 42850 64469 a 42850 +65183 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.8) cvn H.B /ANN pdfmark end + 42850 65183 a 0 TeXcolorgray Fv(\))p 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 25405 70071 a(17)p 0 TeXcolorgray +eop end +%%Page: 18 18 +TeXDict begin 18 17 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.18) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 6863 10556 a +SDict begin H.S end + 6863 10556 +a 6863 10556 a +SDict begin 12 H.A end + 6863 10556 a 6863 10556 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.9) cvn /DEST pdfmark +end + 6863 10556 a +6863 11486 a +SDict begin H.S end + 6863 11486 a 6863 11486 a +SDict begin 12 H.A end + 6863 11486 a 6863 +11486 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.9.1) cvn /DEST pdfmark +end + 6863 11486 a 1217 x Fw(Id)523 b(|Name)2616 b(|Sex)1569 +b(|DoB)3661 b(|DoD)h(|Mother|Proband|Condition|Type)6863 +13921 y(A0)523 b(|Ann)3139 b(|female|1970.06.15|)5231 +b(|)3138 b(|)3661 b(|affected)523 b(|)6863 15139 y(B1)g +(|#abortion|female|1990.03.01|)5232 b(|A0)2092 b(|)3661 +b(|affected)523 b(|)6863 16356 y(B2)g(|#abortion|male)1047 +b(|2000.10.10|)5231 b(|A0)2092 b(|)3661 b(|)4707 b(|sab)6863 +17574 y(B3)523 b(|John)2616 b(|male)1046 b(|2002.12.01|)5231 +b(|A0)2092 b(|yes)g(|affected)523 b(|)p 0 TeXcolorgray +0 TeXcolorgray 14358 20009 a Fv(Listing)371 b(9:)493 +b(Example)370 b(of)g(Data)g(File)g(with)g(Ab)31 b(ortions)p +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +25958 37230 a +tx@Dict begin { 0.0 0.0 } PutCoor PutBegin end + 25958 37230 a 25171 37230 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@A0 16 {InitRnode } /NodeScale {} def NewNode end end + 25171 37230 +a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.5 setgray 1. .setopacityalpha fill + grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 25958 +37230 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25958 37230 a 177 w Fp(Ann)25958 37230 y +tx@Dict begin PutEnd end + 25958 +37230 a 25958 37230 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25958 37230 a 26135 37911 a Fx(I:1)25958 +37230 y +tx@Dict begin PutEnd end + 25958 37230 a 25958 37230 a +tx@Dict begin PutEnd end + 25958 37230 a 25958 +37230 a +tx@Dict begin { 56.90549 -56.90549 } PutCoor PutBegin end + 25958 37230 a 25171 37230 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B3 16 {InitRnode } /NodeScale {} def NewNode end end + 25171 37230 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ -8.2511 -8.2511 -15.6491 -15.6491 /Lineto /lineto load +def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def +} if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul +neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha +y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add +y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 +ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan +def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos +dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos +mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos +1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos +ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub +ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto +} repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 +2 roll ArrowB L pop pop } if gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 25958 37230 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25958 37230 a +177 w Fp(John)25958 37230 y +tx@Dict begin PutEnd end + 25958 37230 a 25958 37230 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25958 37230 a 26135 37911 a Fx(I)d(I:3)25958 37230 +y +tx@Dict begin PutEnd end + 25958 37230 a 25958 37230 a +tx@Dict begin PutEnd end + 25958 37230 a 25958 37230 +a +tx@Dict begin { -56.90549 -56.90549 } PutCoor PutBegin end + 25958 37230 a 25171 37624 a +tx@Dict begin tx@NodeDict begin {14.22636 7.11317 14.22635 7.11317 +3.5566 } false /N@B1 16 {InitRnode } /NodeScale {} def NewNode end + end + 25171 37624 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -7.11317 2.84544 moveto +7.11317 17.07181 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 7.11317 0.0 14.22636 +-7.11317 7.11317 /Lineto /lineto load def 0 setlinejoin false NArray +n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } repeat }{ n 3 gt +{ CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 ED /x1 ED /xx1 +x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div +def x1 y1 moveto /n n 2 sub def /drawArrows { x11 y11 0.5 1 gt { /Alpha +y12 y11 sub x12 x11 sub atan def /ArrowPos 0. def /Length x12 x11 +sub y12 y11 sub Pyth def /dArrowPos 0.5 abs def { /ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos +mul add y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known +{ ArrowInside } if pop pop } loop }{ /ArrowPos 0. def /dArrowPos 1. + 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos +ArrowPos dArrowPos add def x12 x11 sub ArrowPos mul x11 add y12 y11 +sub ArrowPos mul y11 add currentdict /ArrowInside known { ArrowInside +} if pop pop } repeat } ifelse pop pop Lineto } def n { 4 copy /y11 +ED /x11 ED /y12 ED /x12 ED drawArrows } repeat x1 y1 x0 y0 6 4 roll +2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def drawArrows /y11 y0 def +/x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows pop pop closepath +} ifelse gsave 0.5 setgray 1. .setopacityalpha fill grestore +gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore end + +@endspecial +25958 37624 a +tx@Dict begin { 0.0 18.4941 } PutCoor PutBegin end + 25958 37624 a 177 w Fp(female)25958 37624 +y +tx@Dict begin PutEnd end + 25958 37624 a 25958 37624 a +tx@Dict begin { 0.0 2.84544 } PutCoor PutBegin end + 25958 37624 a 26135 38305 +a Fx(I)g(I:1)25958 37624 y +tx@Dict begin PutEnd end + 25958 37624 a 25958 37230 +a +tx@Dict begin PutEnd end + 25958 37230 a 25958 37230 a +tx@Dict begin { 0.0 -56.90549 } PutCoor PutBegin end + 25958 37230 a 25171 37624 +a +tx@Dict begin tx@NodeDict begin {14.22636 7.11317 14.22635 7.11317 +3.5566 } false /N@B2 16 {InitRnode } /NodeScale {} def NewNode end + end + 25171 37624 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 7.11317 0.0 14.22636 +-7.11317 7.11317 /Lineto /lineto load def 0 setlinejoin false NArray +n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } repeat }{ n 3 gt +{ CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 ED /x1 ED /xx1 +x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div +def x1 y1 moveto /n n 2 sub def /drawArrows { x11 y11 0.5 1 gt { /Alpha +y12 y11 sub x12 x11 sub atan def /ArrowPos 0. def /Length x12 x11 +sub y12 y11 sub Pyth def /dArrowPos 0.5 abs def { /ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos +mul add y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known +{ ArrowInside } if pop pop } loop }{ /ArrowPos 0. def /dArrowPos 1. + 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def 1. cvi { /ArrowPos +ArrowPos dArrowPos add def x12 x11 sub ArrowPos mul x11 add y12 y11 +sub ArrowPos mul y11 add currentdict /ArrowInside known { ArrowInside +} if pop pop } repeat } ifelse pop pop Lineto } def n { 4 copy /y11 +ED /x11 ED /y12 ED /x12 ED drawArrows } repeat x1 y1 x0 y0 6 4 roll +2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def drawArrows /y11 y0 def +/x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows pop pop closepath +} ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial +25958 37624 a +tx@Dict begin { 0.0 18.4941 } PutCoor PutBegin end + 25958 37624 a 177 w Fp(male)25958 37624 +y +tx@Dict begin PutEnd end + 25958 37624 a 25958 37624 a +tx@Dict begin { 0.0 2.84544 } PutCoor PutBegin end + 25958 37624 a 26135 38305 +a Fx(I)g(I:2)25958 37624 y +tx@Dict begin PutEnd end + 25958 37624 a 25958 37230 +a +tx@Dict begin PutEnd end + 25958 37230 a 25958 37230 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25958 37230 a 25958 37230 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25958 37230 a 25958 37230 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B3 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25958 37230 a 0 TeXcolorgray +6863 52264 a Fs(I:1)p 0 TeXcolorgray 553 w Fv(Ann;)370 +b(b)31 b(orn:)492 b(1970.06.15.)p 0 TeXcolorgray 6863 +54478 a Fs(I)35 b(I:1)p 0 TeXcolorgray 554 w Fv(ab)c(ortion;)371 +b(b)31 b(orn:)492 b(1990.03.01.)p 0 TeXcolorgray 6863 +56692 a Fs(I)35 b(I:2)p 0 TeXcolorgray 554 w Fv(ab)c(ortion;)371 +b(b)31 b(orn:)492 b(2000.10.10.)p 0 TeXcolorgray 6863 +58906 a Fs(I)35 b(I:3)p 0 TeXcolorgray 554 w Fv(John;)369 +b(b)31 b(orn:)493 b(2002.12.01.)p 0 TeXcolorgray 7712 +62448 a(Figure)369 b(4:)p 0 TeXcolorgray 12558 62448 +a +SDict begin H.S end + 12558 62448 a 12558 62448 a +SDict begin H.R end + 12558 62448 a 12558 62448 +a +SDict begin [/View [/XYZ H.V]/Dest (figure.4) cvn /DEST pdfmark end + 12558 62448 a 0 TeXcolorgray Fv(Example)i(of)e(a)h(P)-31 +b(edigree)370 b(with)g(Ab)31 b(ortions)370 b(\(Data)h(File)f(from)f +(Listing)p 0 TeXcolorgray 43221 62448 a +SDict begin H.S end + 43221 62448 a +0 TeXcolorgray Fv(9)p 0 TeXcolorgray 43774 61735 a +SDict begin H.R end + 43774 +61735 a 43774 62448 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.9) cvn H.B /ANN pdfmark end + 43774 62448 a 0 TeXcolorgray Fv(\))p +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 25405 70071 +a(18)p 0 TeXcolorgray eop end +%%Page: 19 19 +TeXDict begin 19 18 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.19) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 6863 6531 a +SDict begin H.S end + 6863 6531 a +6863 6531 a +SDict begin 12 H.A end + 6863 6531 a 6863 6531 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.10) cvn /DEST pdfmark +end + 6863 6531 a 6863 +7461 a +SDict begin H.S end + 6863 7461 a 6863 7461 a +SDict begin 12 H.A end + 6863 7461 a 6863 7461 +a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.10.1) cvn /DEST pdfmark +end + 6863 7461 a 1218 x Fw(Id)523 b(|Name)3662 b(|Sex)1569 +b(|Mother|Father|Proband|Type)3139 b(|Comment)6863 9896 +y(A0)523 b(|John)3662 b(|male)1046 b(|)3138 b(|)g(|)3662 +b(|)5230 b(|)6863 11114 y(B1)523 b(|James)3139 b(|male)1046 +b(|)3138 b(|A0)2092 b(|)3662 b(|)5230 b(|)6863 12332 +y(B1c|#childless)524 b(|male)1046 b(|)3138 b(|B1)2092 +b(|)3662 b(|infertile)523 b(|anospermia)6863 13549 y(B2)g(|Ann)4185 +b(|female|)3138 b(|A0)2092 b(|yes)h(|)5230 b(|)6863 14767 +y(B2c|#childless)524 b(|)3138 b(|B2)2092 b(|)3138 b(|)3662 +b(|)5230 b(|)p 0 TeXcolorgray 0 TeXcolorgray 13336 17202 +a Fv(Listing)370 b(10:)494 b(Example)371 b(of)e(Data)h(File)g(with)g +(Childlessness)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 6863 22509 a Fs(F)-106 b(ather:)p 0 TeXcolorgray +554 w Fv(The)360 b Fq(Id)f Fv(of)h(the)f(c)-31 b(hildless)360 +b(male.)491 b(If)359 b(b)31 b(oth)360 b Fq(Mother)g Fv(and)f +Fq(Father)h Fv(columns)g(are)9631 23838 y(not)311 b(empt)-31 +b(y)-92 b(,)325 b(the)311 b(en)-31 b(try)311 b(describ)31 +b(es)310 b(the)i(union)f(b)31 b(et)-31 b(w)g(een)312 +b(the)g Fq(Father)g Fv(and)f Fq(Mother)q Fv(.)9631 25166 +y(Of)418 b(only)h Fq(Mother)g Fv(or)f Fq(Father)h Fv(is)f(not)h(empt) +-31 b(y)-92 b(,)431 b(the)419 b(en)-31 b(try)418 b(describ)31 +b(es)417 b(the)i(state)g(of)9631 26494 y(the)369 b(corresp)31 +b(onding)369 b(p)31 b(erson.)p 0 TeXcolorgray 6863 28708 +a Fs(T)-35 b(yp)35 b(e:)p 0 TeXcolorgray 553 w Fv(This)415 +b(column)h(migh)-31 b(t)417 b(b)31 b(e)414 b(either)i(empt)-31 +b(y)416 b(or)e(ha)-31 b(v)g(e)416 b(a)f(k)-31 b(eyw)g(ord)416 +b Fq(infertile)q Fv(.)630 b(In)9631 30037 y(the)523 b(latter)h(case)f +(the)h(c)-31 b(hildlessness)523 b(of)h(the)f(p)31 b(erson)522 +b(or)h(union)h(is)f(caused)g(b)-31 b(y)524 b(a)9631 31365 +y(pro)-31 b(v)g(en)369 b(infertilit)-31 b(y)-92 b(.)p +0 TeXcolorgray 6863 33579 a Fs(Commen)-35 b(t:)p 0 TeXcolorgray +554 w Fv(The)386 b(v)-61 b(aule)386 b(of)g(this)f(column)i(is)e(sho)-31 +b(wn)386 b(under)f(the)h(c)-31 b(hildlessness)385 b(sym)-31 +b(b)31 b(ol)9631 34907 y(on)412 b(the)h(c)-31 b(hart.)623 +b(Put)413 b(there)f(a)h(short)f(description)i(of)f(the)f(cause)h(of)g +(c)-31 b(hildlessness,)9631 36236 y(lik)g(e)370 b Fq(anospermia)g +Fv(or)f Fq(vasectomy)r Fv(.)6863 38450 y(An)291 b(example)i(of)e(a)g(p) +31 b(edigree)291 b(with)i(c)-31 b(hildlessness)290 b(is)h(sho)-31 +b(wn)292 b(on)f(Listing)p 0 TeXcolorgray 37305 38450 +a +SDict begin H.S end + 37305 38450 a 0 TeXcolorgray Fv(10)p 0 TeXcolorgray +38411 37736 a +SDict begin H.R end + 38411 37736 a 38411 38450 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.10) cvn H.B /ANN pdfmark end + 38411 38450 +a 0 TeXcolorgray 292 w Fv(and)g(Figure)p 0 TeXcolorgray +44192 38450 a +SDict begin H.S end + 44192 38450 a 0 TeXcolorgray Fv(5)p 0 TeXcolorgray +44745 37736 a +SDict begin H.R end + 44745 37736 a 44745 38450 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.5) cvn H.B /ANN pdfmark end + 44745 38450 +a 0 TeXcolorgray Fv(.)6863 40214 y +SDict begin H.S end + 6863 40214 a 6863 +40214 a +SDict begin 12 H.A end + 6863 40214 a 6863 40214 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.6) cvn /DEST pdfmark +end + 6863 40214 a 1334 x +Ft(4.6)1495 b(Ordering)500 b(Siblings)g(and)f(Marriage)g(P)-42 +b(artners)6863 43592 y Fv(The)312 b(generations)g(in)g(p)31 +b(edigrees)311 b(are)g(ordered)g(in)g(v)-31 b(ertical)313 +b(direction,)325 b(from)312 b(up)f(do)h(do)-31 b(wn.)6863 +44920 y(Ho)g(w)372 b(should)f(w)-31 b(e)372 b(order)e(the)h(p)31 +b(eople)371 b(on)g(the)g(same)g(generation,)j(i.e.)498 +b(siblings)372 b(and)f(mar-)6863 46248 y(riage)f(partners?)8524 +47577 y(Usually)g(t)-31 b(w)g(o)371 b(rules)e(are)g(used:)6863 +48235 y +SDict begin H.S end + 6863 48235 a 6863 48235 a +SDict begin 12 H.A end + 6863 48235 a 6863 48235 +a +SDict begin [/View [/XYZ H.V]/Dest (Item.17) cvn /DEST pdfmark end + 6863 48235 a 0 TeXcolorgray 8216 49791 a Fv(1.)p 0 +TeXcolorgray 555 w(The)331 b(siblings)i(are)e(ordered)g(from)g(the)h +(oldest)g(on)g(the)g(left)g(to)g(the)g(y)-31 b(oungest)333 +b(to)f(the)9631 51119 y(righ)-31 b(t.)6863 51777 y +SDict begin H.S end + 6863 +51777 a 6863 51777 a +SDict begin 12 H.A end + 6863 51777 a 6863 51777 a +SDict begin [/View [/XYZ H.V]/Dest (Item.18) cvn /DEST pdfmark end + 6863 51777 +a 0 TeXcolorgray 8216 53333 a Fv(2.)p 0 TeXcolorgray +555 w(In)330 b(marriage)i(or)e(other)h(union)g(the)g(male)h(is)f(to)g +(the)g(left,)340 b(and)331 b(the)g(female)h(is)e(to)i(the)9631 +54661 y(righ)-31 b(t.)6863 56875 y(Ho)g(w)g(ev)g(er,)365 +b(the)d(com)-31 b(bination)365 b(of)d(these)g(rules)f(migh)-31 +b(t)363 b(lead)g(to)f(the)g(situation)i(when)e(mar-)6863 +58203 y(riage)347 b(lines)f(in)-31 b(tersect)346 b(the)h(paren)-31 +b(tal)347 b(lines.)485 b(Therefore)346 b(the)g(rule)p +0 TeXcolorgray 34718 58203 a +SDict begin H.S end + 34718 58203 a 0 TeXcolorgray +Fv(1)p 0 TeXcolorgray 35271 57490 a +SDict begin H.R end + 35271 57490 a 35271 +58203 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (Item.17) cvn H.B /ANN pdfmark end + 35271 58203 a 0 TeXcolorgray 346 w Fv(is)g(usually)h +(implicitly)6863 59532 y(mo)31 b(di\014ed:)p 0 TeXcolorgray +0 TeXcolorgray 7663 61746 a +SDict begin H.S end + 7663 61746 a 0 TeXcolorgray +Fv(1)p 0 TeXcolorgray 8216 61032 a +SDict begin H.R end + 8216 61032 a 8216 +61746 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (Item.17) cvn H.B /ANN pdfmark end + 8216 61746 a 0 TeXcolorgray Fv(a.)p 0 TeXcolorgray +555 w(The)400 b(are)g(ordered)f(from)i(the)f(oldest)h(on)g(the)f(left)h +(to)g(the)g(y)-31 b(oungest)401 b(to)g(the)g(righ)-31 +b(t.)9631 63074 y(Ho)g(w)g(ev)g(er,)550 b(if)513 b(a)f(sibling's)i +(marriage)g(is)e(sho)-31 b(wn)513 b(on)f(a)h(p)31 b(edigree,)549 +b(this)512 b(sibling)i(is)9631 64402 y(alw)-31 b(a)g(ys)371 +b(the)e(righ)-31 b(tmost)372 b(\(male\))f(or)e(the)g(leftmost)j +(\(female\).)p 0 TeXcolorgray 25405 70071 a(19)p 0 TeXcolorgray +eop end +%%Page: 20 20 +TeXDict begin 20 19 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.20) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 25774 12166 a +tx@Dict begin { 0.0 0.0 } PutCoor PutBegin end + 25774 12166 +a 24987 12166 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@A0 16 {InitRnode } /NodeScale {} def NewNode end end + 24987 12166 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 25774 12166 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25774 12166 a 177 w Fp(John)25774 +12166 y +tx@Dict begin PutEnd end + 25774 12166 a 25774 12166 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25774 12166 a 25951 +12847 a Fx(I:1)25774 12166 y +tx@Dict begin PutEnd end + 25774 12166 a 25774 12166 +a +tx@Dict begin PutEnd end + 25774 12166 a 25774 12166 a +tx@Dict begin { -28.45274 -79.66776 } PutCoor PutBegin end + 25774 12166 a 25144 12166 +a +tx@Dict begin tx@NodeDict begin {1.42271 1.42271 11.38092 5.69046 0.0 +} false /N@B1c 16 {InitRnode } /NodeScale {} def NewNode end end + 25144 12166 a 630 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -5.69046 -1.42271 moveto +5.69046 -1.42271 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -5.69046 1.42271 moveto +5.69046 1.42271 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial 26404 12166 a +tx@Dict begin { 0.0 -5.69046 } PutCoor PutBegin end + +26404 12166 a 23854 12833 a Fx(anosp)28 b(ermia)26404 +12166 y +tx@Dict begin PutEnd end + 26404 12166 a 25774 12166 a +tx@Dict begin PutEnd end + 25774 12166 a 25774 +12166 a +tx@Dict begin { 28.45274 -79.66776 } PutCoor PutBegin end + 25774 12166 a 25774 12166 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 0.0 0.0 0.0 } false /N@B2c +16 {InitRnode } /NodeScale {} def NewNode end end + 25774 12166 a @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -5.69046 0.0 moveto +5.69046 0.0 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial 25774 12166 a +tx@Dict begin PutEnd end + 25774 12166 a +25774 12166 a +tx@Dict begin { -28.45274 -56.90549 } PutCoor PutBegin end + 25774 12166 a 24987 12166 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B1 16 {InitRnode } /NodeScale {} def NewNode end end + 24987 12166 +a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 25774 +12166 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25774 12166 a 177 w Fp(James)25774 12166 y +tx@Dict begin PutEnd end + 25774 +12166 a 25774 12166 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25774 12166 a 25951 12847 a Fx(I)g(I:1)25774 +12166 y +tx@Dict begin PutEnd end + 25774 12166 a 25774 12166 a +tx@Dict begin PutEnd end + 25774 12166 a 25774 +12166 a +tx@Dict begin { 28.45274 -56.90549 } PutCoor PutBegin end + 25774 12166 a 24987 12166 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B2 16 {InitRnode } /NodeScale {} def NewNode end end + 24987 12166 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ -8.2511 -8.2511 -15.6491 -15.6491 /Lineto /lineto load +def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def +} if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul +neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha +y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add +y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 +ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan +def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos +dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos +mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos +1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos +ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub +ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto +} repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 +2 roll ArrowB L pop pop } if gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 25774 12166 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25774 12166 a +177 w Fp(Ann)25774 12166 y +tx@Dict begin PutEnd end + 25774 12166 a 25774 12166 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25774 12166 a 25951 12847 a Fx(I)g(I:2)25774 12166 +y +tx@Dict begin PutEnd end + 25774 12166 a 25774 12166 a +tx@Dict begin PutEnd end + 25774 12166 a 25774 12166 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25774 12166 a 25774 12166 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25774 12166 a 25774 12166 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B1 /N@B1c InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25774 12166 a 25774 12166 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B2 /N@B2c InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25774 12166 a 6863 33499 +a Fv(Figure)339 b(5:)p 0 TeXcolorgray 11664 33499 a +SDict begin H.S end + 11664 +33499 a 11664 33499 a +SDict begin H.R end + 11664 33499 a 11664 33499 a +SDict begin [/View [/XYZ H.V]/Dest (figure.5) cvn /DEST pdfmark end + 11664 +33499 a 0 TeXcolorgray Fv(Example)i(of)e(a)g(P)-31 b(edigree)340 +b(with)g(Childlessness)g(\(Data)g(File)f(from)h(Listing)p +0 TeXcolorgray 43516 33499 a +SDict begin H.S end + 43516 33499 a 0 TeXcolorgray +Fv(10)p 0 TeXcolorgray 44622 32786 a +SDict begin H.R end + 44622 32786 a 44622 +33499 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.10) cvn H.B /ANN pdfmark end + 44622 33499 a 0 TeXcolorgray Fv(\))p 0 TeXcolorgray +6863 37097 a(The)380 b(program)g(follo)-31 b(ws)381 b(these)e(rules.) +523 b(It)379 b(is)g(enough)h(to)g(dra)-31 b(w)380 b(p)31 +b(edigrees)378 b(in)i(most)g(cases.)6863 38425 y(In)443 +b(particular,)464 b(they)444 b(alw)-31 b(a)g(ys)446 b(pro)31 +b(duce)442 b(correct)i(p)31 b(edigrees)443 b(if)h(there)f(is)h(only)g +(one)g(mar-)6863 39753 y(riage)351 b(sho)-31 b(wn.)487 +b(Ho)-31 b(w)g(ev)g(er,)356 b(in)350 b(complex)i(cases)d(these)h(rules) +g(fail,)356 b(as)350 b(sho)-31 b(wn)351 b(on)f(Listing)p +0 TeXcolorgray 43946 39753 a +SDict begin H.S end + 43946 39753 a 0 TeXcolorgray +Fv(11)p 0 TeXcolorgray 45052 39040 a +SDict begin H.R end + 45052 39040 a 45052 +39753 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.11) cvn H.B /ANN pdfmark end + 45052 39753 a 0 TeXcolorgray 6863 41082 a Fv(and)524 +b(Figure)p 0 TeXcolorgray 12817 41082 a +SDict begin H.S end + 12817 41082 a +0 TeXcolorgray Fv(6)p 0 TeXcolorgray 13370 40368 a +SDict begin H.R end + 13370 +40368 a 13370 41082 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.6) cvn H.B /ANN pdfmark end + 13370 41082 a 0 TeXcolorgray Fv(.)955 +b(It)524 b(is)f(p)31 b(ossible)523 b(to)h(extend)g(the)g(rules)e(ab)31 +b(o)-31 b(v)g(e)525 b(to)f(accoun)-31 b(t)525 b(for)e(these)6863 +42410 y(cases,)427 b(ho)-31 b(w)g(ev)g(er)416 b(w)-31 +b(e)416 b(c)-31 b(hose)415 b(another)h(solution:)586 +b(to)416 b(pro)-31 b(vide)416 b(a)f(facilit)-31 b(y)419 +b(for)c(the)g(man)-31 b(ual)6863 43738 y(in)g(terv)g(en)g(tion)424 +b(in)e(the)f(sorting)h(and)g(ordering)f(algorithm.)652 +b(F)-92 b(or)420 b(this)i(purp)31 b(ose)420 b(a)h(sp)31 +b(ecial)6863 45067 y(column)517 b Fq(SortOrder)g Fv(is)e(used.)932 +b(It)516 b(can)g(ha)-31 b(v)g(e)516 b(p)31 b(ositiv)-31 +b(e)518 b(n)-31 b(um)g(b)31 b(ers)515 b(greater)h(than)g(1)g(or)6863 +46395 y(negativ)-31 b(e)438 b(n)-31 b(um)g(b)31 b(ers)435 +b(smaller)h(than)g(-1.)691 b(If)435 b(the)h(v)-61 b(alue)436 +b(of)f(this)h(column)h(is)e(p)31 b(ositiv)-31 b(e,)454 +b(the)6863 47723 y(corresp)31 b(onding)330 b(p)31 b(erson)329 +b(is)g(mo)-31 b(v)g(ed)332 b(to)e(the)g(left)h(when)e(sorting)i +(siblings)g(and)f(to)g(the)g(righ)-31 b(t)6863 49052 +y(when)312 b(sorting)g(marriage)g(partners.)473 b(If)311 +b(it)h(is)f(negativ)-31 b(e,)325 b(the)312 b(opp)31 b(osite)312 +b(sorting)g(rule)f(is)g(ap-)6863 50380 y(plied)344 b(\(see)g(Section)p +0 TeXcolorgray 15586 50380 a +SDict begin H.S end + 15586 50380 a 0 TeXcolorgray +Fv(7)p 0 TeXcolorgray 16139 49667 a +SDict begin H.R end + 16139 49667 a 16139 +50380 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (section.7) cvn H.B /ANN pdfmark end + 16139 50380 a 0 TeXcolorgray 344 w Fv(for)f(more)h(detailed)h +(discussion\).)485 b(Note)344 b(that)h(sibling)g(sorting)f(and)6863 +51709 y(marriage)349 b(partners)e(sorting)h(m)-31 b(ust)349 +b(w)-31 b(ork)348 b(in)g(opp)31 b(osite)348 b(directions,)353 +b(otherwise)c(marriage)6863 53037 y(lines)370 b(in)-31 +b(tersect)370 b(paternal)g(lines.)8524 54365 y(Let)455 +b(us)f(return)g(to)i(the)f(p)31 b(edigree)455 b(on)g(Listing)p +0 TeXcolorgray 28910 54365 a +SDict begin H.S end + 28910 54365 a 0 TeXcolorgray +Fv(11)p 0 TeXcolorgray 30016 53652 a +SDict begin H.R end + 30016 53652 a 30016 +54365 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.11) cvn H.B /ANN pdfmark end + 30016 54365 a 0 TeXcolorgray Fv(.)751 b(T)-92 +b(o)455 b(impro)-31 b(v)g(e)456 b(Figure)p 0 TeXcolorgray +40669 54365 a +SDict begin H.S end + 40669 54365 a 0 TeXcolorgray Fv(6)p 0 TeXcolorgray +41222 53652 a +SDict begin H.R end + 41222 53652 a 41222 54365 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.6) cvn H.B /ANN pdfmark end + 41222 54365 +a 0 TeXcolorgray 455 w Fv(w)-31 b(e)456 b(can)6863 55694 +y(either)412 b(mo)-31 b(v)g(e)414 b(P)-31 b(eter)412 +b(to)h(the)g(righ)-31 b(t)413 b(or)f(Lucy)f(to)i(the)g(left.)622 +b(The)412 b(\014rst)g(solution)i(is)d(sho)-31 b(wn)6863 +57022 y(on)370 b(Listing)p 0 TeXcolorgray 12112 57022 +a +SDict begin H.S end + 12112 57022 a 0 TeXcolorgray Fv(12)p 0 TeXcolorgray +13218 56309 a +SDict begin H.R end + 13218 56309 a 13218 57022 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.12) cvn H.B /ANN pdfmark end + 13218 57022 +a 0 TeXcolorgray 370 w Fv(and)f(Figure)p 0 TeXcolorgray +19233 57022 a +SDict begin H.S end + 19233 57022 a 0 TeXcolorgray Fv(7)p 0 TeXcolorgray +19786 56309 a +SDict begin H.R end + 19786 56309 a 19786 57022 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.7) cvn H.B /ANN pdfmark end + 19786 57022 +a 0 TeXcolorgray Fv(.)493 b(The)370 b(second)f(is)g(sho)-31 +b(wn)370 b(on)f(Listing)p 0 TeXcolorgray 36155 57022 +a +SDict begin H.S end + 36155 57022 a 0 TeXcolorgray Fv(13)p 0 TeXcolorgray +37261 56309 a +SDict begin H.R end + 37261 56309 a 37261 57022 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.13) cvn H.B /ANN pdfmark end + 37261 57022 +a 0 TeXcolorgray 370 w Fv(and)g(Figure)p 0 TeXcolorgray +43276 57022 a +SDict begin H.S end + 43276 57022 a 0 TeXcolorgray Fv(8)p 0 TeXcolorgray +43829 56309 a +SDict begin H.R end + 43829 56309 a 43829 57022 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.8) cvn H.B /ANN pdfmark end + 43829 57022 +a 0 TeXcolorgray Fv(.)8524 58350 y(Of)404 b(course)g(sometimes)j(a)e(p) +31 b(edigree)404 b(cannot)i(b)31 b(e)404 b(dra)-31 b(wn)406 +b(without)h(self-in)-31 b(tersections)6863 59679 y(with)303 +b(an)-31 b(y)303 b(sorting)g(of)g(siblings.)471 b(An)302 +b(example)i(of)e(suc)-31 b(h)302 b(p)31 b(edigree)302 +b(is)g(sho)-31 b(wn)303 b(on)f(Listing)p 0 TeXcolorgray +43946 59679 a +SDict begin H.S end + 43946 59679 a 0 TeXcolorgray Fv(14)p 0 +TeXcolorgray 45052 58965 a +SDict begin H.R end + 45052 58965 a 45052 59679 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.14) cvn H.B /ANN pdfmark end + 45052 59679 a 0 TeXcolorgray 6863 61007 a Fv(and)331 +b(Figure)p 0 TeXcolorgray 12431 61007 a +SDict begin H.S end + 12431 61007 a +0 TeXcolorgray Fv(9)p 0 TeXcolorgray 12984 60294 a +SDict begin H.R end + 12984 +60294 a 12984 61007 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.9) cvn H.B /ANN pdfmark end + 12984 61007 a 0 TeXcolorgray Fv(.)480 +b(Ob)-31 b(viously)332 b(no)f(amoun)-31 b(t)332 b(of)f(sh)-31 +b(u\017ing)332 b(the)e(siblngs)h(can)g(help)g(in)f(his)h(case.)8524 +62335 y(If)380 b(the)h(program)h(cannot)g(a)-31 b(v)g(oid)383 +b(self-in)-31 b(tersection)383 b(of)e(marriage)h(lines)f(and)h(paren) +-31 b(tal)6863 63664 y(lines)439 b(despite)f(automatics)j(sorting)e +(and)f(man)-31 b(ual)440 b(in)-31 b(terv)g(en)g(tion,)459 +b(as)437 b(the)i(last)g(resort)e(it)6863 64992 y(creates)369 +b(a)h(m)-31 b(ulti-segmen)g(t)372 b(marriage)f(line,)f(as)f(sho)-31 +b(wn)370 b(on)f(Figures)p 0 TeXcolorgray 35887 64992 +a +SDict begin H.S end + 35887 64992 a 0 TeXcolorgray Fv(6)p 0 TeXcolorgray +36440 64279 a +SDict begin H.R end + 36440 64279 a 36440 64992 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.6) cvn H.B /ANN pdfmark end + 36440 64992 +a 0 TeXcolorgray 370 w Fv(and)p 0 TeXcolorgray 38962 +64992 a +SDict begin H.S end + 38962 64992 a 0 TeXcolorgray Fv(9)p 0 TeXcolorgray +39515 64279 a +SDict begin H.R end + 39515 64279 a 39515 64992 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.9) cvn H.B /ANN pdfmark end + 39515 64992 +a 0 TeXcolorgray Fv(.)p 0 TeXcolorgray 25405 70071 a(20)p +0 TeXcolorgray eop end +%%Page: 21 21 +TeXDict begin 21 20 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.21) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 6863 11217 a +SDict begin H.S end + 6863 11217 +a 6863 11217 a +SDict begin 12 H.A end + 6863 11217 a 6863 11217 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.11) cvn /DEST pdfmark +end + 6863 11217 a +6863 12146 a +SDict begin H.S end + 6863 12146 a 6863 12146 a +SDict begin 12 H.A end + 6863 12146 a 6863 +12146 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.11.1) cvn /DEST pdfmark +end + 6863 12146 a 1218 x Fw(Id)523 b(|Name)2616 b(|Sex)1569 +b(|DoB)3661 b(|Father|Mother|Proband)6863 14582 y(A0)523 +b(|John)2616 b(|male)1046 b(|1915.06.15|)3138 b(|)h(|)6863 +15799 y(B1)523 b(|Joan)2616 b(|female|1940.03.02|A0)2092 +b(|)3139 b(|)6863 17017 y(B2)523 b(|Jane)2616 b(|female|1942.07.07|A0) +2092 b(|)3139 b(|)6863 18235 y(B3)523 b(|Bill)2616 b(|male)1046 +b(|1944.12.01|A0)2092 b(|)3139 b(|)6863 19452 y(B4)523 +b(|Peter)2093 b(|male)1046 b(|1941.05.01|)3138 b(|)h(|)6863 +20670 y(C1)523 b(|Jack)2616 b(|male)1046 b(|1963.12.01|B4)2092 +b(|B2)h(|)6863 21888 y(C2)523 b(|Sam)3139 b(|male)1046 +b(|1961.08.26|)3138 b(|B1)2093 b(|)6863 23105 y(C3)523 +b(|Ann)3139 b(|female|1965.11.12|)f(|B3)2093 b(|)6863 +24323 y(C4)523 b(|Lucy)2616 b(|female|1965.12.11|)3138 +b(|)h(|)6863 25541 y(D1)523 b(|Mark)2616 b(|male)1046 +b(|1989.06.21|C1)2092 b(|C4)h(|yes)6863 26758 y(D2)523 +b(|Dina)2616 b(|female|1991.12.02|C1)2092 b(|C4)h(|)p +0 TeXcolorgray 0 TeXcolorgray 14375 29194 a Fv(Listing)370 +b(11:)494 b(A)369 b(Data)h(File)g(with)g(a)g(Sorting)g(Problem)p +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +6863 42101 a +SDict begin H.S end + 6863 42101 a 6863 42101 a +SDict begin 12 H.A end + 6863 42101 a 6863 +42101 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.12) cvn /DEST pdfmark +end + 6863 42101 a 6863 43031 a +SDict begin H.S end + 6863 43031 a 6863 43031 +a +SDict begin 12 H.A end + 6863 43031 a 6863 43031 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.12.1) cvn /DEST pdfmark +end + 6863 43031 a 1217 x Fw(Id)523 +b(|Name)2616 b(|Sex)1569 b(|DoB)3661 b +(|Father|Mother|Proband|SortOrder)6863 45466 y(A0)523 +b(|John)2616 b(|male)1046 b(|1915.06.15|)3138 b(|)h(|)3661 +b(|)6863 46684 y(B1)523 b(|Joan)2616 b(|female|1940.03.02|A0)2092 +b(|)3139 b(|)3661 b(|)6863 47901 y(B2)523 b(|Jane)2616 +b(|female|1942.07.07|A0)2092 b(|)3139 b(|)3661 b(|)6863 +49119 y(B3)523 b(|Bill)2616 b(|male)1046 b(|1944.12.01|A0)2092 +b(|)3139 b(|)3661 b(|)6863 50337 y(B4)523 b(|Peter)2093 +b(|male)1046 b(|1941.05.01|)3138 b(|)h(|)3661 b(|)1046 +b(3)6863 51554 y(C1)523 b(|Jack)2616 b(|male)1046 b(|1963.12.01|B4)2092 +b(|B2)h(|)3661 b(|)6863 52772 y(C2)523 b(|Sam)3139 b(|male)1046 +b(|1961.08.26|)3138 b(|B1)2093 b(|)3661 b(|)6863 53990 +y(C3)523 b(|Ann)3139 b(|female|1965.11.12|)f(|B3)2093 +b(|)3661 b(|)6863 55207 y(C4)523 b(|Lucy)2616 b(|female|1965.12.11|) +3138 b(|)h(|)3661 b(|)6863 56425 y(D1)523 b(|Mark)2616 +b(|male)1046 b(|1989.06.21|C1)2092 b(|C4)h(|yes)f(|)6863 +57642 y(D2)523 b(|Dina)2616 b(|female|1991.12.02|C1)2092 +b(|C4)h(|)3661 b(|)p 0 TeXcolorgray 0 TeXcolorgray 12708 +60078 a Fv(Listing)371 b(12:)493 b(First)369 b(Solution)i(to)f(the)g +(Problem)g(in)g(Listing)p 0 TeXcolorgray 38101 60078 +a +SDict begin H.S end + 38101 60078 a 0 TeXcolorgray Fv(11)p 0 TeXcolorgray +39207 59364 a +SDict begin H.R end + 39207 59364 a 39207 60078 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.11) cvn H.B /ANN pdfmark end + 39207 60078 +a 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 25405 70071 a Fv(21)p 0 TeXcolorgray eop +end +%%Page: 22 22 +TeXDict begin 22 21 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.22) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 41522 60180 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 41522 60180 +a 79317 47581 a +tx@Dict begin { -56.90549 56.90549 } PutCoor PutBegin end + 79317 47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B3 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 +a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 79317 +47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(Bill)79317 47581 y +tx@Dict begin PutEnd end + 79317 +47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 a Fx(I)28 +b(I:4)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 +47581 a 79317 47581 a +tx@Dict begin { -113.81097 56.90549 } PutCoor PutBegin end + 79317 47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B1 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 +47581 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(Joan)79317 47581 +y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 +a Fx(I)g(I:3)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 +a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { -284.52744 56.90549 } PutCoor PutBegin end + 79317 47581 a 78530 47581 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B4 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(P)-24 b(eter)79317 +47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 +48262 a Fx(I)28 b(I:1)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 +47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { -170.71646 56.90549 } PutCoor PutBegin end + 79317 47581 a 78530 +47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B2 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(Jane)79317 +47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 +48262 a Fx(I)g(I:2)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 +47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { -227.62195 56.90549 } PutCoor PutBegin end + 79317 47581 a 79317 +47581 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@B4_m_B2 10 {InitPnode +} /NodeScale {} def NewNode end end + 79317 47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 +47581 a +tx@Dict begin { -56.90549 0.0 } PutCoor PutBegin end + 79317 47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C3 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 79317 47581 +a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(Ann)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 +a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 a Fx(I)g(I)g(I:3)79317 +47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 +47581 a +tx@Dict begin { 0.0 0.0 } PutCoor PutBegin end + 79317 47581 a 79317 47581 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@C1_m_C4 10 {InitPnode +} /NodeScale {} def NewNode end end + 79317 47581 a 79317 +47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { -113.81097 0.0 } PutCoor PutBegin end + 79317 47581 a 78530 +47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C2 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(Sam)79317 +47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 +48262 a Fx(I)g(I)g(I:2)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 +47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { -227.62195 0.0 } PutCoor PutBegin end + 79317 47581 a 78530 +47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C1 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(Jac)-24 +b(k)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 +a 79494 48262 a Fx(I)28 b(I)g(I:1)79317 47581 y +tx@Dict begin PutEnd end + 79317 +47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 56.90549 0.0 } PutCoor PutBegin end + 79317 +47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C4 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a +177 w Fp(Lucy)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 a Fx(I)g(I)g(I:4)79317 47581 +y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 +a +tx@Dict begin { -113.81097 113.81097 } PutCoor PutBegin end + 79317 47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@A0 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a +177 w Fp(John)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 a Fx(I:1)79317 47581 y +tx@Dict begin PutEnd end + 79317 +47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 28.45274 -56.90549 } PutCoor PutBegin end + 79317 +47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@D2 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a +177 w Fp(Dina)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 a Fx(IV:2)79317 47581 y +tx@Dict begin PutEnd end + 79317 +47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { -28.45274 -56.90549 } PutCoor PutBegin end + 79317 +47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@D1 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ -8.2511 -8.2511 -15.6491 -15.6491 /Lineto /lineto load +def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def +} if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul +neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha +y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add +y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 +ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan +def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos +dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos +mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos +1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos +ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub +ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto +} repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 +2 roll ArrowB L pop pop } if gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(Mark)79317 47581 +y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 +a Fx(IV:1)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 +47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B3 /N@C3 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B1 /N@C2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 +47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B4_m_B2 /N@C1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B4_m_B2 /N@B2 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 79317 +47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B4_m_B2 /N@B4 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 79317 47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C1_m_C4 /N@D1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 +47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C1_m_C4 /N@D2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C1_m_C4 /N@C4 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 79317 +47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C1 /N@C1_m_C4 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA 0. def /AngleB +180. def /ArmA 22.76227 def /ArmB 22.76227 def /ArmTypeA 0 def /ArmTypeB +0 def /loopsize 22.76227 def NCLoop } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 79317 47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 +47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B3 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 +47581 a 91915 60180 a + currentpoint grestore moveto + 91915 60180 a 0 TeXcolorgray 17579 +62615 a Fv(Figure)369 b(6:)p 0 TeXcolorgray 22425 62615 +a +SDict begin H.S end + 22425 62615 a 22425 62615 a +SDict begin H.R end + 22425 62615 a 22425 62615 +a +SDict begin [/View [/XYZ H.V]/Dest (figure.6) cvn /DEST pdfmark end + 22425 62615 a 0 TeXcolorgray Fv(P)-31 b(edigree)370 +b(from)g(Listing)p 0 TeXcolorgray 33230 62615 a +SDict begin H.S end + 33230 +62615 a 0 TeXcolorgray Fv(12)p 0 TeXcolorgray 34336 61902 +a +SDict begin H.R end + 34336 61902 a 34336 62615 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.12) cvn H.B /ANN pdfmark end + 34336 62615 a 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 25405 70071 +a Fv(22)p 0 TeXcolorgray eop end +%%Page: 23 23 +TeXDict begin 23 22 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.23) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 38359 25738 a +tx@Dict begin { -170.71646 56.90549 } PutCoor PutBegin end + 38359 25738 +a 37572 25738 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B3 16 {InitRnode } /NodeScale {} def NewNode end end + 37572 25738 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 38359 25738 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 38359 25738 a 177 w Fp(Bill)38359 +25738 y +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 38359 25738 a 38536 +26419 a Fx(I)28 b(I:2)38359 25738 y +tx@Dict begin PutEnd end + 38359 25738 a 38359 +25738 a +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin { -227.62195 56.90549 } PutCoor PutBegin end + 38359 25738 a 37572 +25738 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B1 16 {InitRnode } /NodeScale {} def NewNode end end + 37572 25738 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 38359 25738 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 38359 25738 a 177 w Fp(Joan)38359 +25738 y +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 38359 25738 a 38536 +26419 a Fx(I)g(I:1)38359 25738 y +tx@Dict begin PutEnd end + 38359 25738 a 38359 +25738 a +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin { 0.0 56.90549 } PutCoor PutBegin end + 38359 25738 a 37572 +25738 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B4 16 {InitRnode } /NodeScale {} def NewNode end end + 37572 25738 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 38359 25738 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 38359 25738 a 177 w Fp(P)-24 +b(eter)38359 25738 y +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 38359 +25738 a 38536 26419 a Fx(I)28 b(I:4)38359 25738 y +tx@Dict begin PutEnd end + 38359 +25738 a 38359 25738 a +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin { -113.81097 56.90549 } PutCoor PutBegin end + 38359 +25738 a 37572 25738 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B2 16 {InitRnode } /NodeScale {} def NewNode end end + 37572 25738 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 38359 25738 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 38359 25738 a +177 w Fp(Jane)38359 25738 y +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 38359 25738 a 38536 26419 a Fx(I)g(I:3)38359 25738 +y +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 +a +tx@Dict begin { -56.90549 56.90549 } PutCoor PutBegin end + 38359 25738 a 38359 25738 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@B4_m_B2 10 {InitPnode +} /NodeScale {} def NewNode end end + 38359 25738 a 38359 25738 +a +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin { -170.71646 0.0 } PutCoor PutBegin end + 38359 25738 a 37572 25738 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C3 16 {InitRnode } /NodeScale {} def NewNode end end + 37572 25738 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +38359 25738 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 38359 25738 a 177 w Fp(Ann)38359 25738 +y +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 38359 25738 a 38536 26419 +a Fx(I)g(I)g(I:2)38359 25738 y +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 +a +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin { 0.0 0.0 } PutCoor PutBegin end + 38359 25738 a 38359 25738 +a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@C1_m_C4 10 {InitPnode +} /NodeScale {} def NewNode end end + 38359 25738 a 38359 25738 a +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 +a +tx@Dict begin { -227.62195 0.0 } PutCoor PutBegin end + 38359 25738 a 37572 25738 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C2 16 {InitRnode } /NodeScale {} def NewNode end end + 37572 25738 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 38359 25738 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 38359 25738 a +177 w Fp(Sam)38359 25738 y +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 38359 25738 a 38536 26419 a Fx(I)g(I)g(I:1)38359 25738 +y +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 +a +tx@Dict begin { -56.90549 0.0 } PutCoor PutBegin end + 38359 25738 a 37572 25738 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C1 16 {InitRnode } /NodeScale {} def NewNode end end + 37572 25738 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 38359 25738 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 38359 25738 a +177 w Fp(Jac)-24 b(k)38359 25738 y +tx@Dict begin PutEnd end + 38359 25738 a 38359 +25738 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 38359 25738 a 38536 26419 a Fx(I)28 b(I)g(I:3)38359 +25738 y +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin PutEnd end + 38359 25738 a 38359 +25738 a +tx@Dict begin { 56.90549 0.0 } PutCoor PutBegin end + 38359 25738 a 37572 25738 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C4 16 {InitRnode } /NodeScale {} def NewNode end end + 37572 25738 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 38359 25738 +a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 38359 25738 a 177 w Fp(Lucy)38359 25738 y +tx@Dict begin PutEnd end + 38359 25738 +a 38359 25738 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 38359 25738 a 38536 26419 a Fx(I)g(I)g(I:4)38359 +25738 y +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin PutEnd end + 38359 25738 a 38359 +25738 a +tx@Dict begin { -170.71646 113.81097 } PutCoor PutBegin end + 38359 25738 a 37572 25738 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@A0 16 {InitRnode } /NodeScale {} def NewNode end end + 37572 25738 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 38359 25738 +a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 38359 25738 a 177 w Fp(John)38359 25738 y +tx@Dict begin PutEnd end + 38359 25738 +a 38359 25738 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 38359 25738 a 38536 26419 a Fx(I:1)38359 +25738 y +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin PutEnd end + 38359 25738 a 38359 +25738 a +tx@Dict begin { 28.45274 -56.90549 } PutCoor PutBegin end + 38359 25738 a 37572 25738 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@D2 16 {InitRnode } /NodeScale {} def NewNode end end + 37572 25738 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 38359 25738 +a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 38359 25738 a 177 w Fp(Dina)38359 25738 y +tx@Dict begin PutEnd end + 38359 25738 +a 38359 25738 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 38359 25738 a 38536 26419 a Fx(IV:2)38359 +25738 y +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin PutEnd end + 38359 25738 a 38359 +25738 a +tx@Dict begin { -28.45274 -56.90549 } PutCoor PutBegin end + 38359 25738 a 37572 25738 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@D1 16 {InitRnode } /NodeScale {} def NewNode end end + 37572 25738 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ -8.2511 -8.2511 -15.6491 -15.6491 /Lineto /lineto load +def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def +} if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul +neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha +y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add +y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 +ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan +def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos +dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos +mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos +1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos +ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub +ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto +} repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 +2 roll ArrowB L pop pop } if gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 38359 25738 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 38359 25738 a +177 w Fp(Mark)38359 25738 y +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 38359 25738 a 38536 26419 a Fx(IV:1)38359 25738 y +tx@Dict begin PutEnd end + 38359 +25738 a 38359 25738 a +tx@Dict begin PutEnd end + 38359 25738 a 38359 25738 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B3 /N@C3 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 38359 +25738 a 38359 25738 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B1 /N@C2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 38359 25738 a 38359 25738 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B4_m_B2 /N@C1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 38359 +25738 a 38359 25738 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B4_m_B2 /N@B2 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 38359 25738 a 38359 25738 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B4_m_B2 /N@B4 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 38359 +25738 a 38359 25738 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C1_m_C4 /N@D1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 38359 25738 a 38359 25738 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C1_m_C4 /N@D2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 38359 +25738 a 38359 25738 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C1_m_C4 /N@C4 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 38359 25738 a 38359 25738 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C1_m_C4 /N@C1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 38359 +25738 a 38359 25738 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 38359 25738 a 38359 25738 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B3 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 38359 +25738 a 38359 25738 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 38359 25738 a 0 TeXcolorgray 17579 +42100 a Fv(Figure)369 b(7:)p 0 TeXcolorgray 22425 42100 +a +SDict begin H.S end + 22425 42100 a 22425 42100 a +SDict begin H.R end + 22425 42100 a 22425 42100 +a +SDict begin [/View [/XYZ H.V]/Dest (figure.7) cvn /DEST pdfmark end + 22425 42100 a 0 TeXcolorgray Fv(P)-31 b(edigree)370 +b(from)g(Listing)p 0 TeXcolorgray 33230 42100 a +SDict begin H.S end + 33230 +42100 a 0 TeXcolorgray Fv(12)p 0 TeXcolorgray 34336 41387 +a +SDict begin H.R end + 34336 41387 a 34336 42100 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.12) cvn H.B /ANN pdfmark end + 34336 42100 a 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 6863 45813 +a +SDict begin H.S end + 6863 45813 a 6863 45813 a +SDict begin 12 H.A end + 6863 45813 a 6863 45813 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.13) cvn /DEST pdfmark +end + +6863 45813 a 6863 46742 a +SDict begin H.S end + 6863 46742 a 6863 46742 a +SDict begin 12 H.A end + 6863 +46742 a 6863 46742 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.13.1) cvn /DEST pdfmark +end + 6863 46742 a 1218 x Fw(Id)523 b(|Name)2616 +b(|Sex)1569 b(|DoB)3661 b(|Father|Mother|Proband|SortOrder)6863 +49178 y(A0)523 b(|John)2616 b(|male)1046 b(|1915.06.15|)3138 +b(|)h(|)3661 b(|)6863 50395 y(B1)523 b(|Joan)2616 b +(|female|1940.03.02|A0)2092 b(|)3139 b(|)3661 b(|)6863 +51613 y(B2)523 b(|Jane)2616 b(|female|1942.07.07|A0)2092 +b(|)3139 b(|)3661 b(|)6863 52831 y(B3)523 b(|Bill)2616 +b(|male)1046 b(|1944.12.01|A0)2092 b(|)3139 b(|)3661 +b(|)6863 54048 y(B4)523 b(|Peter)2093 b(|male)1046 b(|1941.05.01|)3138 +b(|)h(|)3661 b(|)6863 55266 y(C1)523 b(|Jack)2616 b(|male)1046 +b(|1963.12.01|B4)2092 b(|B2)h(|)3661 b(|)6863 56484 y(C2)523 +b(|Sam)3139 b(|male)1046 b(|1961.08.26|)3138 b(|B1)2093 +b(|)3661 b(|)6863 57701 y(C3)523 b(|Ann)3139 b(|female|1965.11.12|)f +(|B3)2093 b(|)3661 b(|)6863 58919 y(C4)523 b(|Lucy)2616 +b(|female|1965.12.11|)3138 b(|)h(|)3661 b(|)523 b(-3)6863 +60137 y(D1)g(|Mark)2616 b(|male)1046 b(|1989.06.21|C1)2092 +b(|C4)h(|yes)f(|)6863 61354 y(D2)523 b(|Dina)2616 b +(|female|1991.12.02|C1)2092 b(|C4)h(|)3661 b(|)p 0 TeXcolorgray +0 TeXcolorgray 12183 63790 a Fv(Listing)370 b(13:)494 +b(Second)369 b(Solution)i(to)f(the)g(Problem)g(in)f(Listing)p +0 TeXcolorgray 38627 63790 a +SDict begin H.S end + 38627 63790 a 0 TeXcolorgray +Fv(11)p 0 TeXcolorgray 39733 63076 a +SDict begin H.R end + 39733 63076 a 39733 +63790 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.11) cvn H.B /ANN pdfmark end + 39733 63790 a 0 TeXcolorgray 0 TeXcolorgray 0 +TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 25405 70071 +a Fv(23)p 0 TeXcolorgray eop end +%%Page: 24 24 +TeXDict begin 24 23 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.24) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 19462 25129 a +tx@Dict begin { 227.62195 56.90549 } PutCoor PutBegin end + 19462 25129 +a 18675 25129 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B3 16 {InitRnode } /NodeScale {} def NewNode end end + 18675 25129 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 19462 25129 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 19462 25129 a 177 w Fp(Bill)19462 +25129 y +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 19462 25129 a 19639 +25810 a Fx(I)28 b(I:4)19462 25129 y +tx@Dict begin PutEnd end + 19462 25129 a 19462 +25129 a +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin { 170.71646 56.90549 } PutCoor PutBegin end + 19462 25129 a 18675 +25129 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B1 16 {InitRnode } /NodeScale {} def NewNode end end + 18675 25129 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 19462 25129 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 19462 25129 a 177 w Fp(Joan)19462 +25129 y +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 19462 25129 a 19639 +25810 a Fx(I)g(I:3)19462 25129 y +tx@Dict begin PutEnd end + 19462 25129 a 19462 +25129 a +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin { 0.0 56.90549 } PutCoor PutBegin end + 19462 25129 a 18675 +25129 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B4 16 {InitRnode } /NodeScale {} def NewNode end end + 18675 25129 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 19462 25129 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 19462 25129 a 177 w Fp(P)-24 +b(eter)19462 25129 y +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 19462 +25129 a 19639 25810 a Fx(I)28 b(I:1)19462 25129 y +tx@Dict begin PutEnd end + 19462 +25129 a 19462 25129 a +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin { 113.81097 56.90549 } PutCoor PutBegin end + 19462 +25129 a 18675 25129 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B2 16 {InitRnode } /NodeScale {} def NewNode end end + 18675 25129 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 19462 25129 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 19462 25129 a +177 w Fp(Jane)19462 25129 y +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 19462 25129 a 19639 25810 a Fx(I)g(I:2)19462 25129 +y +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 +a +tx@Dict begin { 56.90549 56.90549 } PutCoor PutBegin end + 19462 25129 a 19462 25129 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@B4_m_B2 10 {InitPnode +} /NodeScale {} def NewNode end end + 19462 25129 a 19462 25129 +a +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin { 227.62195 0.0 } PutCoor PutBegin end + 19462 25129 a 18675 25129 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C3 16 {InitRnode } /NodeScale {} def NewNode end end + 18675 25129 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +19462 25129 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 19462 25129 a 177 w Fp(Ann)19462 25129 +y +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 19462 25129 a 19639 25810 +a Fx(I)g(I)g(I:4)19462 25129 y +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 +a +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin { 0.0 0.0 } PutCoor PutBegin end + 19462 25129 a 19462 25129 +a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@C1_m_C4 10 {InitPnode +} /NodeScale {} def NewNode end end + 19462 25129 a 19462 25129 a +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 +a +tx@Dict begin { 170.71646 0.0 } PutCoor PutBegin end + 19462 25129 a 18675 25129 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C2 16 {InitRnode } /NodeScale {} def NewNode end end + 18675 25129 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 19462 25129 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 19462 25129 a +177 w Fp(Sam)19462 25129 y +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 19462 25129 a 19639 25810 a Fx(I)g(I)g(I:3)19462 25129 +y +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 +a +tx@Dict begin { 56.90549 0.0 } PutCoor PutBegin end + 19462 25129 a 18675 25129 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C1 16 {InitRnode } /NodeScale {} def NewNode end end + 18675 25129 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 19462 25129 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 19462 25129 a +177 w Fp(Jac)-24 b(k)19462 25129 y +tx@Dict begin PutEnd end + 19462 25129 a 19462 +25129 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 19462 25129 a 19639 25810 a Fx(I)28 b(I)g(I:2)19462 +25129 y +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin PutEnd end + 19462 25129 a 19462 +25129 a +tx@Dict begin { -56.90549 0.0 } PutCoor PutBegin end + 19462 25129 a 18675 25129 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C4 16 {InitRnode } /NodeScale {} def NewNode end end + 18675 25129 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 19462 25129 +a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 19462 25129 a 177 w Fp(Lucy)19462 25129 y +tx@Dict begin PutEnd end + 19462 25129 +a 19462 25129 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 19462 25129 a 19639 25810 a Fx(I)g(I)g(I:1)19462 +25129 y +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin PutEnd end + 19462 25129 a 19462 +25129 a +tx@Dict begin { 170.71646 113.81097 } PutCoor PutBegin end + 19462 25129 a 18675 25129 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@A0 16 {InitRnode } /NodeScale {} def NewNode end end + 18675 25129 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 19462 25129 +a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 19462 25129 a 177 w Fp(John)19462 25129 y +tx@Dict begin PutEnd end + 19462 25129 +a 19462 25129 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 19462 25129 a 19639 25810 a Fx(I:1)19462 +25129 y +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin PutEnd end + 19462 25129 a 19462 +25129 a +tx@Dict begin { 28.45274 -56.90549 } PutCoor PutBegin end + 19462 25129 a 18675 25129 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@D2 16 {InitRnode } /NodeScale {} def NewNode end end + 18675 25129 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 19462 25129 +a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 19462 25129 a 177 w Fp(Dina)19462 25129 y +tx@Dict begin PutEnd end + 19462 25129 +a 19462 25129 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 19462 25129 a 19639 25810 a Fx(IV:2)19462 +25129 y +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin PutEnd end + 19462 25129 a 19462 +25129 a +tx@Dict begin { -28.45274 -56.90549 } PutCoor PutBegin end + 19462 25129 a 18675 25129 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@D1 16 {InitRnode } /NodeScale {} def NewNode end end + 18675 25129 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ -8.2511 -8.2511 -15.6491 -15.6491 /Lineto /lineto load +def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def +} if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul +neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha +y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add +y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 +ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan +def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos +dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos +mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos +1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos +ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub +ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto +} repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 +2 roll ArrowB L pop pop } if gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 19462 25129 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 19462 25129 a +177 w Fp(Mark)19462 25129 y +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 19462 25129 a 19639 25810 a Fx(IV:1)19462 25129 y +tx@Dict begin PutEnd end + 19462 +25129 a 19462 25129 a +tx@Dict begin PutEnd end + 19462 25129 a 19462 25129 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B3 /N@C3 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 19462 +25129 a 19462 25129 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B1 /N@C2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 19462 25129 a 19462 25129 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B4_m_B2 /N@C1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 19462 +25129 a 19462 25129 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B4_m_B2 /N@B2 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 19462 25129 a 19462 25129 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B4_m_B2 /N@B4 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 19462 +25129 a 19462 25129 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C1_m_C4 /N@D1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 19462 25129 a 19462 25129 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C1_m_C4 /N@D2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 19462 +25129 a 19462 25129 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C1_m_C4 /N@C4 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 19462 25129 a 19462 25129 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C1_m_C4 /N@C1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 19462 +25129 a 19462 25129 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 19462 25129 a 19462 25129 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 19462 +25129 a 19462 25129 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B3 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 19462 25129 a 0 TeXcolorgray 17579 +41491 a Fv(Figure)369 b(8:)p 0 TeXcolorgray 22425 41491 +a +SDict begin H.S end + 22425 41491 a 22425 41491 a +SDict begin H.R end + 22425 41491 a 22425 41491 +a +SDict begin [/View [/XYZ H.V]/Dest (figure.8) cvn /DEST pdfmark end + 22425 41491 a 0 TeXcolorgray Fv(P)-31 b(edigree)370 +b(from)g(Listing)p 0 TeXcolorgray 33230 41491 a +SDict begin H.S end + 33230 +41491 a 0 TeXcolorgray Fv(13)p 0 TeXcolorgray 34336 40778 +a +SDict begin H.R end + 34336 40778 a 34336 41491 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.13) cvn H.B /ANN pdfmark end + 34336 41491 a 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 6863 43986 +a +SDict begin H.S end + 6863 43986 a 6863 43986 a +SDict begin 12 H.A end + 6863 43986 a 6863 43986 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.14) cvn /DEST pdfmark +end + +6863 43986 a 6863 44916 a +SDict begin H.S end + 6863 44916 a 6863 44916 a +SDict begin 12 H.A end + 6863 +44916 a 6863 44916 a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.14.1) cvn /DEST pdfmark +end + 6863 44916 a 1218 x Fw(Id)523 b(|Name)2616 +b(|Sex)1569 b(|DoB)3661 b(|Father|Mother|Proband)6863 +47351 y(A0)523 b(|John)2616 b(|male)1046 b(|1915.06.15|)3138 +b(|)h(|)6863 48569 y(B1)523 b(|Sam)3139 b(|male)1046 +b(|1935.12.04|A0)2092 b(|)3139 b(|)6863 49787 y(B2)523 +b(|Ann)3139 b(|female|1937.03.02|A0)2092 b(|)3139 b(|)6863 +51004 y(C1)523 b(|Paul)2616 b(|male)1046 b(|1952.10.03|B1)2092 +b(|)3139 b(|)6863 52222 y(F1)523 b(|Scott)2093 b(|male)1046 +b(|1912.02.01|)3138 b(|)h(|)6863 53440 y(G1)523 b(|Simon)2093 +b(|male)1046 b(|1934.09.17|F1)2092 b(|)3139 b(|)6863 +54657 y(G2)523 b(|Sarah)2093 b(|female|1936.12.19|F1)f(|)3139 +b(|)6863 55875 y(H1)523 b(|Lola)2616 b(|female|1960.04.13|G2)2092 +b(|)3139 b(|)6863 57093 y(K1)523 b(|Jim)3139 b(|male)1046 +b(|1962.11.05|G1)2092 b(|B2)h(|)6863 58310 y(M1)523 b(|Jane)2616 +b(|female|1917.02.13|)3138 b(|)h(|)6863 59528 y(P1)523 +b(|Simon)2093 b(|male)1046 b(|1935.10.04|)3138 b(|)523 +b(M1)1570 b(|)6863 60745 y(R1)523 b(|Pam)3139 b(|female|1964.02.05|P1) +2092 b(|)3139 b(|)6863 61963 y(X1)523 b(|James)2093 b(|male)1046 +b(|1988.07.12|K1)2092 b(|R1)h(|yes)p 0 TeXcolorgray 0 +TeXcolorgray 11771 64398 a Fv(Listing)370 b(14:)493 b(A)370 +b(P)-31 b(edigree)370 b(with)g(Una)-31 b(v)g(oidable)372 +b(Self-In)-31 b(tersections)p 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 25405 70071 a(24)p 0 TeXcolorgray +eop end +%%Page: 25 25 +TeXDict begin 25 24 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.25) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 41522 60180 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 41522 60180 +a 79317 47581 a +tx@Dict begin { -227.62195 56.90549 } PutCoor PutBegin end + 79317 47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@G1 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 +a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 79317 +47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(Simon)79317 47581 y +tx@Dict begin PutEnd end + 79317 +47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 a Fx(I)28 +b(I:2)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 +47581 a 79317 47581 a +tx@Dict begin { -284.52744 56.90549 } PutCoor PutBegin end + 79317 47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@G2 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 +47581 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(Sarah)79317 47581 +y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 +a Fx(I)g(I:1)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 +a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { -56.90549 56.90549 } PutCoor PutBegin end + 79317 47581 a 78530 47581 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B1 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(Sam)79317 47581 +y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 +a Fx(I)g(I:4)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 +a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { -113.81097 56.90549 } PutCoor PutBegin end + 79317 47581 a 78530 47581 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B2 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(Ann)79317 47581 +y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 +a Fx(I)g(I:3)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 +a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 56.90549 56.90549 } PutCoor PutBegin end + 79317 47581 a 78530 47581 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@P1 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(Simon)79317 47581 +y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 +a Fx(I)g(I:5)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 +a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { -170.71646 56.90549 } PutCoor PutBegin end + 79317 47581 a 79317 47581 +a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@G1_m_B2 10 {InitPnode +} /NodeScale {} def NewNode end end + 79317 47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 +a +tx@Dict begin { 56.90549 0.0 } PutCoor PutBegin end + 79317 47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@R1 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a +177 w Fp(P)-24 b(am)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 +47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 a Fx(I)28 b(I)g(I:4)79317 +47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 +47581 a +tx@Dict begin { -284.52744 0.0 } PutCoor PutBegin end + 79317 47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@H1 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 79317 47581 +a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(Lola)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 +a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 a Fx(I)g(I)g(I:1)79317 +47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 +47581 a +tx@Dict begin { 0.0 0.0 } PutCoor PutBegin end + 79317 47581 a 79317 47581 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@K1_m_R1 10 {InitPnode +} /NodeScale {} def NewNode end end + 79317 47581 a 79317 +47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { -170.71646 0.0 } PutCoor PutBegin end + 79317 47581 a 78530 +47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@K1 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(Jim)79317 +47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 +48262 a Fx(I)g(I)g(I:2)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 +47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { -56.90549 0.0 } PutCoor PutBegin end + 79317 47581 a 78530 +47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C1 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(P)-24 +b(aul)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 +47581 a 79494 48262 a Fx(I)28 b(I)g(I:3)79317 47581 y +tx@Dict begin PutEnd end + +79317 47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 +a +tx@Dict begin { 56.90549 113.81097 } PutCoor PutBegin end + 79317 47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@M1 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a +177 w Fp(Jane)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 a Fx(I:3)79317 47581 y +tx@Dict begin PutEnd end + 79317 +47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { -85.35823 113.81097 } PutCoor PutBegin end + 79317 +47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@A0 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a +177 w Fp(John)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 a Fx(I:2)79317 47581 y +tx@Dict begin PutEnd end + 79317 +47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { -256.07469 113.81097 } PutCoor PutBegin end + 79317 +47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@F1 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a +177 w Fp(Scott)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 a Fx(I:1)79317 47581 y +tx@Dict begin PutEnd end + 79317 +47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 0.0 -56.90549 } PutCoor PutBegin end + 79317 +47581 a 78530 47581 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@X1 16 {InitRnode } /NodeScale {} def NewNode end end + 78530 47581 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ -8.2511 -8.2511 -15.6491 -15.6491 /Lineto /lineto load +def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def +} if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul +neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha +y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add +y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 +ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan +def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos +dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos +mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos +1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos +ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub +ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto +} repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 +2 roll ArrowB L pop pop } if gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +79317 47581 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 79317 47581 a 177 w Fp(James)79317 47581 +y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 79317 47581 a 79494 48262 +a Fx(IV:1)79317 47581 y +tx@Dict begin PutEnd end + 79317 47581 a 79317 47581 a +tx@Dict begin PutEnd end + 79317 +47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@G2 /N@H1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B1 /N@C1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 +47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@P1 /N@R1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@G1_m_B2 /N@K1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 +47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@G1_m_B2 /N@B2 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 79317 47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@G1_m_B2 /N@G1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 79317 +47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@K1_m_R1 /N@X1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@K1_m_R1 /N@R1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 79317 +47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@K1 /N@K1_m_R1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA 0. def /AngleB +180. def /ArmA 22.76227 def /ArmB 22.76227 def /ArmTypeA 0 def /ArmTypeB +0 def /loopsize 22.76227 def NCLoop } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 79317 47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@M1 /N@P1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 +47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 +47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1 /N@G2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 47581 a 79317 47581 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1 /N@G1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 79317 +47581 a 91915 60180 a + currentpoint grestore moveto + 91915 60180 a 0 TeXcolorgray 17579 +62615 a Fv(Figure)369 b(9:)p 0 TeXcolorgray 22425 62615 +a +SDict begin H.S end + 22425 62615 a 22425 62615 a +SDict begin H.R end + 22425 62615 a 22425 62615 +a +SDict begin [/View [/XYZ H.V]/Dest (figure.9) cvn /DEST pdfmark end + 22425 62615 a 0 TeXcolorgray Fv(P)-31 b(edigree)370 +b(from)g(Listing)p 0 TeXcolorgray 33230 62615 a +SDict begin H.S end + 33230 +62615 a 0 TeXcolorgray Fv(14)p 0 TeXcolorgray 34336 61902 +a +SDict begin H.R end + 34336 61902 a 34336 62615 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.14) cvn H.B /ANN pdfmark end + 34336 62615 a 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 25405 70071 +a Fv(25)p 0 TeXcolorgray eop end +%%Page: 26 26 +TeXDict begin 26 25 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.26) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 6863 6531 a +SDict begin H.S end + 6863 6531 a +6863 6531 a +SDict begin 12 H.A end + 6863 6531 a 6863 6531 a +SDict begin [/View [/XYZ H.V]/Dest (lstlisting.15) cvn /DEST pdfmark +end + 6863 6531 a 6863 +7461 a +SDict begin H.S end + 6863 7461 a 6863 7461 a +SDict begin 12 H.A end + 6863 7461 a 6863 7461 +a +SDict begin [/View [/XYZ H.V]/Dest (lstnumber.15.1) cvn /DEST pdfmark +end + 6863 7461 a 1218 x Fw(Id)523 b(|Name)2616 b(|Sex)1569 +b(|Father|Mother|Proband|DoB)6863 9896 y(A0)523 b(|Jane)2616 +b(|female|)3138 b(|)g(|)3662 b(|1908.12.12)6863 11114 +y(B1)523 b(|John)2616 b(|male)1046 b(|)3138 b(|A0)2092 +b(|)3662 b(|1936.12.15)6863 12332 y(B2)523 b(|Ann)3139 +b(|female|)f(|A0)2092 b(|)3662 b(|1934.04.17)6863 13549 +y(B3)523 b(|Samantha)h(|female|)3138 b(|A0)2092 b(|)3662 +b(|1932.12.03)6863 14767 y(B4)523 b(|Nancy)2093 b(|female|)3138 +b(|A0)2092 b(|)3662 b(|1928.01.05)6863 15984 y(C1)523 +b(|Mary)2616 b(|female|)3138 b(|B2)2092 b(|)523 b(yes)1570 +b(|1955.08.26)6863 17202 y(C2)523 b(|Paul)2616 b(|male)1046 +b(|)3138 b(|B3)2092 b(|)3662 b(|1964.05.07)6863 18420 +y(C3)523 b(|Jane)2616 b(|female|)3138 b(|B4)2092 b(|)3662 +b(|1950.11.03)6863 19637 y(D1)523 b(|Jack)2616 b(|male)1046 +b(|B1)2092 b(|C1)g(|)3662 b(|1975.07.01)6863 20855 y(D2)523 +b(|Laura)2093 b(|female|C2)f(|C3)g(|)3662 b(|1974.09.05)p +0 TeXcolorgray 0 TeXcolorgray 13955 23290 a Fv(Listing)371 +b(15:)493 b(A)369 b(P)-31 b(edigree)370 b(with)h(Consanguinic)g(Unions) +p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 6863 27491 +a +SDict begin H.S end + 6863 27491 a 6863 27491 a +SDict begin 12 H.A end + 6863 27491 a 6863 27491 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.7) cvn /DEST pdfmark +end + +6863 27491 a 1107 x Ft(4.7)1495 b(Consanguinic)501 b(Unions)6863 +30641 y Fv(Consanguinic)393 b(unions)d(presen)-31 b(t)390 +b(a)g(tec)-31 b(hnical)392 b(problem)f(for)f(the)h(program)g(\(see)f +(the)g(dis-)6863 31969 y(cussion)365 b(in)g(Section)p +0 TeXcolorgray 15840 31969 a +SDict begin H.S end + 15840 31969 a 0 TeXcolorgray +Fv(8)p 0 TeXcolorgray 16393 31256 a +SDict begin H.R end + 16393 31256 a 16393 +31969 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (section.8) cvn H.B /ANN pdfmark end + 16393 31969 a 0 TeXcolorgray Fv(\).)492 b(Therefore)365 +b(the)g(supp)31 b(ort)364 b(of)h(consanguinicit)-31 b(y)368 +b(is)c(exp)31 b(erimen)-31 b(tal)6863 33298 y(for)369 +b(this)h(release.)8524 34626 y(There)387 b(is)h(a)g(n)-31 +b(um)g(b)31 b(er)388 b(of)g(limitations)k(for)c(consanguinic)i(unions)e +(in)g(the)g(data)h(\014le)f(at)6863 35954 y(presen)-31 +b(t.)630 b(First,)426 b(the)415 b(consanguinic)i(unions)e(should)h(not) +f(in)g(the)h(direct)f(lineage)h(of)g(the)6863 37283 y(proband)358 +b(or)f(the)g(p)31 b(erson)357 b(from)g(whic)-31 b(h)358 +b(the)g(p)31 b(edigree)357 b(starts.)489 b(In)357 b(man)-31 +b(y)358 b(cases)f(this)g(limi-)6863 38611 y(tation)370 +b(can)f(eliminated)h(b)-31 b(y)368 b(using)h Fq(-s)f +Fv(option)i(\(see)e(Section)p 0 TeXcolorgray 33057 38611 +a +SDict begin H.S end + 33057 38611 a 0 TeXcolorgray Fv(4.1)p 0 TeXcolorgray +34470 37898 a +SDict begin H.R end + 34470 37898 a 34470 38611 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.1) cvn H.B /ANN pdfmark end + 34470 38611 +a 0 TeXcolorgray Fv(\))h(to)g(c)-31 b(ho)31 b(ose)369 +b(a)f(di\013eren)-31 b(t)6863 39939 y(starting)504 b(p)31 +b(oin)-31 b(t)503 b(for)f(the)h(p)31 b(edigree.)892 b(Second,)536 +b(the)502 b(c)-31 b(hildren)503 b(of)g(consanguinic)h(unions)6863 +41268 y(migh)-31 b(t)324 b(app)31 b(ear)323 b(not)g(cen)-31 +b(terd)322 b(on)h(the)f(c)-31 b(harts.)477 b(An)323 b(example)g(of)g(a) +g(p)31 b(edigree)322 b(with)i(consan-)6863 42596 y(guinic)390 +b(marriages)f(is)f(sho)-31 b(wn)389 b(on)f(Listing)p +0 TeXcolorgray 25012 42596 a +SDict begin H.S end + 25012 42596 a 0 TeXcolorgray +Fv(15)p 0 TeXcolorgray 26118 41883 a +SDict begin H.R end + 26118 41883 a 26118 +42596 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.15) cvn H.B /ANN pdfmark end + 26118 42596 a 0 TeXcolorgray Fv(,)394 b(and)389 +b(the)f(corresp)31 b(onding)388 b(c)-31 b(hart)389 b(is)f(sho)-31 +b(wn)6863 43924 y(on)383 b(Figure)p 0 TeXcolorgray 11919 +43924 a +SDict begin H.S end + 11919 43924 a 0 TeXcolorgray Fv(10)p 0 TeXcolorgray +13025 43211 a +SDict begin H.R end + 13025 43211 a 13025 43924 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.10) cvn H.B /ANN pdfmark end + 13025 43924 +a 0 TeXcolorgray Fv(.)533 b(The)382 b(dra)-31 b(wbac)g(ks)383 +b(of)g(the)f(program)h(are)f(eviden)-31 b(t)383 b(from)g(the)f(p)31 +b(ositions)384 b(of)6863 45253 y(Laura)369 b(nad)h(Jac)-31 +b(k)370 b(on)f(these)g(c)-31 b(harts.)6863 46802 y +SDict begin H.S end + 6863 +46802 a 6863 46802 a +SDict begin 12 H.A end + 6863 46802 a 6863 46802 a +SDict begin [/View [/XYZ H.V]/Dest (subsection.4.8) cvn /DEST pdfmark +end + 6863 46802 +a 1550 x Ft(4.8)1495 b(Language-Dep)42 b(enden)-42 b(t)501 +b(Keyw)-42 b(ords)6863 50395 y Fv(A)-31 b(t)341 b(presen)-31 +b(t)339 b(the)h(program)h Fo(p)31 b(edigree)340 b Fv(can)g(w)-31 +b(ork)341 b(with)g(English)g(and)f(Russian)g(languages.)6863 +51723 y(As)471 b(discussed)e(in)i(Section)p 0 TeXcolorgray +18886 51723 a +SDict begin H.S end + 18886 51723 a 0 TeXcolorgray Fv(3.5)p 0 +TeXcolorgray 20299 51010 a +SDict begin H.R end + 20299 51010 a 20299 51723 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.3.5) cvn H.B /ANN pdfmark end + 20299 51723 a 0 TeXcolorgray Fv(,)498 b(the)471 b(language)i(options) +f(c)-31 b(ho)31 b(oses)471 b Fn(b)-57 b(oth)555 b Fv(the)471 +b(languages)6863 53052 y(of)i(input)g(and)f(output)i(\014les.)802 +b(It)472 b(is)g(easy)h(to)g(add)f(new)h(languages)h(to)f(the)f(sc)-31 +b(heme)473 b(b)-31 b(y)6863 54380 y(expanding)371 b(the)e(library)h +Fq(Pedigree::Language.pm)i Fv(in)e(the)f(distribution.)8524 +55708 y(The)526 b(English)i(language)h(is)d(the)h(default.)966 +b(Moreo)-31 b(v)g(er,)567 b(if)527 b(the)g(Russian)f(option)i(is)6863 +57037 y(c)-31 b(hosen,)370 b(English)g(k)-31 b(eyw)g(ords)370 +b(are)f(still)i(recognized)f(in)f(the)h(input)g(\014le.)8524 +58365 y(The)456 b(English)h(and)g(Russian)f(k)-31 b(eyw)g(ords)457 +b(are)f(listed)h(in)f(T)-92 b(able)p 0 TeXcolorgray 35787 +58365 a +SDict begin H.S end + 35787 58365 a 0 TeXcolorgray Fv(1)p 0 TeXcolorgray +36340 57652 a +SDict begin H.R end + 36340 57652 a 36340 58365 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (table.1) cvn H.B /ANN pdfmark end + 36340 58365 +a 0 TeXcolorgray Fv(.)754 b(Note)457 b(that)h(some)6863 +59693 y(k)-31 b(eyw)g(ords)370 b(ha)-31 b(v)g(e)370 b(v)-61 +b(arian)-31 b(ts;)371 b(they)f(are)f(listed)h(in)f(the)h(table)g(as)f +(w)-31 b(ell.)p 0 TeXcolorgray 25405 70071 a(26)p 0 TeXcolorgray +eop end +%%Page: 27 27 +TeXDict begin 27 26 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.27) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 25774 25534 a +tx@Dict begin { 56.90549 -85.35823 } PutCoor PutBegin end + 25774 25534 +a 25774 25534 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@B1_m_C1 10 {InitPnode +} /NodeScale {} def NewNode end end + 25774 25534 a 25774 25534 a +tx@Dict begin PutEnd end + 25774 25534 +a 25774 25534 a +tx@Dict begin { 0.0 0.0 } PutCoor PutBegin end + 25774 25534 a 24987 25534 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@A0 16 {InitRnode } /NodeScale {} def NewNode end end + 24987 25534 +a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 25774 +25534 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25774 25534 a 177 w Fp(Jane)25774 25534 y +tx@Dict begin PutEnd end + 25774 +25534 a 25774 25534 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25774 25534 a 25951 26215 a Fx(I:1)25774 +25534 y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin PutEnd end + 25774 25534 a 25774 +25534 a +tx@Dict begin { -85.35823 -113.81097 } PutCoor PutBegin end + 25774 25534 a 24987 25534 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C3 16 {InitRnode } /NodeScale {} def NewNode end end + 24987 25534 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 25774 25534 +a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25774 25534 a 177 w Fp(Jane)25774 25534 y +tx@Dict begin PutEnd end + 25774 25534 +a 25774 25534 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25774 25534 a 25951 26215 a Fx(I)28 b(I)g(I:1)25774 +25534 y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin PutEnd end + 25774 25534 a 25774 +25534 a +tx@Dict begin { -56.90549 -113.81097 } PutCoor PutBegin end + 25774 25534 a 25774 25534 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@C2_m_C3 10 {InitPnode +} /NodeScale {} def NewNode end end + 25774 25534 a 25774 +25534 a +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin { 56.90549 -113.81097 } PutCoor PutBegin end + 25774 25534 a 25774 +25534 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@B1_m1_C1 10 {InitPnode +} /NodeScale {} def NewNode end end + 25774 25534 a 25774 25534 a +tx@Dict begin PutEnd end + 25774 25534 a 25774 +25534 a +tx@Dict begin { 28.45274 -113.81097 } PutCoor PutBegin end + 25774 25534 a 24987 25534 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C1 16 {InitRnode } /NodeScale {} def NewNode end end + 24987 25534 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ -8.2511 -8.2511 -15.6491 -15.6491 /Lineto /lineto load +def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def +} if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul +neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha +y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add +y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 +ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan +def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos +dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos +mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos +1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos +ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub +ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto +} repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 +2 roll ArrowB L pop pop } if gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 25774 25534 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25774 25534 a +177 w Fp(Mary)25774 25534 y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25774 25534 a 25951 26215 a Fx(I)g(I)g(I:3)25774 25534 +y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 +a +tx@Dict begin { -28.45274 -113.81097 } PutCoor PutBegin end + 25774 25534 a 24987 25534 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C2 16 {InitRnode } /NodeScale {} def NewNode end end + 24987 25534 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 25774 25534 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25774 25534 a +177 w Fp(P)-24 b(aul)25774 25534 y +tx@Dict begin PutEnd end + 25774 25534 a 25774 +25534 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25774 25534 a 25951 26215 a Fx(I)28 b(I)g(I:2)25774 +25534 y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin PutEnd end + 25774 25534 a 25774 +25534 a +tx@Dict begin { 85.35823 -56.90549 } PutCoor PutBegin end + 25774 25534 a 24987 25534 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B1 16 {InitRnode } /NodeScale {} def NewNode end end + 24987 25534 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 25774 25534 +a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25774 25534 a 177 w Fp(John)25774 25534 y +tx@Dict begin PutEnd end + 25774 25534 +a 25774 25534 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25774 25534 a 25951 26215 a Fx(I)g(I:4)25774 +25534 y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin PutEnd end + 25774 25534 a 25774 +25534 a +tx@Dict begin { -28.45274 -56.90549 } PutCoor PutBegin end + 25774 25534 a 24987 25534 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B3 16 {InitRnode } /NodeScale {} def NewNode end end + 24987 25534 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 25774 25534 +a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25774 25534 a 177 w Fp(Saman)-24 b(tha)25774 25534 +y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25774 25534 a 25951 26215 +a Fx(I)28 b(I:2)25774 25534 y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 +a +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin { -85.35823 -56.90549 } PutCoor PutBegin end + 25774 25534 a 24987 25534 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B4 16 {InitRnode } /NodeScale {} def NewNode end end + 24987 25534 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +25774 25534 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25774 25534 a 177 w Fp(Nancy)25774 25534 +y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25774 25534 a 25951 26215 +a Fx(I)g(I:1)25774 25534 y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 +a +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin { 28.45274 -56.90549 } PutCoor PutBegin end + 25774 25534 a 24987 25534 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@B2 16 {InitRnode } /NodeScale {} def NewNode end end + 24987 25534 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +25774 25534 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25774 25534 a 177 w Fp(Ann)25774 25534 +y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25774 25534 a 25951 26215 +a Fx(I)g(I:3)25774 25534 y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 +a +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin { -85.35823 -170.71646 } PutCoor PutBegin end + 25774 25534 a 24987 25534 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@D2 16 {InitRnode } /NodeScale {} def NewNode end end + 24987 25534 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +25774 25534 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25774 25534 a 177 w Fp(Laura)25774 25534 +y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25774 25534 a 25951 26215 +a Fx(IV:1)25774 25534 y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin PutEnd end + 25774 +25534 a 25774 25534 a +tx@Dict begin { 28.45274 -170.71646 } PutCoor PutBegin end + 25774 25534 a 24987 25534 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@D1 16 {InitRnode } /NodeScale {} def NewNode end end + 24987 +25534 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +25774 25534 a +tx@Dict begin { 0.0 11.38092 } PutCoor PutBegin end + 25774 25534 a 177 w Fp(Jac)-24 b(k)25774 +25534 y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 25774 25534 a 25951 +26215 a Fx(IV:2)25774 25534 y +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 +a +tx@Dict begin PutEnd end + 25774 25534 a 25774 25534 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B1_m_C1 /N@B1_m1_C1 InitNC { tx@Dict begin + /Lineto /lineto load def 0 setlinejoin false pop end /AngleA -90. +def /AngleB 90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 +sub dup mul add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB +0 def NCAngles } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore grestore end + 25774 25534 a 25774 25534 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 2.6 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B1_m_C1 /N@C1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 2.6 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +gsave 1.0 SLW 1 setgray stroke grestore gsave grestore grestore +end + 25774 25534 a 25774 25534 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 2.6 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B1_m_C1 /N@B1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 2.6 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +gsave 1.0 SLW 1 setgray stroke grestore gsave grestore grestore +end + 25774 25534 a 25774 25534 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B4 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25774 25534 a 25774 25534 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B3 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25774 25534 a 25774 25534 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25774 25534 a 25774 25534 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A0 /N@B1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25774 25534 a 25774 25534 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C2_m_C3 /N@D2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25774 25534 a 25774 25534 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 2.6 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C2_m_C3 /N@C3 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 2.6 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +gsave 1.0 SLW 1 setgray stroke grestore gsave grestore grestore +end + 25774 25534 a 25774 25534 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 2.6 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@C2_m_C3 /N@C2 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 2.6 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +gsave 1.0 SLW 1 setgray stroke grestore gsave grestore grestore +end + 25774 25534 a 25774 25534 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B1_m1_C1 /N@D1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25774 25534 a 25774 25534 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B3 /N@C2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25774 25534 a 25774 25534 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B4 /N@C3 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25774 25534 a 25774 25534 +a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@B2 /N@C1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 22.76227 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 25774 25534 a 0 TeXcolorgray 17302 53166 a Fv(Figure)369 +b(10:)p 0 TeXcolorgray 22702 53166 a +SDict begin H.S end + 22702 53166 a 22702 +53166 a +SDict begin H.R end + 22702 53166 a 22702 53166 a +SDict begin [/View [/XYZ H.V]/Dest (figure.10) cvn /DEST pdfmark end + 22702 53166 a 0 TeXcolorgray +Fv(P)-31 b(edigree)370 b(from)g(Listing)p 0 TeXcolorgray +33507 53166 a +SDict begin H.S end + 33507 53166 a 0 TeXcolorgray Fv(15)p 0 +TeXcolorgray 34613 52453 a +SDict begin H.R end + 34613 52453 a 34613 53166 +a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (lstlisting.15) cvn H.B /ANN pdfmark end + 34613 53166 a 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 25405 70071 a Fv(27)p 0 TeXcolorgray eop +end +%%Page: 28 28 +TeXDict begin 28 27 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.28) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 7974 13932 35970 45 v 8638 +14862 a Fv(English)370 b(k)-31 b(eyw)g(ord)1330 b(English)370 +b(v)-61 b(arian)-31 b(ts)1330 b(Russian)369 b(k)-31 b(eyw)g(ords)p +7974 15304 V 8638 16234 a Fs(Field)424 b(Names)8638 17563 +y Fv(Id)17379 b Fc(\310\344\345\355\362)8638 18891 y +Fv(Name)15597 b Fc(\324\310\316)8638 20219 y Fv(Sex)16703 +b Fc(\317\356\353)8638 21548 y Fv(DoB)16211 b Fc(\320)-31 +b(\356)g(\346\344)8638 22876 y Fv(DoD)16149 b Fc(\323\354\345\360)8638 +24204 y Fv(Mother)14855 b Fc(\314\340\362\374)8638 25533 +y Fv(F)-92 b(ather)15239 b Fc(\316\362\345\366)8638 26861 +y Fv(Proband)14256 b Fc(\317\360\356\341\340\355\344)8638 +28189 y Fv(Condition)13600 b Fc(\321\356\361\362\356)-31 +b(\377\355\350\345)8638 29518 y Fv(Commen)g(t)13692 b +Fc(\312\356\354\354\345\355\362)-31 b(\340\360\350\351)8638 +30846 y Fv(T)g(yp)31 b(e)15904 b Fc(\322\350\357)8638 +32174 y Fv(Twins)15437 b Fc(\301\353\350\347\355\345\366\373)8638 +33503 y Fv(SortOrder)4418 b(Sort)7076 b Fc(\317\356\360)-31 +b(\377\344\356\352\321\356\360\362\350\360\356\342\352\350,)371 +b(\321\356\360\362)8638 34831 y Fs(Field)424 b(V)-106 +b(alues)8638 36159 y Fv(male)16120 b Fc(\354\363\346,)369 +b(\354)8638 37488 y Fv(female)15290 b Fc(\346)-31 b(\345\355,)369 +b(\346)8638 38816 y Fv(unkno)-31 b(wn)14029 b Fc(\355\345\350\347\342,) +369 b(\355\345\350\347\342\345\361\362\355\356)8638 40145 +y Fv(y)-31 b(es)16912 b Fc(\344\340)8638 41473 y Fv(no)17226 +b Fc(\355\345\362)8638 42801 y Fv(normal)15010 b Fc(\355\356\360\354,) +369 b(\347\344\356\360\356\342)8638 44130 y Fv(obligatory)4397 +b(obligat)5790 b Fc(\356\341\353\350\343)-31 b(\340\362)8638 +45458 y Fv(asymptomatic)2488 b(asymp)5997 b Fc(\340\361\350\354\357) +8638 46786 y Fv(a\013ected)5566 b(a\013ect)6495 b Fc +(\341\356\353\374\355,)370 b(\341\356\353\345\355)8638 +48115 y Fv(infertile)14672 b Fc(\341\345\361\357\353\356)-31 +b(\344\355)8638 49443 y Fv(sab)16789 b Fc(\342\373\352\350\344\373\370) +8638 50771 y Fv(monozygotic)3232 b(monzygot)4406 b Fc +(\354\356\355\356\347\350\343\356\362\355,)370 b +(\354\356\355\356\347\350\343)-92 b(,)368 b(\356)-31 +b(\344\355\356)g(\377\351\366\345\342)8638 52100 y Fv(qzygotic)5291 +b(qzygot,)371 b(?)4711 b Fc(?)8638 53428 y Fs(Sp)35 b(ecial)424 +b(Names)8638 54756 y Fq(#)p Fv(ab)31 b(ortion)13722 b +Fq(#)p Fc(\340\341\356\360\362)8638 56085 y Fq(#)p Fv(c)-31 +b(hildless)13835 b Fq(#)p Fc(\341\345\347\344\345\362\355)p +7974 56528 V 0 TeXcolorgray 15725 58514 a Fv(T)-92 b(able)370 +b(1:)p 0 TeXcolorgray 20122 58514 a +SDict begin H.S end + 20122 58514 a 20122 +58514 a +SDict begin H.R end + 20122 58514 a 20122 58514 a +SDict begin [/View [/XYZ H.V]/Dest (table.1) cvn /DEST pdfmark end + 20122 58514 a 0 TeXcolorgray +Fv(Keyw)-31 b(ords)370 b(in)f(Di\013eren)-31 b(t)369 +b(Languages)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +25405 70071 a(28)p 0 TeXcolorgray eop end +%%Page: 29 29 +TeXDict begin 29 28 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.29) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 6863 5867 a +SDict begin H.S end + 6863 5867 a 6863 5867 a +SDict begin 12 H.A end + 6863 +5867 a 6863 5867 a +SDict begin [/View [/XYZ H.V]/Dest (part.2) cvn /DEST pdfmark end + 6863 5867 a 1107 x Fu(P)-50 b(art)599 +b(I)50 b(I)6863 9741 y Fr(Algorithm)864 b(Description)6863 +11617 y +SDict begin H.S end + 6863 11617 a 6863 11617 a +SDict begin 12 H.A end + 6863 11617 a 6863 11617 +a +SDict begin [/View [/XYZ H.V]/Dest (section.5) cvn /DEST pdfmark end + 6863 11617 a 1547 x Fu(5)1793 b(In)-50 b(tro)50 b(duction)6863 +15588 y Fv(This)351 b(part)f(is)h(in)-31 b(tended)351 +b(for)f(adv)-61 b(anced)351 b(users)e(and)h(is)g(not)h(neccessary)f +(for)g(runn)-31 b(uing)351 b(the)6863 16916 y(program.)8524 +18245 y(The)365 b(problem)h(of)g(nicely)g(t)-31 b(yp)31 +b(esetting)368 b(graphs)d(is)g(one)h(of)g(the)f(classical)i(problems)f +(in)6863 19573 y(the)448 b(Computer)g(Science)g([)p 0 +TeXcolorgray 18416 19573 a +SDict begin H.S end + 18416 19573 a 0 TeXcolorgray +Fv(4)p 0 TeXcolorgray 18969 18860 a +SDict begin H.R end + 18969 18860 a 18969 +19573 a +SDict begin [/Color [0 1 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (cite.GraphDrawing99) cvn H.B /ANN pdfmark end + 18969 19573 a 0 TeXcolorgray 1 w Fv(].)727 b(One)448 +b(of)f(the)h(earliest)g(algorithms)i(here)d(is)g(the)h(classical)6863 +20902 y(algorithm)541 b(for)e(la)-31 b(y)g(ered)540 b(ro)31 +b(oted)539 b(trees)f(b)-31 b(y)539 b(Reingold)h(and)f(Tilford)h([)p +0 TeXcolorgray 37393 20902 a +SDict begin H.S end + 37393 20902 a 0 TeXcolorgray +Fv(4)p 0 TeXcolorgray 37946 20188 a +SDict begin H.R end + 37946 20188 a 37946 +20902 a +SDict begin [/Color [0 1 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (cite.GraphDrawing99) cvn H.B /ANN pdfmark end + 37946 20902 a 0 TeXcolorgray 1 w Fv(,)581 b Fb(x)538 +b Fv(3.1].)1003 b(This)6863 22230 y(algorithm)359 b(w)-31 +b(as)356 b(implemen)-31 b(ted)358 b(b)-31 b(y)356 b Fq(PSTricks)h +Fv([)p 0 TeXcolorgray 27382 22230 a +SDict begin H.S end + 27382 22230 a 0 TeXcolorgray +Fv(3)p 0 TeXcolorgray 27935 21517 a +SDict begin H.R end + 27935 21517 a 27935 +22230 a +SDict begin [/Color [0 1 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (cite.PSTricks93) cvn H.B /ANN pdfmark end + 27935 22230 a 0 TeXcolorgray 1 w Fv(].)488 b(Ho)-31 +b(w)g(ev)g(er,)361 b(man)-31 b(y)356 b(p)31 b(edigrees)356 +b(are)f(not)6863 23558 y(trees)440 b([)p 0 TeXcolorgray +9895 23558 a +SDict begin H.S end + 9895 23558 a 0 TeXcolorgray Fv(2)p 0 TeXcolorgray +10448 22845 a +SDict begin H.R end + 10448 22845 a 10448 23558 a +SDict begin [/Color [0 1 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (cite.pst-pdgr06) cvn H.B /ANN pdfmark end + 10448 23558 +a 0 TeXcolorgray 1 w Fv(].)705 b(If)440 b(w)-31 b(e)440 +b(consider)g(a)g(subset)g(of)g(p)31 b(edigrees)440 b(where)f(in)-31 +b(breeding)441 b(is)f(absen)-31 b(t,)459 b(the)6863 24887 +y(p)31 b(edigrees)334 b(b)31 b(ecome)334 b(trees.)480 +b(Ho)-31 b(w)g(ev)g(er,)343 b(ev)-31 b(en)335 b(in)f(this)g(case)g(the) +g(the)g(tree)g(is)g(not)h(necessary)6863 26215 y(la)-31 +b(y)g(ered,)426 b(as)413 b(can)g(b)31 b(e)413 b(seen)g(from)g(Figure)p +0 TeXcolorgray 24685 26215 a +SDict begin H.S end + 24685 26215 a 0 TeXcolorgray +Fv(1)p 0 TeXcolorgray 25238 25502 a +SDict begin H.R end + 25238 25502 a 25238 +26215 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.1) cvn H.B /ANN pdfmark end + 25238 26215 a 0 TeXcolorgray Fv(.)625 b(Therefore)413 +b(a)g(new)h(approac)-31 b(h)414 b(generalizing)6863 27543 +y(Reingold-Tilford)341 b(algorithm)g(is)d(necessary)-92 +b(.)481 b(This)338 b(approac)-31 b(h)339 b(is)f(based)g(on)g(the)g +(analysis)6863 28872 y(of)370 b(the)f(structure)g(of)h(p)31 +b(edigrees)368 b(and)i(is)f(sk)-31 b(etc)g(hed)370 b(in)f(the)h +(remainder)f(of)h(this)f(man)-31 b(ual.)6863 30755 y +SDict begin H.S end + +6863 30755 a 6863 30755 a +SDict begin 12 H.A end + 6863 30755 a 6863 30755 a +SDict begin [/View [/XYZ H.V]/Dest (section.6) cvn /DEST pdfmark end + 6863 +30755 a 1777 x Fu(6)1793 b(Main)598 b(Algorithm)6863 +34957 y Fv(A)426 b(p)31 b(edigree)425 b(consists)h(of)g(no)31 +b(des)425 b(\(v)-31 b(ertices\),)441 b(connected)426 +b(b)-31 b(y)426 b(lines)g(\(edges\).)663 b(If)425 b(there)g(is)6863 +36285 y(no)373 b(in)-31 b(breeding,)375 b(the)e(graph)g(is)g(acyclic.) +505 b(There)373 b(are)f(t)-31 b(w)g(o)375 b(kinds)e(of)g(no)31 +b(des)372 b(in)h(the)g(graph:)6863 37614 y(p)31 b(erson)533 +b(no)31 b(des)533 b(\(squares)h(and)g(circles)f(on)h(Figures)p +0 TeXcolorgray 29973 37614 a +SDict begin H.S end + 29973 37614 a 0 TeXcolorgray +Fv(1)p 0 TeXcolorgray 30526 36900 a +SDict begin H.R end + 30526 36900 a 30526 +37614 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.1) cvn H.B /ANN pdfmark end + 30526 37614 a 0 TeXcolorgray 534 w Fv(and)p 0 +TeXcolorgray 33377 37614 a +SDict begin H.S end + 33377 37614 a 0 TeXcolorgray +Fv(2)p 0 TeXcolorgray 33930 36900 a +SDict begin H.R end + 33930 36900 a 33930 +37614 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.2) cvn H.B /ANN pdfmark end + 33930 37614 a 0 TeXcolorgray Fv(\))g(and)g Fn(marriage)548 +b(no)-57 b(des)p Fv(,)6863 38942 y(whic)-31 b(h)288 b(are)e(nameless)h +(on)g(the)g(\014gures.)465 b(W)-92 b(e)286 b(will)i(use)e(the)h +(notation)j(\\male)e(sp)31 b(ouse-female)6863 40270 y(sp)g(ouse")460 +b(for)g(suc)-31 b(h)459 b(no)31 b(des,)483 b(so)459 b(the)i(marriage)g +(no)31 b(des)459 b(on)h(Figure)p 0 TeXcolorgray 35531 +40270 a +SDict begin H.S end + 35531 40270 a 0 TeXcolorgray Fv(1)p 0 TeXcolorgray +36084 39557 a +SDict begin H.R end + 36084 39557 a 36084 40270 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.1) cvn H.B /ANN pdfmark end + 36084 40270 +a 0 TeXcolorgray 460 w Fv(are)g(I:1-I:2,)484 b(I:3-I:4)6863 +41599 y(and)330 b(I)31 b(I:2-I)g(I:3.)479 b(A)330 b(no)31 +b(de)329 b(has)g(a)h Fn(pr)-57 b(e)g(c)g(e)g(dessor)449 +b Fv(and)330 b Fn(childr)-57 b(en)p Fv(.)480 b(A)329 +b(marriage)i(no)31 b(de)329 b(do)31 b(es)329 b(not)6863 +42927 y(ha)-31 b(v)g(e)380 b(a)f(precedessor,)i(but)e(has)g +Fn(male)405 b(sp)-57 b(ouse)462 b Fv(and)379 b Fn(female)406 +b(sp)-57 b(ouse)461 b Fv(\(it)380 b(is)f(customary)h(to)6863 +44255 y(put)336 b(male)h(sp)31 b(ouses)334 b(to)i(the)g(left)h(and)e +(female)i(sp)31 b(ouses)335 b(to)h(the)g(righ)-31 b(t)336 +b(on)g(p)31 b(edigrees\).)482 b(An)-31 b(y)6863 45584 +y(no)31 b(de)311 b(has)f(a)h Fn(downwar)-57 b(d)341 b(tr)-57 +b(e)g(e)394 b Fv(of)311 b(its)g(c)-31 b(hildren,)323 +b(grandc)-31 b(hildren)312 b(etc.)473 b(The)311 b(do)-31 +b(wn)g(w)g(ard)312 b(tree)6863 46912 y(ma)-31 b(y)371 +b(b)31 b(e)368 b(empt)-31 b(y)-92 b(.)8524 48240 y(An)-31 +b(y)346 b(no)31 b(de)347 b(in)f(an)h(acyclic)g(graph)g(can)f(b)31 +b(e)346 b(a)g(ro)31 b(ot.)486 b(Ho)-31 b(w)g(ev)g(er,)353 +b(in)346 b(la)-31 b(y)g(ered)348 b(trees)d(there)6863 +49569 y(is)377 b(a)g(sp)31 b(ecial)378 b(ro)31 b(ot:)508 +b(the)377 b(one)h(that)g(has)f(no)g(precedessor.)514 +b(Similarly)380 b(w)-31 b(e)377 b(will)i(call)f(a)f Fn(lo)-57 +b(c)g(al)6863 50897 y(r)g(o)g(ot)488 b Fv(a)383 b(no)31 +b(de)384 b(that)g(has)f(no)g(predecessor.)534 b(All)384 +b(marriage)g(no)31 b(des)383 b(are)g(lo)31 b(cal)385 +b(ro)31 b(ots.)534 b(Some)6863 52225 y(p)31 b(erson)369 +b(no)31 b(des)368 b(can)i(b)31 b(e)368 b(lo)31 b(cal)371 +b(ro)31 b(ots)369 b(as)h(w)-31 b(ell.)8524 53554 y(Let)424 +b(us)f(\014rst)h(discuss)f(the)h(case)g(where)g(cobnsanguinic)i +(marriages)f(are)f(absen)-31 b(t.)658 b(In)6863 54882 +y(this)370 b(case)f(a)g(p)31 b(edigree)369 b(is)h(a)f(tree.)8524 +56210 y(The)443 b(prop)31 b(osed)442 b(algorithm)k(is)d(recursiv)-31 +b(e)442 b(and)i(starts)f(from)g(a)h(lo)31 b(cal)444 b(ro)31 +b(ot.)715 b(Strictly)6863 57539 y(sp)31 b(eaking,)364 +b(it)f(can)e(start)h(from)g(an)-31 b(y)362 b(lo)31 b(cal)363 +b(ro)31 b(ot,)364 b(but)d(medical)i(p)31 b(edigrees)361 +b(ha)-31 b(v)g(e)363 b(a)e(sp)31 b(ecial)6863 58867 y(p)g(erson:)577 +b Fn(pr)-57 b(ob)g(and,)423 b Fv(the)412 b(p)31 b(erson)411 +b(who)i(w)-31 b(as)412 b(the)g(\014rst)g(to)g(b)31 b(e)412 +b(examined)h(b)-31 b(y)412 b(genetic)h(sp)31 b(e-)6863 +60196 y(cialists)426 b(\(the)e(proband)g(is)g(sho)-31 +b(wn)424 b(b)-31 b(y)425 b(an)f(arro)-31 b(w)424 b(dra)-31 +b(wn)425 b(near)e(the)h(no)31 b(de)424 b(on)g(Figures)p +0 TeXcolorgray 44500 60196 a +SDict begin H.S end + 44500 60196 a 0 TeXcolorgray +Fv(1)p 0 TeXcolorgray 45053 59482 a +SDict begin H.R end + 45053 59482 a 45053 +60196 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.1) cvn H.B /ANN pdfmark end + 45053 60196 a 0 TeXcolorgray 6863 61524 a Fv(and)p +0 TeXcolorgray 8963 61524 a +SDict begin H.S end + 8963 61524 a 0 TeXcolorgray +Fv(2)p 0 TeXcolorgray 9516 60811 a +SDict begin H.R end + 9516 60811 a 9516 +61524 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.2) cvn H.B /ANN pdfmark end + 9516 61524 a 0 TeXcolorgray Fv(\).)477 b(Therefore)317 +b(it)g(mak)-31 b(es)318 b(sense)e(to)i(start)g(from)f(the)h(lo)31 +b(cal)318 b(ro)31 b(ot)318 b(whic)-31 b(h)318 b(has)f(proband)6863 +62852 y(in)370 b(its)f(do)-31 b(wn)g(w)g(ard)371 b(tree.)8524 +64181 y(If)527 b(this)h(lo)31 b(cal)529 b(ro)31 b(ot)528 +b(is)g(a)g(p)31 b(erson)526 b(no)31 b(de,)568 b(the)528 +b(p)31 b(edigree)527 b(is)h(the)g(la)-31 b(y)g(ered)528 +b(tree,)568 b(and)6863 65509 y(Reingold-Tilford)387 b(algorithm)g(is)c +(su\016cien)-31 b(t.)537 b(Therefore)384 b(w)-31 b(e)384 +b(should)h(consider)e(only)i(the)p 0 TeXcolorgray 25405 +70071 a(29)p 0 TeXcolorgray eop end +%%Page: 30 30 +TeXDict begin 30 29 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.30) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 28910 18465 a +tx@Dict begin { -170.71646 56.90549 } PutCoor PutBegin end + 28910 18465 +a 28123 18465 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@GF1 16 {InitRnode } /NodeScale {} def NewNode end end + 28123 18465 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -9.38945 -9.38945 moveto +9.38945 9.38945 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial 28910 +18465 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28910 18465 a 29087 19222 a Fv(I:1)28910 18465 +y +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 +a +tx@Dict begin { -113.81097 56.90549 } PutCoor PutBegin end + 28910 18465 a 28910 18465 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@GF1_m_GM1 10 {InitPnode +} /NodeScale {} def NewNode end end + 28910 18465 a 28910 18465 +a +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin { -56.90549 56.90549 } PutCoor PutBegin end + 28910 18465 a 28123 18465 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@GM1 16 {InitRnode } /NodeScale {} def NewNode end end + 28123 18465 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0.0 7.11317 moveto +0.0 -7.11317 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray -9.38945 -9.38945 moveto +9.38945 9.38945 L 0 setlinejoin 0 setlinecap stroke end + +@endspecial 28910 18465 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28910 18465 a +29087 19222 a Fv(I:2)28910 18465 y +tx@Dict begin PutEnd end + 28910 18465 a 28910 +18465 a +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin { 0.0 56.90549 } PutCoor PutBegin end + 28910 18465 a 28123 +18465 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@GF2 16 {InitRnode } /NodeScale {} def NewNode end end + 28123 18465 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + + +@endspecial 28910 18465 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28910 18465 a 29087 19222 +a Fv(I:3)28910 18465 y +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin PutEnd end + 28910 +18465 a 28910 18465 a +tx@Dict begin { 56.90549 56.90549 } PutCoor PutBegin end + 28910 18465 a 28910 18465 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@GF2_m_GM2 10 {InitPnode +} /NodeScale {} def NewNode end end + 28910 +18465 a 28910 18465 a +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin { 113.81097 56.90549 } PutCoor PutBegin end + 28910 +18465 a 28123 18465 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@GM2 16 {InitRnode } /NodeScale {} def NewNode end end + 28123 18465 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 28910 18465 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28910 18465 a +29087 19222 a Fv(I:4)28910 18465 y +tx@Dict begin PutEnd end + 28910 18465 a 28910 +18465 a +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin { -142.26372 0.0 } PutCoor PutBegin end + 28910 18465 a 28123 +18465 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@A1 16 {InitRnode } /NodeScale {} def NewNode end end + 28123 18465 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray /DS 2.0 2. CLW mul +add 2 div def /PSTricksDotFont 0. [1.0 0.0 0.0 1.0 0.0 0.0] FontDot +/Dot { moveto gsave 1. 1. scale (b) show grestore } bind def 0.0 +0.0 Dot end + + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 28910 +18465 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28910 18465 a 29087 19222 a Fv(I)31 b(I:1)28910 +18465 y +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin PutEnd end + 28910 18465 a 28910 +18465 a +tx@Dict begin { -85.35823 0.0 } PutCoor PutBegin end + 28910 18465 a 28123 18465 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@F1 16 {InitRnode } /NodeScale {} def NewNode end end + 28123 18465 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + +@endspecial 28910 18465 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28910 18465 a 29087 19222 a Fv(I)g(I:2)28910 18465 +y +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 +a +tx@Dict begin { 0.0 0.0 } PutCoor PutBegin end + 28910 18465 a 28910 18465 a +tx@Dict begin tx@NodeDict begin {0.0 0.0 } false /N@F1_m_M1 10 {InitPnode +} /NodeScale {} def NewNode end end + 28910 18465 a 28910 18465 +a +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin { 56.90549 0.0 } PutCoor PutBegin end + 28910 18465 a 28123 18465 +a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@M1 16 {InitRnode } /NodeScale {} def NewNode end end + 28123 18465 a 787 w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +28910 18465 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28910 18465 a 29087 19222 a Fv(I)g(I:3)28910 +18465 y +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin PutEnd end + 28910 18465 a 28910 +18465 a +tx@Dict begin { -142.26372 -56.90549 } PutCoor PutBegin end + 28910 18465 a 28123 18465 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@C1 16 {InitRnode } /NodeScale {} def NewNode end end + 28123 18465 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.5 setgray 1. .setopacityalpha fill + grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 28910 18465 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28910 18465 a 29087 19222 a Fv(I)g(I)g(I:1)28910 18465 +y +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 +a +tx@Dict begin { -56.90549 -56.90549 } PutCoor PutBegin end + 28910 18465 a 28123 18465 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@P 16 {InitRnode } /NodeScale {} def NewNode end end + 28123 18465 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.5 setgray 1. .setopacityalpha + fill grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 +setlinejoin 0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ -8.2511 -8.2511 -15.6491 -15.6491 /Lineto /lineto load +def 0 setlinejoin false NArray n 0 eq not { n 1 eq { 0 0 /n 2 def +} if () length 0 gt { 1.5 2. CLW mul add dup 1.4 mul exch 0.4 mul +neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED /Alpha +y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength mul add +y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy /y1 ED /x1 +ED /y2 ED /x2 ED x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub Atan +def /ArrowPos 0. def /dArrowPos 0.5 abs def 1. cvi { /ArrowPos ArrowPos +dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin ArrowPos +mul add ArrowInside pop pop } repeat }{ /ArrowPos 0. def /dArrowPos +1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1. cvi { /ArrowPos +ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add y2 y1 sub +ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse pop pop Lineto +} repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse CP 4 +2 roll ArrowB L pop pop } if gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial +28910 18465 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28910 18465 a 29087 19222 a Fv(I)g(I)g(I:2)28910 +18465 y +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin PutEnd end + 28910 18465 a 28910 +18465 a +tx@Dict begin { 0.0 -56.90549 } PutCoor PutBegin end + 28910 18465 a 28123 18465 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@S1 16 {InitRnode } /NodeScale {} def NewNode end end + 28123 18465 a 787 +w @beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray 0.0 0.0 7.11317 .5 CLW mul +sub 0 360 arc closepath gsave 0.5 setgray 1. .setopacityalpha fill + grestore gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 28910 18465 +a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28910 18465 a 29087 19222 a Fv(I)g(I)g(I:3)28910 18465 +y +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 +a +tx@Dict begin { 56.90549 -56.90549 } PutCoor PutBegin end + 28910 18465 a 28123 18465 a +tx@Dict begin tx@NodeDict begin {7.11317 7.11317 14.22635 7.11317 0.0 +} false /N@S2 16 {InitRnode } /NodeScale {} def NewNode end end + 28123 18465 a 787 w @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def +/ArrowInside { } def 0.8 SLW 0 setgray [ 7.11317 -7.11317 7.11317 +7.11317 -7.11317 7.11317 -7.11317 -7.11317 /Lineto /lineto load def +0 setlinejoin false NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { +pop pop } repeat }{ n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED +/x0 ED /y1 ED /x1 ED /xx1 x1 def /yy1 y1 def x1 y1 /x1 x0 x1 add 2 +div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def /drawArrows +{ x11 y11 0.5 1 gt { /Alpha y12 y11 sub x12 x11 sub atan def /ArrowPos +0. def /Length x12 x11 sub y12 y11 sub Pyth def /dArrowPos 0.5 abs +def { /ArrowPos ArrowPos dArrowPos add def ArrowPos Length gt { exit +} if x11 Alpha cos ArrowPos mul add y11 Alpha sin ArrowPos mul add +currentdict /ArrowInside known { ArrowInside } if pop pop } loop }{ +/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } +ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def x12 x11 sub +ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11 add currentdict /ArrowInside +known { ArrowInside } if pop pop } repeat } ifelse pop pop Lineto } +def n { 4 copy /y11 ED /x11 ED /y12 ED /x12 ED drawArrows } repeat +x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED /y12 y0 def /x12 x0 def +drawArrows /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def drawArrows +pop pop closepath } ifelse gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 28910 18465 a +tx@Dict begin { 0.0 -11.38092 } PutCoor PutBegin end + 28910 18465 a +29087 19222 a Fv(I)g(I)g(I:4)28910 18465 y +tx@Dict begin PutEnd end + 28910 18465 +a 28910 18465 a +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF1_m_GM1 /N@A1 InitNC { tx@Dict begin +/Lineto /lineto load def 0 setlinejoin false pop end /AngleA -90. +def /AngleB 90. def /ArmA 28.45274 GetEdgeA yA yA1 sub dup mul xA xA1 +sub dup mul add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB +0 def NCAngles } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore grestore end + 28910 18465 +a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF1_m_GM1 /N@F1 InitNC { tx@Dict begin +/Lineto /lineto load def 0 setlinejoin false pop end /AngleA -90. +def /AngleB 90. def /ArmA 28.45274 GetEdgeA yA yA1 sub dup mul xA xA1 +sub dup mul add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB +0 def NCAngles } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore grestore end + 28910 18465 a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF1_m_GM1 /N@GM1 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 28910 18465 +a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF1_m_GM1 /N@GF1 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 28910 18465 a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF2_m_GM2 /N@M1 InitNC { tx@Dict begin +/Lineto /lineto load def 0 setlinejoin false pop end /AngleA -90. +def /AngleB 90. def /ArmA 28.45274 GetEdgeA yA yA1 sub dup mul xA xA1 +sub dup mul add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB +0 def NCAngles } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha + 0 setlinejoin 0 setlinecap stroke grestore grestore end + 28910 18465 +a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF2_m_GM2 /N@GM2 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 28910 18465 a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@GF2_m_GM2 /N@GF2 InitNC { NCCoor tx@Dict +begin ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED +x1 y1 0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. + def /Length x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos +ArrowPos dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha +cos ArrowPos mul add y1 Alpha sin ArrowPos mul add ArrowInside pop +pop } loop }{/ArrowPos 0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div +}{ 0.5 } ifelse def 1. cvi { /ArrowPos ArrowPos dArrowPos add def +x2 x1 sub ArrowPos mul x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside +pop pop } repeat } ifelse pop pop lineto pop pop end } if end gsave +0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin 0 setlinecap +stroke grestore grestore end + 28910 18465 +a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@A1 /N@C1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 28.45274 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 28910 18465 a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@P InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 28.45274 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 28910 18465 +a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@S1 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 28.45274 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 28910 18465 a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@S2 InitNC { tx@Dict begin /Lineto +/lineto load def 0 setlinejoin false pop end /AngleA -90. def /AngleB +90. def /ArmA 28.45274 GetEdgeA yA yA1 sub dup mul xA xA1 sub dup mul +add sqrt sub def /ArmB 0.0 def /ArmTypeA 0 def /ArmTypeB 0 def NCAngles + } if end gsave 0.8 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore grestore end + 28910 18465 +a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@M1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 28910 18465 a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /ArrowA { moveto } def +/ArrowB { } def /ArrowInside { } def /NCLW CLW def tx@NodeDict begin +0.0 0.0 neg 0.0 0.0 0 0 /N@F1_m_M1 /N@F1 InitNC { NCCoor tx@Dict begin +ArrowA CP 4 2 roll ArrowB 4 copy /y2 ED /x2 ED /y1 ED /x1 ED x1 y1 +0.5 1 gt { /Alpha y2 y1 sub x2 x1 sub atan def /ArrowPos 0. def /Length +x2 x1 sub y2 y1 sub Pyth def /dArrowPos 0.5 abs def {/ArrowPos ArrowPos +dArrowPos add def ArrowPos Length gt { exit } if x1 Alpha cos ArrowPos +mul add y1 Alpha sin ArrowPos mul add ArrowInside pop pop } loop }{/ArrowPos +0. def /dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{ 0.5 } ifelse def +1. cvi { /ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul +x1 add y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } +ifelse pop pop lineto pop pop end } if end gsave 0.8 SLW 0 setgray + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore + grestore end + 28910 18465 +a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /NCLW CLW def tx@NodeDict +begin 0.0 0.0 neg 19.91682 19.91682 0 0 /N@GF1 /N@GM1 InitNC { tx@Dict +begin /Lineto /lineto load def 0 setlinejoin false pop end 28.45274 +19.91682 NCBox } if end gsave 45. rotate 0.08 SLW 0 0 1 setrgbcolor +0.8 0.0 0.0 LineFill grestore grestore end + 28910 18465 a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /NCLW CLW def tx@NodeDict +begin 0.0 0.0 neg 19.91682 19.91682 0 0 /N@A1 /N@F1 InitNC { tx@Dict +begin /Lineto /lineto load def 0 setlinejoin false pop end 36.98865 +19.91682 NCBox } if end gsave 45. rotate 0.08 SLW 0 0 1 setrgbcolor +0.8 0.0 0.0 LineFill grestore grestore end + 28910 18465 +a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /NCLW CLW def tx@NodeDict +begin 0.0 0.0 neg 19.91682 19.91682 0 0 /N@C1 /N@C1 InitNC { tx@Dict +begin /Lineto /lineto load def 0 setlinejoin false pop end 36.98865 +19.91682 NCBox } if end gsave 45. rotate 0.08 SLW 0 0 1 setrgbcolor +0.8 0.0 0.0 LineFill grestore grestore end + 28910 18465 a 28910 18465 a +tx@Dict begin { -113.81097 91.04869 } PutCoor PutBegin end + 28910 18465 +a 0 0 1 TeXcolorrgb 24901 18742 a Fv(Left)369 b(subp)31 +b(edigree)p 0 TeXcolorgray 28910 18465 a +tx@Dict begin PutEnd end + 28910 18465 +a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /NCLW CLW def tx@NodeDict +begin 0.0 0.0 neg 19.91682 19.91682 0 0 /N@GF2 /N@GM2 InitNC { tx@Dict +begin /Lineto /lineto load def 0 setlinejoin false pop end 28.45274 +19.91682 NCBox } if end gsave 45. rotate 0.08 SLW 1 0 0 setrgbcolor +0.8 0.0 0.0 LineFill grestore grestore end + 28910 18465 a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /NCLW CLW def tx@NodeDict +begin 0.0 0.0 neg 19.91682 19.91682 0 0 /N@M1 /N@M1 InitNC { tx@Dict +begin /Lineto /lineto load def 0 setlinejoin false pop end 36.98865 +19.91682 NCBox } if end gsave 45. rotate 0.08 SLW 1 0 0 setrgbcolor +0.8 0.0 0.0 LineFill grestore grestore end + 28910 18465 +a 28910 18465 a +tx@Dict begin { 56.90549 91.04869 } PutCoor PutBegin end + 28910 18465 a 1 0 0 TeXcolorrgb 24532 +18742 a Fv(Righ)-31 b(t)370 b(subp)31 b(edigree)p 0 TeXcolorgray +28910 18465 a +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin gsave STV newpath /ArrowA { moveto } def /ArrowB { } +def /ArrowInside { } def 0.8 SLW 0 setgray /NCLW CLW def tx@NodeDict +begin 0.0 0.0 neg 19.91682 19.91682 0 0 /N@P /N@S2 InitNC { tx@Dict +begin /Lineto /lineto load def 0 setlinejoin false pop end 36.98865 +19.91682 NCBox } if end gsave 45. rotate 0.08 SLW 0 1 0 setrgbcolor +0.8 0.0 0.0 LineFill grestore grestore end + 28910 18465 +a 28910 18465 a +tx@Dict begin { 0.0 -85.35823 } PutCoor PutBegin end + 28910 18465 a 0 1 0 TeXcolorrgb 25241 +18850 a Fv(Do)-31 b(wn)g(w)g(ard)370 b(tree)p 0 TeXcolorgray +28910 18465 a +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin { 0.0 0.0 } PutCoor PutBegin end + 28910 18465 +a @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray /DS 2.0 2. CLW mul +add 2 div def /PSTricksDotFont 0. [1.0 0.0 0.0 1.0 0.0 0.0] FontDot +/Dot { moveto gsave 1. 1. scale (b) show grestore } bind def 0.0 +0.0 Dot end + +@endspecial 28910 18465 +a +tx@Dict begin PutEnd end + 28910 18465 a 28910 18465 a +tx@Dict begin { 0.0 5.69046 } PutCoor PutBegin end + 28910 18465 a 26410 18850 +a Fv(Lo)31 b(cal)371 b(ro)31 b(ot)28910 18465 y +tx@Dict begin PutEnd end + 28910 +18465 a 0 TeXcolorgray 15033 33499 a Fv(Figure)369 b(11:)p +0 TeXcolorgray 20433 33499 a +SDict begin H.S end + 20433 33499 a 20433 33499 +a +SDict begin H.R end + 20433 33499 a 20433 33499 a +SDict begin [/View [/XYZ H.V]/Dest (figure.11) cvn /DEST pdfmark end + 20433 33499 a 0 TeXcolorgray +Fv(Subp)31 b(edigrees)368 b(and)i(Do)-31 b(wn)g(w)g(ard)371 +b(T)-92 b(ree)p 0 TeXcolorgray 0 TeXcolorgray 6863 37035 +a(case)450 b(when)g(the)h(lo)31 b(cal)451 b(ro)31 b(ot)451 +b(is)f(a)g(marriage)h(no)31 b(de.)736 b(In)449 b(this)h(case)g(w)-31 +b(e)451 b(can)f(t)-31 b(yp)31 b(eset)451 b(the)6863 38364 +y(do)-31 b(wn)g(w)g(ard)339 b(tree)e(using)h(Reingold-Tilford)i +(algorithm.)485 b(The)338 b(sp)31 b(ouses)336 b(do)h(not)h(b)31 +b(elong)338 b(to)6863 39692 y(this)349 b(tree.)485 b(Ho)-31 +b(w)g(ev)g(er,)354 b(eac)-31 b(h)349 b(of)f(them)h(b)31 +b(elongs)348 b(to)h(eac)-31 b(h)349 b(o)-31 b(wn)349 +b(subp)31 b(edigree.)485 b(W)-92 b(e)347 b(will)j(call)6863 +41020 y(them)337 b Fn(left)365 b(subp)-57 b(e)g(digr)g(e)g(e)421 +b Fv(and)336 b Fn(right)366 b(subp)-57 b(e)g(digr)g(e)g(e)p +Fv(.)483 b(W)-92 b(e)335 b(recursiv)-31 b(ely)336 b(apply)h(our)e +(algorithm)6863 42349 y(to)442 b(t)-31 b(yp)31 b(eset)442 +b(left)h(and)f(righ)-31 b(t)442 b(subp)31 b(edigrees.)709 +b(Then)441 b(w)-31 b(e)442 b(mo)-31 b(v)g(e)443 b(the)f(left)g(subp)31 +b(edigree)441 b(to)6863 43677 y(the)351 b(righ)-31 b(t)352 +b(and)g(righ)-31 b(t)352 b(subp)31 b(edigree)350 b(to)i(the)f(left)h +(as)f(far)g(as)g(w)-31 b(e)351 b(can)g(without)i(in)-31 +b(tersection)6863 45005 y(b)31 b(et)-31 b(w)g(een)370 +b(them)g(and)g(the)f(do)-31 b(wn)g(w)g(ard)371 b(tree.)8524 +46334 y(This)329 b(pro)31 b(cess)328 b(is)h(sho)-31 b(wn)329 +b(on)h(Figure)p 0 TeXcolorgray 24170 46334 a +SDict begin H.S end + 24170 46334 +a 0 TeXcolorgray Fv(11)p 0 TeXcolorgray 25276 45620 a +SDict begin H.R end + +25276 45620 a 25276 46334 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.11) cvn H.B /ANN pdfmark end + 25276 46334 a 0 TeXcolorgray +Fv(.)481 b(Ob)-31 b(viously)330 b(this)f(algorithm)j(con)-31 +b(v)g(erges)330 b(and)6863 47662 y(leads)291 b(to)h(t)-31 +b(yp)31 b(esetting)293 b(the)e(p)31 b(edigree)290 b(without)j(in)-31 +b(tersections)292 b(b)31 b(et)-31 b(w)g(een)292 b(the)f(subtrees)f(and) +6863 48990 y(subp)31 b(edigrees.)6863 50874 y +SDict begin H.S end + 6863 50874 +a 6863 50874 a +SDict begin 12 H.A end + 6863 50874 a 6863 50874 a +SDict begin [/View [/XYZ H.V]/Dest (section.7) cvn /DEST pdfmark end + 6863 50874 a +1777 x Fu(7)1793 b(Algorithm)696 b(for)e(Sorting)h(Siblings)g(and)g +(Marriage)9553 54644 y(P)-50 b(artners)6863 57068 y Fv(When)393 +b(w)-31 b(e)394 b(create)f(a)h(marriage)g(no)31 b(de,)400 +b(w)-31 b(e)393 b(w)-31 b(an)g(t)395 b(to)f(put)g(the)f(male)i(to)f +(the)f(left)h(and)g(the)6863 58396 y(female)426 b(to)f(the)g(righ)-31 +b(t.)659 b(When)424 b(w)-31 b(e)425 b(then)g(sort)f(siblings,)440 +b(w)-31 b(e)425 b(w)-31 b(an)g(t)426 b(this)f(male)h(to)f(b)31 +b(e)424 b(the)6863 59725 y(righ)-31 b(tmost,)370 b(and)d(the)g(female)h +(to)g(b)31 b(e)366 b(the)h(leftmost.)494 b(T)-92 b(o)367 +b(do)g(so,)h(w)-31 b(e)367 b(assign)g(to)h(eac)-31 b(h)367 +b(no)31 b(de)6863 61053 y(the)481 b(sp)31 b(ecial)481 +b(quan)-31 b(tit)g(y)483 b Fq(SortOrder)q Fv(.)826 b(Initially)483 +b(all)f(no)31 b(des)480 b(ha)-31 b(v)g(e)481 b Fq(SortOrder)h +Fv(equal)f(to)6863 62381 y(zero,)367 b(unless)e(sp)31 +b(eci\014cally)368 b(set)d(b)-31 b(y)367 b(the)f(user)f(in)h(the)g +(input)h(\014le)f(\(see)f(Section)p 0 TeXcolorgray 39889 +62381 a +SDict begin H.S end + 39889 62381 a 0 TeXcolorgray Fv(4.6)p 0 TeXcolorgray +41302 61668 a +SDict begin H.R end + 41302 61668 a 41302 62381 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.6) cvn H.B /ANN pdfmark end + 41302 62381 +a 0 TeXcolorgray Fv(\).)493 b(Then)6863 63710 y(w)-31 +b(e)370 b(use)e(the)i(follo)-31 b(wing)373 b(rules:)6863 +64368 y +SDict begin H.S end + 6863 64368 a 6863 64368 a +SDict begin 12 H.A end + 6863 64368 a 6863 64368 +a +SDict begin [/View [/XYZ H.V]/Dest (Item.19) cvn /DEST pdfmark end + 6863 64368 a 0 TeXcolorgray 8216 65924 a Fv(1.)p 0 +TeXcolorgray 555 w(When)368 b(creating)j(the)e(the)g(marriage)i(no)31 +b(de:)p 0 TeXcolorgray 25405 70071 a(30)p 0 TeXcolorgray +eop end +%%Page: 31 31 +TeXDict begin 31 30 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.31) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 6863 5867 a +SDict begin H.S end + 6863 5867 a 6863 5867 a +SDict begin 12 H.A end + 6863 +5867 a 6863 5867 a +SDict begin [/View [/XYZ H.V]/Dest (Item.20) cvn /DEST pdfmark end + 6863 5867 a 0 TeXcolorgray 10098 6974 +a Fv(\(a\))p 0 TeXcolorgray 555 w(If)316 b(b)31 b(oth)318 +b(sp)31 b(ouses)315 b(ha)-31 b(v)g(e)318 b(equal)g Fq(SortOrder)g +Fv(\014eld,)328 b(the)317 b(male)h(go)31 b(es)317 b(to)h(the)f(left,) +12066 8302 y(the)369 b(female)i(go)31 b(es)369 b(to)h(the)g(righ)-31 +b(t.)6863 8739 y +SDict begin H.S end + 6863 8739 a 6863 8739 a +SDict begin 12 H.A end + 6863 8739 a +6863 8739 a +SDict begin [/View [/XYZ H.V]/Dest (Item.21) cvn /DEST pdfmark end + 6863 8739 a 0 TeXcolorgray 10036 10073 a +Fv(\(b\))p 0 TeXcolorgray 555 w(Otherwise,)370 b(the)f(sp)31 +b(ouse)369 b(with)h(greater)g Fq(SortOrder)g Fv(go)31 +b(es)369 b(to)h(the)g(left.)6863 10571 y +SDict begin H.S end + 6863 10571 a +6863 10571 a +SDict begin 12 H.A end + 6863 10571 a 6863 10571 a +SDict begin [/View [/XYZ H.V]/Dest (Item.22) cvn /DEST pdfmark end + 6863 10571 a 0 +TeXcolorgray 10159 11844 a Fv(\(c\))p 0 TeXcolorgray +555 w(If)377 b Fq(SortOrder)i Fv(of)f(a)g(sp)31 b(ouse)377 +b(is)h(0,)j(w)-31 b(e)378 b(set)f(it)i(to)f(1)g(\(the)h(sp)31 +b(ouse)377 b(on)h(the)g(left\))12066 13173 y(or)369 b(-1)g(\(the)h(sp) +31 b(ouse)369 b(on)g(the)h(righ)-31 b(t\).)6863 13892 +y +SDict begin H.S end + 6863 13892 a 6863 13892 a +SDict begin 12 H.A end + 6863 13892 a 6863 13892 a +SDict begin [/View [/XYZ H.V]/Dest (Item.23) cvn /DEST pdfmark end + +6863 13892 a 0 TeXcolorgray 8216 15387 a Fv(2.)p 0 TeXcolorgray +555 w(When)368 b(sorting)i(siblings:)6863 16266 y +SDict begin H.S end + 6863 +16266 a 6863 16266 a +SDict begin 12 H.A end + 6863 16266 a 6863 16266 a +SDict begin [/View [/XYZ H.V]/Dest (Item.24) cvn /DEST pdfmark end + 6863 16266 +a 0 TeXcolorgray 10098 17601 a Fv(\(a\))p 0 TeXcolorgray +555 w(The)f(sibling)i(with)f(smaller)g Fq(SortOrder)h +Fv(go)31 b(es)369 b(to)h(the)f(left.)6863 18099 y +SDict begin H.S end + 6863 +18099 a 6863 18099 a +SDict begin 12 H.A end + 6863 18099 a 6863 18099 a +SDict begin [/View [/XYZ H.V]/Dest (Item.25) cvn /DEST pdfmark end + 6863 18099 +a 0 TeXcolorgray 10036 19372 a Fv(\(b\))p 0 TeXcolorgray +555 w(If)345 b(b)31 b(oth)345 b(siblings)h(ha)-31 b(v)g(e)346 +b(the)f(same)g Fq(SortOrder)r Fv(,)350 b(the)345 b(oldest)h(one)f(go)31 +b(es)345 b(to)h(the)12066 20700 y(left.)6863 22368 y +SDict begin H.S end + +6863 22368 a 6863 22368 a +SDict begin 12 H.A end + 6863 22368 a 6863 22368 a +SDict begin [/View [/XYZ H.V]/Dest (section.8) cvn /DEST pdfmark end + 6863 +22368 a 1993 x Fu(8)1793 b(Mo)50 b(di\014cations)598 +b(for)g(Consangunic)h(Unions)6863 26785 y Fv(Consanguinic)500 +b(unions)d(presen)-31 b(t)497 b(a)g(problem)h(for)f(the)h(describ)31 +b(ed)496 b(algorithm,)533 b(b)31 b(ecause)6863 28114 +y(p)g(edigrees)369 b(with)h(them)g(are)f(no)h(longer)g(trees)e(\(see)h +(Figure)p 0 TeXcolorgray 32126 28114 a +SDict begin H.S end + 32126 28114 a +0 TeXcolorgray Fv(10)p 0 TeXcolorgray 33232 27400 a +SDict begin H.R end + 33232 +27400 a 33232 28114 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (figure.10) cvn H.B /ANN pdfmark end + 33232 28114 a 0 TeXcolorgray Fv(\).)8524 +29442 y(In)269 b(this)i(release)e(of)i(the)f(program)h(w)-31 +b(e)271 b(use)e(the)h(follo)-31 b(wing)274 b(hac)-31 +b(k.)460 b(The)271 b(direct)f(lineage)i(of)6863 30770 +y(the)317 b(proband)f(\(or,)328 b(more)316 b(generally)-92 +b(,)329 b(the)316 b(starting)h(no)31 b(de\))317 b(ma)-31 +b(y)317 b(ha)-31 b(v)g(e)318 b(b)31 b(oth)316 b(mothers)h(and)6863 +32099 y(fathers)361 b(in)f(the)h(p)31 b(edigree)361 b(b)31 +b(ecause)360 b(they)h(share)e(genes)i(from)g(the)g(starting)g(no)31 +b(de.)490 b(If)360 b(an)-31 b(y)6863 33427 y(other)401 +b(p)31 b(erson)399 b(has)h(b)31 b(oth)401 b(mother)g(and)g(father)f(in) +h(the)f(c)-31 b(hart,)409 b(his)401 b(or)f(her)f(paren)-31 +b(ts)401 b(b)31 b(oth)6863 34755 y(shared)281 b(their)h(genes)g(with)h +(the)f(starting)h(no)31 b(de.)463 b(Therefore)282 b(they)g(formed)g(a)g +(consanguinic)6863 36084 y(union.)964 b(In)525 b(this)i(case)f(the)g(c) +-31 b(hildren)527 b(of)f(this)g(no)31 b(de)526 b(app)31 +b(ear)526 b(in)h(t)-31 b(w)g(o)527 b(subtrees:)806 b(their)6863 +37412 y(mother's)370 b(and)g(their)f(father's.)8524 38741 +y(W)-92 b(e)504 b(delete)j(them)f(from)g(one)g(of)g(the)f(subtrees)g +(\(the)h(one)g(with)h(lo)-31 b(w)g(er)506 b(generation)6863 +40069 y(n)-31 b(um)g(b)31 b(er\),)328 b(connect)316 b(their)h(paren)-31 +b(ts)316 b(with)h(a)f(double)h(line)f(\(consanguinic)j(union\))e(and)f +(put)6863 41397 y(the)370 b(descen)-31 b(t)369 b(line)h(from)g(the)f +(middle)h(of)g(the)f(union)h(to)g(them.)8524 42726 y(There)494 +b(are)g(t)-31 b(w)g(o)497 b(problems)d(with)i(this)f(hac)-31 +b(k)495 b(\(see)g(Section)p 0 TeXcolorgray 34894 42726 +a +SDict begin H.S end + 34894 42726 a 0 TeXcolorgray Fv(4.7)p 0 TeXcolorgray +36307 42012 a +SDict begin H.R end + 36307 42012 a 36307 42726 a +SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype +/Link/Dest (subsection.4.7) cvn H.B /ANN pdfmark end + 36307 42726 +a 0 TeXcolorgray Fv(\):)745 b(the)495 b(c)-31 b(hildren)495 +b(of)6863 44054 y(consanguinic)357 b(unions)e(are)g(not)h(cen)-31 +b(tered)355 b(on)g(the)g(diagaram,)361 b(and)355 b(the)g(hac)-31 +b(k)356 b(fails)g(if)g(the)6863 45382 y(starting)371 +b(no)31 b(de)369 b(itself)h(is)f(a)h(descendan)-31 b(t)369 +b(of)h(a)g(consanguinic)h(union.)8524 46711 y(Probably)460 +b(the)f(next)g(releases)f(will)i(emplo)-31 b(y)461 b(b)31 +b(etter)459 b(algorithms)i(for)d(consanguinic)6863 48039 +y(unions.)6863 49707 y +SDict begin H.S end + 6863 49707 a 6863 49707 a +SDict begin 12 H.A end + 6863 +49707 a 6863 49707 a +SDict begin [/View [/XYZ H.V]/Dest (section.9) cvn /DEST pdfmark end + 6863 49707 a 1993 x Fu(9)1793 b(Conclusion)6863 +54124 y Fv(The)532 b(algorithm)j(seems)c(to)i(b)31 b(e)531 +b(e\016cien)-31 b(t)533 b(and)f(pro)31 b(ducing)533 b(nicely)g(t)-31 +b(yp)31 b(eset)532 b(p)31 b(edigrees.)6863 55453 y(Since)508 +b(the)g(input)h(\014le)f(format)i(is)e(simple,)544 b(it)508 +b(ma)-31 b(y)509 b(b)31 b(e)508 b(used)f(b)-31 b(y)508 +b(the)h(p)31 b(eople)508 b(without)6863 56781 y(sp)31 +b(ecial)414 b(skills)f(in)h(L)14932 56554 y Fp(A)15420 +56781 y Fv(T)16034 57019 y(E)16649 56781 y(X.)624 b(On)413 +b(the)g(other)g(hand,)425 b(the)413 b(T)30880 57019 y(E)31496 +56781 y(X)g(\014les)f(pro)31 b(duces)413 b(are)f(easy)h(to)6863 +58109 y(understand)369 b(and)h(edit)g(man)-31 b(ually)371 +b(if)f(the)g(need)e(arises.)p 0 TeXcolorgray 25405 70071 +a(31)p 0 TeXcolorgray eop end +%%Page: 32 32 +TeXDict begin 32 31 bop 0 TeXcolorgray 0 0 a +SDict begin /product where{pop product(Distiller)search{pop pop pop +version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto +closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show +grestore}if}{pop}ifelse}{pop}ifelse}if end + 0 0 a 0 +TeXcolorgray 6752 1660 a +SDict begin H.S end + 6752 1660 a 6752 1660 a +SDict begin H.R end + 6752 +1660 a 6752 1660 a +SDict begin [/View [/XYZ H.V]/Dest (page.32) cvn /DEST pdfmark end + 6752 1660 a 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 6863 5867 a +SDict begin H.S end + 6863 5867 a 6863 5867 a +SDict begin 12 H.A end + 6863 +5867 a 6863 5867 a +SDict begin [/View [/XYZ H.V]/Dest (section.10) cvn /DEST pdfmark end + 6863 5867 a 1107 x Fu(10)1793 b(Ac)-50 +b(kno)g(wledgemen)g(ts)6863 9398 y Fv(The)495 b(authors)g(are)f +(grateful)i(to)f(Herb)31 b(ert)493 b(V)-92 b(o\031)496 +b(for)e(help)h(with)g Fq(PSTricks)h Fv(co)31 b(de.)868 +b(The)6863 10727 y(supp)31 b(ort)496 b(of)583 b(T)13177 +10965 y(E)13793 10727 y(X)496 b(User)f(Group)g(is)h(gratefully)j(ac)-31 +b(kno)g(wledged.)876 b(One)496 b(of)g(the)h(authors)6863 +12055 y(\(LA\))408 b(w)-31 b(as)408 b(supp)31 b(orted)407 +b(b)-31 b(y)407 b(Russian)g(F)-92 b(oundation)408 b(for)g(F)-92 +b(undamen)-31 b(tal)408 b(Researc)-31 b(h)407 b(\(tra)-31 +b(v)g(el)6863 13383 y(gran)g(t)252 b(06-04-58811\),)279 +b(Russian)250 b(F)-92 b(ederation)251 b(Presiden)-31 +b(t)251 b(Council)h(for)e(Gran)-31 b(ts)250 b(Supp)31 +b(orting)6863 14712 y(Y)-92 b(oung)370 b(Scien)-31 b(tists)370 +b(and)g(Flagship)g(Science)f(Sc)-31 b(ho)31 b(ols)370 +b(\(gran)-31 b(t)371 b(MD-4245.2006.7\))6863 18372 y +SDict begin H.S end + +6863 18372 a 6863 18372 a +SDict begin 18 H.A end + 6863 18372 a 6863 18372 a +SDict begin [/View [/XYZ H.V]/Dest (section*.5) cvn /DEST pdfmark end + 6863 +18372 a Fu(References)6863 19026 y +SDict begin H.S end + 6863 19026 a 6863 +19026 a +SDict begin 12 H.A end + 6863 19026 a 6863 19026 a +SDict begin [/View [/XYZ H.V]/Dest (cite.PedigreeNomenclature95) cvn +/DEST pdfmark end + 6863 19026 a 0 TeXcolorgray +1771 x Fv([1])p 0 TeXcolorgray 555 w(Robin)480 b(L.)f(Bennett,)508 +b(Kathryn)479 b(A.)h(Steinhaus,)507 b(Stefanie)481 b(B.)e(Uhric)-31 +b(h,)507 b(Corrine)480 b(K.)8585 22125 y(O'Sulliv)-61 +b(an,)369 b(Rob)31 b(ert)365 b(G.)h(Resta,)h(Debra)e(Lo)31 +b(c)-31 b(hner-Do)g(yle,)367 b(Dorene)e(S.)h(Mark)-31 +b(ei,)368 b(Vic-)8585 23454 y(toria)392 b(Vincen)-31 +b(t,)398 b(and)391 b(Jan)f(Hamanishi.)558 b(Recommendations)393 +b(for)e(standardized)g(h)-31 b(u-)8585 24782 y(man)370 +b(p)31 b(edigree)369 b(nomenclature.)493 b Fn(A)-28 b(m.)397 +b(J.)f(Hum.)h(Genet.)p Fv(,)371 b(56\(3\):745{752,)k(1995.)6863 +25502 y +SDict begin H.S end + 6863 25502 a 6863 25502 a +SDict begin 12 H.A end + 6863 25502 a 6863 25502 +a +SDict begin [/View [/XYZ H.V]/Dest (cite.pst-pdgr06) cvn /DEST pdfmark +end + 6863 25502 a 0 TeXcolorgray 1494 x Fv([2])p 0 TeXcolorgray +555 w(Boris)1601 b(V)-92 b(eytsman)1601 b(and)g(Leila)h(Akhmadeev)-61 +b(a.)4162 b Fn(Cr)-57 b(e)g(ating)1530 b(Me)-57 b(d-)8585 +28324 y(ic)g(al)1984 b(Pe)-57 b(digr)g(e)g(es)1985 b(with)e(PST)-85 +b(ricks)1984 b(and)f(L)32992 28093 y Fa(A)33493 28324 +y Fn(T)34096 28563 y(E)34706 28324 y(X)p Fv(,)2526 b(July)2095 +b(2007.)p 0 TeXcolorgray 8585 29899 a +SDict begin H.S end + 8585 29899 a 0 +TeXcolorgray -246 x Fq(http://ctan.tug.org/tex-)55 b +(archive/graphics/pstricks/contrib/pedigree/pst-)g(pdgr)p +0 TeXcolorgray 52270 28884 a +SDict begin H.R end + 52270 28884 a 52270 29653 +a +SDict begin [/H /I/Border [0 0 0]BorderArrayPatch/Color [0 1 1]/Action +<</Subtype/URI/URI(http://ctan.tug.org/tex-archive/graphics/pstricks/contrib/pedigree/pst-pdgr)>>/Subtype +/Link H.B /ANN pdfmark end + 52270 29653 a 0 TeXcolorgray Fv(.)6863 30341 y +SDict begin H.S end + 6863 +30341 a 6863 30341 a +SDict begin 12 H.A end + 6863 30341 a 6863 30341 a +SDict begin [/View [/XYZ H.V]/Dest (cite.PSTricks93) cvn /DEST pdfmark +end + 6863 30341 +a 0 TeXcolorgray 1526 x Fv([3])p 0 TeXcolorgray 555 w(Timoth)-31 +b(y)430 b(V)-92 b(an)428 b(Zandt.)667 b Fn(PST)-85 b(ricks:)618 +b(PostScript)449 b(Macr)-57 b(os)448 b(for)i(Generic)i(T)40796 +32105 y(E)41405 31867 y(X)p Fv(,)443 b(July)8585 33195 +y(2007.)p 0 TeXcolorgray 11397 33441 a +SDict begin H.S end + 11397 33441 a +0 TeXcolorgray -246 x Fq(http://ctan.tug.org/tex-)55 +b(archive/graphics/pstricks/base/doc)p 0 TeXcolorgray +45150 32426 a +SDict begin H.R end + 45150 32426 a 45150 33195 a +SDict begin [/H /I/Border [0 0 0]BorderArrayPatch/Color [0 1 1]/Action +<</Subtype/URI/URI(http://ctan.tug.org/tex-archive/graphics/pstricks/base/doc)>>/Subtype +/Link H.B /ANN pdfmark end + 45150 33195 +a 0 TeXcolorgray Fv(.)6863 33884 y +SDict begin H.S end + 6863 33884 a 6863 +33884 a +SDict begin 12 H.A end + 6863 33884 a 6863 33884 a +SDict begin [/View [/XYZ H.V]/Dest (cite.GraphDrawing99) cvn /DEST +pdfmark end + 6863 33884 a 0 TeXcolorgray +1525 x Fv([4])p 0 TeXcolorgray 555 w(Giusepp)31 b(e)275 +b(Di)g(Battista,)298 b(P)-31 b(eter)276 b(Eades,)295 +b(Rob)31 b(erto)276 b(T)-92 b(amassia,)296 b(and)276 +b(Ioannis)g(G.)g(T)-92 b(ollis.)8585 36737 y Fn(Gr)-57 +b(aph)301 b(Dr)-57 b(awing:)463 b(A)-28 b(lgortihms)301 +b(for)g(the)g(Visualization)g(of)h(Gr)-57 b(aphs)p Fv(.)323 +b(An)267 b(Alan)g(R.)g(Apt)8585 38066 y(Bo)31 b(ok.)371 +b(Pren)-31 b(tice)370 b(Hall,)h(New)e(Jersey)-92 b(,)369 +b(1999.)p 0 TeXcolorgray 25405 70071 a(32)p 0 TeXcolorgray +eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/support/pedigree-perl/pedigree.1 b/Master/texmf-dist/doc/support/pedigree-perl/pedigree.1 index d377a34dfbd..adb65ae743a 100644 --- a/Master/texmf-dist/doc/support/pedigree-perl/pedigree.1 +++ b/Master/texmf-dist/doc/support/pedigree-perl/pedigree.1 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "pedigree 1" -.TH pedigree 1 "2012-03-15" "perl v5.10.0" "User Contributed Perl Documentation" +.TH pedigree 1 "2012-04-14" "perl v5.10.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -182,4 +182,4 @@ The library functions are described in \fIPedigree::Language\fR\|(3), \&\fIPedigree::MarriageNode\fR\|(3), \fIPedigree::Area\fR\|(3). .SH "AUTHOR" .IX Header "AUTHOR" -Boris Veytsman, Leila Akhmadeeva, 2006, 2007 +Boris Veytsman, Leila Akhmadeeva, 2006\-2012 |