summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-07-25 13:52:09 +0000
committerPaul Buetow <paul@buetow.org>2008-07-25 13:52:09 +0000
commite84e73ec1d970bf5e24d0f541d4f37dab318ee3c (patch)
tree47db658af541f0b48b683e96ef719b3054fc0541
parentabe062ccfab4dc0c396deb1eead404e326572d2b (diff)
berkeley proto
-rw-r--r--LaTeX/bib/references.bib7
-rw-r--r--LaTeX/chapters/appendix-a.tex12
-rw-r--r--LaTeX/chapters/appendix-b.tex9
-rw-r--r--LaTeX/chapters/simulator.tex62
-rw-r--r--LaTeX/chapters/titlepage.tex4
-rw-r--r--LaTeX/diplomarbeit.pdf4014
-rw-r--r--LaTeX/diplomarbeit.tex2
-rw-r--r--saved-simulations/berkeley.datbin0 -> 25776 bytes
-rw-r--r--sources/protocols/implementations/VSBerkelyTimeProtocol.java3
9 files changed, 2237 insertions, 1876 deletions
diff --git a/LaTeX/bib/references.bib b/LaTeX/bib/references.bib
index 10fb38b..6fe0281 100644
--- a/LaTeX/bib/references.bib
+++ b/LaTeX/bib/references.bib
@@ -5,4 +5,11 @@
howpublished={Buch},
note={2. Autor Marten van Steen; ISBN: 3-8273-7057-4}
}
+@misc{Vorlesung,
+ author={Martin Omann},
+ title={Vorlesung ``Verteilte Systeme'' an der FH Aachen},
+ year={2007},
+ howpublished={Vorlesung},
+ note={}
+}
diff --git a/LaTeX/chapters/appendix-a.tex b/LaTeX/chapters/appendix-a.tex
index 3e60573..59226eb 100644
--- a/LaTeX/chapters/appendix-a.tex
+++ b/LaTeX/chapters/appendix-a.tex
@@ -1,3 +1,9 @@
-\chapter{Schemata}
-
-
+\chapter{Akronyms}
+\begin{acronym}
+\acro{API}{Application Programming Interface}
+\acro{GUI}{Graphical User Interface}
+\acro{NID}{Nachrichten-Identifikationsnummer}
+\acro{PID}{Prozess-Identifikationsnummer}
+\acro{RTT}{Round Trip Time}
+\acro{VS}{Verteiltes System}
+\end{acronym}
diff --git a/LaTeX/chapters/appendix-b.tex b/LaTeX/chapters/appendix-b.tex
deleted file mode 100644
index 59226eb..0000000
--- a/LaTeX/chapters/appendix-b.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-\chapter{Akronyms}
-\begin{acronym}
-\acro{API}{Application Programming Interface}
-\acro{GUI}{Graphical User Interface}
-\acro{NID}{Nachrichten-Identifikationsnummer}
-\acro{PID}{Prozess-Identifikationsnummer}
-\acro{RTT}{Round Trip Time}
-\acro{VS}{Verteiltes System}
-\end{acronym}
diff --git a/LaTeX/chapters/simulator.tex b/LaTeX/chapters/simulator.tex
index f931bca..456160d 100644
--- a/LaTeX/chapters/simulator.tex
+++ b/LaTeX/chapters/simulator.tex
@@ -460,8 +460,7 @@ $t'_{min}$ und $t'_{max}$ sind die bei den Protokollberechnungen verwendeten Wer
Ein weiteres Protokoll f\"{u}r die Synchronisierung von Uhrzeiten funktioniert nach der Christians Methode zur externen Synchronisierung. Die Christians Methode benutzt die RTT (Round Trip Zeit) $t_{rtt}$, um die \"{U}bertragungszeiten von einzelnen Nachrichten zu approximieren.
-Wenn der Client seine lokale Zeit $t_c$ bei einem Server synchronisieren m\"{o}chte, so verschickt er eine Anfrage, und misst dabei die RTT $t_{rtt}$ bis die Serverantwort eintrifft. Die Serverantwort beinhaltet die lokale Prozesszeit vom Server $t_s$ von dem Zeitpunkt, als der Server die Antwort verschickte. Der Client setzt dann seine lokale Zeit neu auf $t_c := t_s + \frac{1}{2} t_{rtt}$, und zwar mit einer Genauigkeit von $\pm(\frac{1}{2} t_{rtt} - u_{min}$) wenn $u_{min}$ eine Schranke f\"{u}r eine Nachrichten\"{u}bertragung mit $t_{rtt} < u_{min}$ ist (siehe Vorlesung Verteilte Systeme an der FH Aachen).
-
+Wenn der Client seine lokale Zeit $t_c$ bei einem Server synchronisieren m\"{o}chte, so verschickt er eine Anfrage, und misst dabei die RTT $t_{rtt}$ bis die Serverantwort eintrifft. Die Serverantwort beinhaltet die lokale Prozesszeit vom Server $t_s$ von dem Zeitpunkt, als der Server die Antwort verschickte. Der Client setzt dann seine lokale Zeit neu auf $t_c := t_s + \frac{1}{2} t_{rtt}$, und zwar mit einer Genauigkeit von $\pm(\frac{1}{2} t_{rtt} - u_{min}$) wenn $u_{min}$ eine Schranke f\"{u}r eine Nachrichten\"{u}bertragung mit $t_{rtt} < u_{min}$ ist (siehe \cite{Vorlesung}).
Im Prinzip sieht eine Christians-Simulation so aus wie in Abbildung \ref{fig:TimeSyncProto}, daher wird hier auf eine einfache Abbildung vom Christians-Protokoll verzichtet. Viel Interessanter ist der direkte Vergleich zwischen dem Protokoll zur internen Synchronisierung und der Christians Methode der externen Synchronisierung (Abbildung \ref{fig:TimeSync2Proto}). Hier stellt P1 den Client zur internen Synchronisierung und P3 den Client zur externen Synchronisierung dar. P2 fungiert f\"{u}r beide Protokolle gleichzeitig als Server. P1 und P3 starten jeweils zu den lokalen Prozesszeiten 0ms, 5000ms und 10000ms eine Clientanfrage (Tabelle \ref{tb:InterneSync2Tasks}). P1 und P3 haben als Uhrabweichung 0.1 eingestellt und die Simulationsdauer betr\"{a}gt insgesamt 15000ms.
@@ -489,7 +488,60 @@ Es ist zu ablesbar, dass P1 seine Zeit bis auf $15000ms - 14567ms = 433ms$ und P
\label{tb:InterneSync2Tasks}
\end{table}
-\subsection{Berkeley Algorithmus zur internen Synchronisierung}
+\subsection{Der Berkeley Algorithmus zur internen Synchronisierung}
+
+\begin{figure}[htbp]
+ \centering
+ \fbox{\includegraphics[width=10cm]{images/ss-protokoll-berkeley}}
+ \caption{Der Berkeley Algorithmus zur internen Synchronisierung}
+ \label{fig:BerkeleyProto}
+\end{figure}
+
+Der Berkeley Algorithmus zur internen Synchronisierung ist eine weitere M\"{o}glichkeit lokale Uhrzeiten abzugleichen. Dies ist das erste Protokoll, bei dem der Server die initiale Anfrage startet. Der Server stellt den Koordinator des Protokolls dar. Die Clients sind somit passiv und m\"{u}ssen warten, bis eine Serveranfrage eintritt. Hierbei muss der Server wissen, welche Clientprozesse an dem Protokoll teilnehmen, was sich in den Prozesseinstellungen des Servers einstellen l\"{a}sst.
+
+\begin{table}
+ \centering
+ \fbox{
+ \begin{tabular}{c|c|l}
+ \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Ereignis} \\
+ \hline
+ 0000 & 1 & Berkeley Client aktivieren \\
+ 0000 & 2 & Berkeley Server aktivieren \\
+ 0000 & 3 & Berkeley Client aktivieren \\
+ 0000 & 2 & Berkeley Serveranfrage starten\\
+ 7500 & 2 & Berkeley Serveranfrage starten\\
+ \end{tabular}
+ }
+ \caption{Programmierte Ereignisse zum Berkeley Algorithmus}
+ \label{tb:BerkeleyTasks}
+\end{table}
+
+Wenn der Server seine eigene lokale Zeit $t_s$ und auch die lokalen Prozesszeiten $t_i$ der Clients ($i = 1, ..., n$) synchronisieren m\"{o}chte, so verschickt er eine Serveranfrage. $n$ sei hierbei die Anzahl beteiligter Clients. Die Clients senden dann ihre lokalen Prozesszeiten in einer Nachricht zur\"{u}ck zum Server. Der Server hat dabei die RTTs $r_i$ bis zur Ankunft aller Clientantworten gemessen. Nachdem alle Antworten vorliegen, setzt er zun\"{a}chst seine eigene Zeit $t_s$ auf den Mittelwert seiner eigener Zeit sowie aller Prozesszeiten. Die \"{U}bertragungszeit einer Clientantwort wird auf die h\"{a}lfte der RTT gesch\"{a}tzt und wird in der Berechnung ber\"{u}cksichtigt:
+
+\begin{equation*}
+ t_{avg} :=
+ \frac{1}{n+1} ( t_s +
+ \sum_{\substack{
+ i=1\\
+ }}^n
+ \frac{r_i}{2} + t_i
+ )
+\end{equation*}
+\begin{equation*}
+ t_s := t_{avg}
+\end{equation*}
+
+Anschliessend berechent der Server f\"{u}r jeden Client einen Korrekturwert $k_i := t_{avg} - t_i$, den er jeweils in einer separaten Nachricht zur\"{u}ckschickt. Die Clients setzten dann jeweils die lokale Prozesszeit auf $t'_i := t'_i + k_i$. Hierbei stellt $t'_i$ die derzeit aktuelle Prozesszeit des jeweiligen Clients dar. Denn bis zum Eintreffen des Korrekturwertes ist inzwischen wieder Zeit verstrichen.
+
+In den Beispiel in Abbildung \ref{fig:BerkeleyProto} gibt es 2 Clientprozesse P1 und P3 sowie den Serverprozess P2. Der Server startet nach jeweils 0ms und 7500ms eine Synchronisationsanfrage (Tabelle \ref{tb:BerkeleyTasks}). In der Abbildung ist zu erkennen, dass der Server stets 2 Korrekturwerte verschickt, die jeweils P1 und P2 erreichen. Es werden hier also pro Synchronisierungsvorgang 4 Korrekturwerte ausgeliefert. Eine Korrekturnachricht enth\"{a}lt neben dem Korrekturwert $k_i$ auch die PID des Prozesses, f\"{u}r den die Nachricht bestimmt ist. Ein Client verarbeiten so nur die f\"{u}r ihn bestimmten Korrekturwerte, indem das Protokoll die PID vorher \"{u}berpr\"{u}ft.
+
+\subsubsection{Protokollvariablen}
+
+Dieses Protokoll verwendet folgende serverseitige Variable, die in den Prozesseinstellungen unter dem Punkt ``Berkeley Server'' konfiguriert werden kann. Clientseitig gibt es hier keine Variablen.
+
+\begin{itemize}
+ \item \textbf{PIDs beteiliger Prozesse} \textit{(Integer[], [1,2])}: Dieser Vektor aus Integerwerten beinhaltet alle PIDs der Berkeley Clientprozesse, mit denen der Berkeley Server synchronisieren soll. Wenn hier eine PID angegeben wird, die gar nicht existiert oder nicht das Berkeley Protokoll clientseitig unterst\"{u}tz, funktioniert das Protokoll nicht. Dann wird ewig auf eine fehlende Clientantwort gewartet.
+\end{itemize}
\subsection{Das Ein-Phasen Commit Protokoll}
@@ -499,4 +551,8 @@ Es ist zu ablesbar, dass P1 seine Zeit bis auf $15000ms - 14567ms = 433ms$ und P
\subsection{Der zuverl\"{a}ssige (Reliable) Multicast}
+\section{Weitere Beispiele}
+
+\subsection{Vektor- und Lamportzeitstempel}
+
diff --git a/LaTeX/chapters/titlepage.tex b/LaTeX/chapters/titlepage.tex
index b546aec..3ec096b 100644
--- a/LaTeX/chapters/titlepage.tex
+++ b/LaTeX/chapters/titlepage.tex
@@ -76,9 +76,9 @@ Ohne die Hilfe folgender Personen w\"{a}re die Anfertigung dieser Diplomarbeit i
\begin{itemize}
\item Martin Omann f\"{u}r die Betreuung der Diplomarbeit und der Bereitstellung des f\"{u}r mich sehr interessanten Themas
\item Andre Herbst, f\"{u}r das Testen des Simulators; durch seine Hilfe wurden viele M\"{a}ngel und Bugs aufgedeckt
- \item Mein Bruder Florian B\"{u}tow, f\"{u}r Tipps und Tricks rund um Java, f\"{u}r die Bereitstellung eines Buches sowie f\"{u}r das Testen des Simulators
+ \item Mein Bruder Florian B\"{u}tow, f\"{u}r Tipps und Tricks rund um Java, f\"{u}r die Bereitstellung eines Buches sowie f\"{u}r das Testen des Simulators und Probelesen
\item Meine Eltern J\"{o}rn und Leslie B\"{u}tow, die mir das Studium erm\"{o}glichten und stets f\"{u}r alle Dinge ein offenes Ohr hatten sowie f\"{u}r das Sponsoring eines weiteren Buches
- \item Die Open Source Gemeinde; diese Diplomarbeit wurde ausschlilich mithilfe von Open Source Software erstellt
+ \item Die Open Source Gemeinde; diese Diplomarbeit wurde ausschlilich mithilfe von Open Source Software angefertigt
\end{itemize}
diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf
index 7dcacfd..1eea1a8 100644
--- a/LaTeX/diplomarbeit.pdf
+++ b/LaTeX/diplomarbeit.pdf
@@ -105,7 +105,7 @@ endobj
<< /S /GoTo /D (subsection.2.5.6) >>
endobj
76 0 obj
-(\376\377\0002\000.\0005\000.\0006\000\040\000B\000e\000r\000k\000e\000l\000e\000y\000\040\000A\000l\000g\000o\000r\000i\000t\000h\000m\000u\000s\000\040\000z\000u\000r\000\040\000i\000n\000t\000e\000r\000n\000e\000n\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000s\000i\000e\000r\000u\000n\000g)
+(\376\377\0002\000.\0005\000.\0006\000\040\000D\000e\000r\000\040\000B\000e\000r\000k\000e\000l\000e\000y\000\040\000A\000l\000g\000o\000r\000i\000t\000h\000m\000u\000s\000\040\000z\000u\000r\000\040\000i\000n\000t\000e\000r\000n\000e\000n\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000s\000i\000e\000r\000u\000n\000g)
endobj
77 0 obj
<< /S /GoTo /D (subsection.2.5.7) >>
@@ -132,99 +132,105 @@ endobj
(\376\377\0002\000.\0005\000.\0001\0000\000\040\000D\000e\000r\000\040\000z\000u\000v\000e\000r\000l\000\344\000s\000s\000i\000g\000e\000\040\000\050\000R\000e\000l\000i\000a\000b\000l\000e\000\051\000\040\000M\000u\000l\000t\000i\000c\000a\000s\000t)
endobj
93 0 obj
-<< /S /GoTo /D (chapter.3) >>
+<< /S /GoTo /D (section.2.6) >>
endobj
96 0 obj
-(\376\377\0003\000\040\000D\000i\000e\000\040\000I\000m\000p\000l\000e\000m\000e\000n\000t\000i\000e\000r\000u\000n\000g)
+(\376\377\0002\000.\0006\000\040\000W\000e\000i\000t\000e\000r\000e\000\040\000B\000e\000i\000s\000p\000i\000e\000l\000e)
endobj
97 0 obj
-<< /S /GoTo /D (section.3.1) >>
+<< /S /GoTo /D (subsection.2.6.1) >>
endobj
100 0 obj
-(\376\377\0003\000.\0001\000\040\000G\000l\000i\000e\000d\000e\000r\000u\000n\000g\000\040\000d\000e\000r\000\040\000P\000a\000k\000e\000t\000e)
+(\376\377\0002\000.\0006\000.\0001\000\040\000V\000e\000k\000t\000o\000r\000-\000\040\000u\000n\000d\000\040\000L\000a\000m\000p\000o\000r\000t\000z\000e\000i\000t\000s\000t\000e\000m\000p\000e\000l)
endobj
101 0 obj
-<< /S /GoTo /D (section.3.2) >>
+<< /S /GoTo /D (chapter.3) >>
endobj
104 0 obj
-(\376\377\0003\000.\0002\000\040\000E\000d\000i\000t\000o\000r\000e\000n)
+(\376\377\0003\000\040\000D\000i\000e\000\040\000I\000m\000p\000l\000e\000m\000e\000n\000t\000i\000e\000r\000u\000n\000g)
endobj
105 0 obj
-<< /S /GoTo /D (section.3.3) >>
+<< /S /GoTo /D (section.3.1) >>
endobj
108 0 obj
-(\376\377\0003\000.\0003\000\040\000E\000r\000e\000i\000g\000n\000i\000s\000s\000e)
+(\376\377\0003\000.\0001\000\040\000G\000l\000i\000e\000d\000e\000r\000u\000n\000g\000\040\000d\000e\000r\000\040\000P\000a\000k\000e\000t\000e)
endobj
109 0 obj
-<< /S /GoTo /D (subsection.3.3.1) >>
+<< /S /GoTo /D (section.3.2) >>
endobj
112 0 obj
-(\376\377\0003\000.\0003\000.\0001\000\040\000I\000n\000t\000e\000r\000n\000e\000\040\000E\000r\000e\000i\000g\000n\000i\000s\000s\000e)
+(\376\377\0003\000.\0002\000\040\000E\000d\000i\000t\000o\000r\000e\000n)
endobj
113 0 obj
-<< /S /GoTo /D (section.3.4) >>
+<< /S /GoTo /D (section.3.3) >>
endobj
116 0 obj
-(\376\377\0003\000.\0004\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000e)
+(\376\377\0003\000.\0003\000\040\000E\000r\000e\000i\000g\000n\000i\000s\000s\000e)
endobj
117 0 obj
-<< /S /GoTo /D (subsection.3.4.1) >>
+<< /S /GoTo /D (subsection.3.3.1) >>
endobj
120 0 obj
-(\376\377\0003\000.\0004\000.\0001\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000-\000A\000P\000I)
+(\376\377\0003\000.\0003\000.\0001\000\040\000I\000n\000t\000e\000r\000n\000e\000\040\000E\000r\000e\000i\000g\000n\000i\000s\000s\000e)
endobj
121 0 obj
-<< /S /GoTo /D (section.3.5) >>
+<< /S /GoTo /D (section.3.4) >>
endobj
124 0 obj
-(\376\377\0003\000.\0005\000\040\000S\000e\000r\000i\000a\000l\000i\000s\000i\000e\000r\000u\000n\000g\000\040\000v\000o\000n\000\040\000S\000i\000m\000u\000l\000a\000t\000i\000o\000n\000e\000n)
+(\376\377\0003\000.\0004\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000e)
endobj
125 0 obj
-<< /S /GoTo /D (subsection.3.5.1) >>
+<< /S /GoTo /D (subsection.3.4.1) >>
endobj
128 0 obj
-(\376\377\0003\000.\0005\000.\0001\000\040\000R\000\374\000c\000k\000w\000\344\000r\000t\000s\000k\000o\000m\000p\000a\000t\000i\000b\000e\000l)
+(\376\377\0003\000.\0004\000.\0001\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000-\000A\000P\000I)
endobj
129 0 obj
-<< /S /GoTo /D (section.3.6) >>
+<< /S /GoTo /D (section.3.5) >>
endobj
132 0 obj
-(\376\377\0003\000.\0006\000\040\000P\000r\000o\000g\000r\000a\000m\000m\000i\000e\000r\000r\000i\000c\000h\000t\000l\000i\000n\000i\000e\000n)
+(\376\377\0003\000.\0005\000\040\000S\000e\000r\000i\000a\000l\000i\000s\000i\000e\000r\000u\000n\000g\000\040\000v\000o\000n\000\040\000S\000i\000m\000u\000l\000a\000t\000i\000o\000n\000e\000n)
endobj
133 0 obj
-<< /S /GoTo /D (section.3.7) >>
+<< /S /GoTo /D (subsection.3.5.1) >>
endobj
136 0 obj
-(\376\377\0003\000.\0007\000\040\000E\000n\000t\000w\000i\000c\000k\000l\000u\000n\000g\000s\000u\000m\000g\000e\000b\000u\000n\000g)
+(\376\377\0003\000.\0005\000.\0001\000\040\000R\000\374\000c\000k\000w\000\344\000r\000t\000s\000k\000o\000m\000p\000a\000t\000i\000b\000e\000l)
endobj
137 0 obj
-<< /S /GoTo /D (chapter.4) >>
+<< /S /GoTo /D (section.3.6) >>
endobj
140 0 obj
-(\376\377\0004\000\040\000A\000u\000s\000b\000l\000i\000c\000k)
+(\376\377\0003\000.\0006\000\040\000P\000r\000o\000g\000r\000a\000m\000m\000i\000e\000r\000r\000i\000c\000h\000t\000l\000i\000n\000i\000e\000n)
endobj
141 0 obj
-<< /S /GoTo /D (appendix.A) >>
+<< /S /GoTo /D (section.3.7) >>
endobj
144 0 obj
-(\376\377\000A\000\040\000S\000c\000h\000e\000m\000a\000t\000a)
+(\376\377\0003\000.\0007\000\040\000E\000n\000t\000w\000i\000c\000k\000l\000u\000n\000g\000s\000u\000m\000g\000e\000b\000u\000n\000g)
endobj
145 0 obj
-<< /S /GoTo /D (appendix.B) >>
+<< /S /GoTo /D (chapter.4) >>
endobj
148 0 obj
-(\376\377\000B\000\040\000A\000k\000r\000o\000n\000y\000m\000s)
+(\376\377\0004\000\040\000A\000u\000s\000b\000l\000i\000c\000k)
endobj
149 0 obj
-<< /S /GoTo /D (appendix.C) >>
+<< /S /GoTo /D (appendix.A) >>
endobj
152 0 obj
-(\376\377\000C\000\040\000L\000i\000t\000e\000r\000a\000t\000u\000r\000v\000e\000r\000z\000e\000i\000c\000h\000n\000i\000s)
+(\376\377\000A\000\040\000A\000k\000r\000o\000n\000y\000m\000s)
endobj
153 0 obj
-<< /S /GoTo /D [154 0 R /Fit ] >>
+<< /S /GoTo /D (appendix.B) >>
+endobj
+156 0 obj
+(\376\377\000B\000\040\000L\000i\000t\000e\000r\000a\000t\000u\000r\000v\000e\000r\000z\000e\000i\000c\000h\000n\000i\000s)
endobj
-157 0 obj <<
+157 0 obj
+<< /S /GoTo /D [158 0 R /Fit ] >>
+endobj
+161 0 obj <<
/Length 796
/Filter /FlateDecode
>>
@@ -233,14 +239,14 @@ xڍUR0+Lfj;h S
t҅I%v{eNE8#"?Xk|3 hg}PXHas4y*%FcaNu$=(#ƻ|2P4.t<^,(s#}ހgDbBA" +%w? NΙBaC- f鷳t65l> Q et/%B6{l*wEj(?my#<*]^:,/Oޅ>2,uq =ZT{rwڮ&/c*W|UA7xnE 53@\.=2ʵ2H" aHF ݧNDZXX,|$,+Y=϶)؀O5܋Gc4;|-ϳ85 *7ϊ1ض",rāh߹nZX
MrSn`u9oюdZ*$9כ(ѓP
endobj
-154 0 obj <<
+158 0 obj <<
/Type /Page
-/Contents 157 0 R
-/Resources 156 0 R
+/Contents 161 0 R
+/Resources 160 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 166 0 R
+/Parent 170 0 R
>> endobj
-155 0 obj <<
+159 0 obj <<
/Type /XObject
/Subtype /Image
/Width 500
@@ -401,645 +407,658 @@ j'F{E,
5M%jKqizlO<ԕ#C~%(4p<]gʟ~c ]'?Ӹ)E-
sOyGKrm{
endobj
-158 0 obj <<
-/D [154 0 R /XYZ 74.4095 769.8898 null]
+162 0 obj <<
+/D [158 0 R /XYZ 74.4095 769.8898 null]
>> endobj
-159 0 obj <<
-/D [154 0 R /XYZ 74.4095 769.8898 null]
+163 0 obj <<
+/D [158 0 R /XYZ 74.4095 769.8898 null]
>> endobj
-156 0 obj <<
-/Font << /F26 162 0 R /F28 165 0 R >>
-/XObject << /Im1 155 0 R >>
+160 0 obj <<
+/Font << /F26 166 0 R /F28 169 0 R >>
+/XObject << /Im1 159 0 R >>
/ProcSet [ /PDF /Text /ImageC ]
>> endobj
-169 0 obj <<
-/Length 1027
+173 0 obj <<
+/Length 1043
/Filter /FlateDecode
>>
stream
-xڍVێ8}H04QFRmtpkD&\ȨN\UGI@<h_B
-,M#o1.ܼ=J=A۔U!~!:/`o
-ٙ 3Co MLIQɵAO^_Mu`dq'0F
-f|`~񮊣w pH냕^;^m/IYc]bIc OHє #qv)V 1F)c2nQa)pj^rx amLLP>GKֵj'a;G(1PdZQy$;Zr蠘Z6GV!{QP%OEͱž7za{cدT3N}2.a?JRoaVGi;۷(S2.̥-]ߜU6jZ8F@ֲ?HcJSW>M1ӆ|K8j!}}7f@NPID{/\k|4DBu6tdMnk !FUo?JPqG7M|l-:ù[U^˞\4Hrz^.9rC\ưkw )Vu"aꢛx,dm]QG(Zw}ɍ6(kTD^IQU6aL}M:5O 5"&"} ^o NɼQ3žIju IM`WzbNzzoko~vd_̔~
-YRWO Xb5'ӈ (>}wVM;#˂{u>7
-QN$ xx endstream
+xڍWێ8}HsDZH>Ia/ȅZ.`{!`&Aԣ,coWM$)0ZQdDb\ty[D<̂Pn6,H fަVrɃ
+{ / i\~Do&qВ  9d1"KjyY
++4 Ewё+d ŔnsUEM {9͡^ػF},͇j?A.`?ZlG+ng75hSq!{K5]S^n{ZM
+y;hTK՟0s Y}R}ȉzH*g]I2/qԌgE$u@Rؕپk7DyUv<y
endobj
-168 0 obj <<
+172 0 obj <<
/Type /Page
-/Contents 169 0 R
-/Resources 167 0 R
+/Contents 173 0 R
+/Resources 171 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 166 0 R
+/Parent 170 0 R
>> endobj
-170 0 obj <<
-/D [168 0 R /XYZ 74.4095 793.4011 null]
+174 0 obj <<
+/D [172 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-167 0 obj <<
-/Font << /F26 162 0 R /F28 165 0 R /F33 173 0 R >>
+171 0 obj <<
+/Font << /F26 166 0 R /F28 169 0 R /F33 177 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-176 0 obj <<
-/Length 2208
+180 0 obj <<
+/Length 2167
/Filter /FlateDecode
>>
stream
-xM6:|9vm&IZ
-&CI)SYtb=g#9hG3-rA̴pAivA-|mPJWИJMZyG+MM.݋og*c,7Dd~(s& ~kߋ劒EQ-*~|qns>˭rJ ր&ErJ_.6?MŦ( c$QpGJ)-]Q6j{"'Z,l>R*$tB&)(G*s%<;h, Ze+iAф`egׇ}bݔ*ʗR9grm
- ߢ21 f.
-=/ `ix[,Nus8㪛%BW{"IL4cIDΌKAHC~yTo[!ͺeYtۺ['w70TeM2R-PU*%ɸcy<V$X>T>榙;f$
-ҜSRy;? =REST /!` =Hy0ƨ ZˡY<(yk0Gs{U#`XVX[XE<]hX)OQBP*#.<5yZқuT
-OeY+'*p(, }dziWGX*͵[sDJA0) ߖm9`lKFٴ+CUcqX}^[1F}9tRe' N\2핔q[D2o)c=eonQ׫T<U>j ~]!PN`R9ɹc4}La!L!͵7j~[ u{}S·<ɔLڲc!\ePF̒JPs d^We*͛u@ɾJCAN&UJy:
-Pu(7mmj<Z)CYa=L/OY?tbFxB)[zQJ7%8GܜFA^ɚR0wYdy|r]<vf)j4ɡpY(ab[˄/f'@N\
-9u%&&G_"ws<7wYmNnsY. -V) o/cD3Ѕg nk~ u{݀%B8 o}rjʭ*[o?VwCUeo{5 X>{岕qŭSAvXg0sZ`=?X[B3lGp#p8&xRs{]7q5&K$$wuS~8~]4M*Xrs]rU6 7J*v%-P#~5b#f|^I Y46sIwa4|v=P5ns}Ũ`ڠY:5*qa>YE͵yI3
-9n.Eъ(|1y|jAZͺ.;sOtژ+S%W\V)Wgrr\+\[i+o7lO}{SQ]
-0p ׃Y?{+E@=+ k]Y,[4 ,3Jf]W؄;D.ߓ,YQfPx[2KW=_hϽ=^u{lʍ;RPzJ6vS6ĹC" {JpGg0r,?@;137"s{ݬ춨ۮ̛
-g]z _;endstream
+x]۸+ti_7fh
+= `zW֜ms<㪛BSGZcRBz;|8FzuSRs%۾70TeMr 2#Ы(ǃ*<%cxpݭH| T>榙fIFP%dv~zoܥLJsTs< -HyU1Ι ڌ=#Cs(yc\ YQP49\NfzEO(wx0btы6
+C/c0<\yk JMa}m
+J/먔ʲj'XXNOR,U)W|{ >p8q\}y.1J0TJ6 Gf]]XCqXZgoJ9aeڱs/YʰىKQ]HE2IyxOӱ[qCwo5_Jk ?殔YNJy-`+L>vo),)<丹B.d
+¤I3%zjeO\ƉPfn,yU[  }!yy\=HafUi´ftH'hQ(^=HbTY`bbЋ ГoX/hyK\6 JPM_e,*|8 #<ai'bbz+mB7r%@7!OP Yp%Iu5_=Oeۼ]+=1CN.LzUau0ىK!]7kyGN\#ws:nuyלݦZ@Pr.Гî o/d2Ѕg nk~ 5.J$:O \1ԾQ.ʪ):*p/X?UY?Fy{+XW_>q9n"2]y C|c0R]a]̝5^ eFx$r7&e݄X&OuA绉weݔ۪?<n;(ւ~u~\չu5fcW0kq\_Y|0|pZ|<>م(79d8<>ڏہ4<|~w!km
+qXI= db{Wu3 ӨAqs-Az 4;rkU*6oP6Oa\,ebSW\z#ĆEpG7r5jv!Wfkߠ\ku{(`B&NzUo0r>!T!ͥ.
+jr 1py=~x/_)m]_vޜM閶1W0S\瞫ϕ+4 W\fre(YaB tnV<0u ؗ۟x/DZ~>N։R8ߍYPXRafq1e2:sAS[QB=,RF6 ƛ^3Nr.z3
+HOXwF{[?-@Ks<]ñ?n)ݭL`fz WmB<el37B 3{]4P2Lk C* zYᬃAcז endstream
endobj
-175 0 obj <<
+179 0 obj <<
/Type /Page
-/Contents 176 0 R
-/Resources 174 0 R
+/Contents 180 0 R
+/Resources 178 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 166 0 R
-/Annots [ 179 0 R 180 0 R 181 0 R 182 0 R 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R 190 0 R 191 0 R 192 0 R 193 0 R 194 0 R 195 0 R 196 0 R 197 0 R 198 0 R 199 0 R 200 0 R 201 0 R 202 0 R 203 0 R 204 0 R ]
+/Parent 170 0 R
+/Annots [ 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R 190 0 R 191 0 R 192 0 R 193 0 R 194 0 R 195 0 R 196 0 R 197 0 R 198 0 R 199 0 R 200 0 R 201 0 R 202 0 R 203 0 R 204 0 R 205 0 R 206 0 R 207 0 R ]
>> endobj
-179 0 obj <<
+183 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [73.4132 609.4187 145.0711 621.8819]
+/Rect [73.4132 601.0988 145.0711 613.562]
/Subtype /Link
/A << /S /GoTo /D (chapter.1) >>
>> endobj
-180 0 obj <<
+184 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 593.6512 167.0466 603.6067]
+/Rect [89.9113 584.4493 167.0466 594.4047]
/Subtype /Link
/A << /S /GoTo /D (section.1.1) >>
>> endobj
-181 0 obj <<
+185 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 573.2423 174.8335 585.7715]
+/Rect [89.9113 563.1583 174.8335 575.6876]
/Subtype /Link
/A << /S /GoTo /D (section.1.2) >>
>> endobj
-182 0 obj <<
+186 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [73.4132 546.3578 163.8015 556.5113]
+/Rect [73.4132 534.8039 163.8015 544.9574]
/Subtype /Link
/A << /S /GoTo /D (chapter.2) >>
>> endobj
-183 0 obj <<
+187 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 525.9599 285.4137 538.4891]
+/Rect [89.9113 513.5239 285.4137 526.0531]
/Subtype /Link
/A << /S /GoTo /D (section.2.1) >>
>> endobj
-184 0 obj <<
+188 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 508.0038 215.4404 520.1479]
+/Rect [89.9113 494.6858 215.4404 506.8299]
/Subtype /Link
/A << /S /GoTo /D (section.2.2) >>
>> endobj
-185 0 obj <<
+189 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 489.7835 168.5425 502.0598]
+/Rect [89.9113 475.5835 168.5425 487.8598]
/Subtype /Link
/A << /S /GoTo /D (section.2.3) >>
>> endobj
-186 0 obj <<
+190 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 471.6954 183.2255 483.9716]
+/Rect [89.9113 456.6133 183.2255 468.8896]
/Subtype /Link
/A << /S /GoTo /D (section.2.4) >>
>> endobj
-187 0 obj <<
+191 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 453.6072 273.9314 466.1364]
+/Rect [115.2084 437.6432 273.9314 450.1724]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.4.1) >>
>> endobj
-188 0 obj <<
+192 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 435.519 327.4507 447.7952]
+/Rect [115.2084 418.673 327.4507 430.9492]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.4.2) >>
>> endobj
-189 0 obj <<
+193 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 417.4308 313.6032 429.7071]
+/Rect [115.2084 399.7028 313.6032 411.979]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.4.3) >>
>> endobj
-190 0 obj <<
+194 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 401.5644 165.8808 411.6189]
+/Rect [89.9113 382.9544 165.8808 393.0088]
/Subtype /Link
/A << /S /GoTo /D (section.2.5) >>
>> endobj
-191 0 obj <<
+195 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 381.3865 284.6223 393.7837]
+/Rect [115.2084 361.8945 284.6223 374.2917]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.1) >>
>> endobj
-192 0 obj <<
+196 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 363.1663 271.4346 375.4425]
+/Rect [115.2084 342.7922 271.4346 355.0685]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.2) >>
>> endobj
-193 0 obj <<
+197 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 347.2999 303.4186 357.6074]
+/Rect [115.2084 326.0438 303.4186 336.3513]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.3) >>
>> endobj
-194 0 obj <<
+198 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 326.99 521.8625 339.5192]
+/Rect [115.2084 304.8518 521.8625 317.3811]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.4) >>
>> endobj
-195 0 obj <<
+199 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [73.4132 311.2845 176.2309 321.339]
+/Rect [73.4132 289.1464 176.2309 299.2008]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.4) >>
>> endobj
-196 0 obj <<
+200 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 290.9745 399.6232 303.5038]
+/Rect [115.2084 267.9544 399.6232 280.4837]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.5) >>
>> endobj
-197 0 obj <<
+201 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 272.8864 405.6724 285.4156]
+/Rect [115.2084 248.9842 426.4487 261.5135]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.6) >>
>> endobj
-198 0 obj <<
+202 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 257.02 318.4208 267.3274]
+/Rect [115.2084 232.2358 318.4208 242.5433]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.7) >>
>> endobj
-199 0 obj <<
+203 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 238.9318 325.636 249.2393]
+/Rect [115.2084 213.2656 325.636 223.5731]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.8) >>
>> endobj
-200 0 obj <<
+204 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 218.6218 324.162 231.1511]
+/Rect [115.2084 192.0737 324.162 204.6029]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.9) >>
>> endobj
-201 0 obj <<
+205 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 200.5337 330.5192 213.0629]
+/Rect [115.2084 173.1035 330.5192 185.6327]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.10) >>
>> endobj
-202 0 obj <<
+206 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [73.4132 171.3395 200.6909 183.8027]
+/Rect [89.9113 154.2653 202.4401 166.4095]
/Subtype /Link
-/A << /S /GoTo /D (chapter.3) >>
+/A << /S /GoTo /D (section.2.6) >>
>> endobj
-203 0 obj <<
+207 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 153.2513 226.7468 165.7805]
+/Rect [115.2084 135.2952 307.664 147.4394]
/Subtype /Link
-/A << /S /GoTo /D (section.3.1) >>
+/A << /S /GoTo /D (subsection.2.6.1) >>
>> endobj
-204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 137.3849 158.1596 147.4394]
-/Subtype /Link
-/A << /S /GoTo /D (section.3.2) >>
+181 0 obj <<
+/D [179 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-177 0 obj <<
-/D [175 0 R /XYZ 74.4095 793.4011 null]
+182 0 obj <<
+/D [179 0 R /XYZ 74.4095 634.9214 null]
>> endobj
178 0 obj <<
-/D [175 0 R /XYZ 74.4095 641.7714 null]
->> endobj
-174 0 obj <<
-/Font << /F26 162 0 R /F28 165 0 R >>
+/Font << /F26 166 0 R /F28 169 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-207 0 obj <<
-/Length 1125
+210 0 obj <<
+/Length 1281
/Filter /FlateDecode
>>
stream
-xKo6\ |\bZL`] U!\ _KKhS"g
-$q^UMBlYy{Utgn!͕Tk 7ԉɹ7VM1d*=vmMc3
-`TrP1Jɷ%QY[/I͊p˙u9T C
-ɯJA!=”R0ZԠKq4llFH\d$ ;U! fOs0sVGhN++{e2}r]@4Jeĥ RGBp?^t90cat))&%d,UwakzuwܬGiUkڋz;lY]S5 Qnq}ݗE5l UT_S
-
-[zRڳ_\*Nq(.P2X LN *8~T 6=,
->ebuz<n59ڐrJZPҟKszOr301o`:\ \X@(τiͽ >qu/B60(AeaF^國;W/WvOXO](geP NYĦtOuzv;HC4@KM#qVSe4nF˒qBѥLjPQP29z*ݭvy\&FF)NiAU7`Sfzp6 NfÛۧie׿P㼟Q?[QθvYBSS N~C7ߘd~
-?vnZAlOEvwUpM'T@L:2
+xYMs6WHLӌ;=xߚd9D'"AB 8UrDY;HPDE
+0#2^P6wwc on.~MRD 6F+tb0Ǫ7Wên_LoCSn~x{34`-%{+`%Zr%&D(*1>X+0N&qy&Nj*Ktq\irԬOKҀDaG8 B2mG
+sNTWْ
+ c˄(G(b$CՃ:٨]]naNb`(tT *OI9`w\$-C{N8 tt@g|qnS dR˘ކ&vPa|e`A
+h*}gR<fZ\Ο9KKdc:r]YbЙJ(l0$$Vc"?Gg͙:0gZ\Μ@
+qla%7vӴe[M,9t6v{2M` HX/\`
+4Tmad5!2bX<fBIb9c&zaFFyoH<r*A{ŅsУrn0z5`Jir9ڞ0=rQVuNogMCYPR<ի6sL[MZգ!lʪ6M]S0N`:qSmLA{Ņo =[Ч\Kǯ9u!wl w[֑߄gVaov|q8kH"rK=+8
+Xg:9n .ve7f Balj=*GpxxxpbF\ƋɶyQۯ=nk_mf]޺ %-czT&^Q{&u_J}ir9ڎcںO~3+!(J̙
endobj
-206 0 obj <<
+209 0 obj <<
/Type /Page
-/Contents 207 0 R
-/Resources 205 0 R
+/Contents 210 0 R
+/Resources 208 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 166 0 R
-/Annots [ 212 0 R 213 0 R 214 0 R 215 0 R 216 0 R 217 0 R 218 0 R 219 0 R 220 0 R 221 0 R 222 0 R 223 0 R ]
+/Parent 170 0 R
+/Annots [ 215 0 R 216 0 R 217 0 R 218 0 R 219 0 R 220 0 R 221 0 R 222 0 R 223 0 R 224 0 R 225 0 R 226 0 R 227 0 R 228 0 R ]
>> endobj
-212 0 obj <<
+215 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 756.3337 168.5425 768.61]
+/Rect [73.4132 756.3338 200.6909 768.797]
+/Subtype /Link
+/A << /S /GoTo /D (chapter.3) >>
+>> endobj
+216 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.9113 738.4065 226.7468 750.9357]
+/Subtype /Link
+/A << /S /GoTo /D (section.3.1) >>
+>> endobj
+217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.9113 722.701 158.1596 732.7555]
+/Subtype /Link
+/A << /S /GoTo /D (section.3.2) >>
+>> endobj
+218 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.9113 702.552 168.5425 714.8283]
/Subtype /Link
/A << /S /GoTo /D (section.3.3) >>
>> endobj
-213 0 obj <<
+219 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 738.4065 241.3094 750.6827]
+/Rect [115.2084 684.6248 241.3094 696.901]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.3.1) >>
>> endobj
-214 0 obj <<
+220 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 722.701 165.8808 732.7555]
+/Rect [89.9113 668.9193 165.8808 678.9738]
/Subtype /Link
/A << /S /GoTo /D (section.3.4) >>
>> endobj
-215 0 obj <<
+221 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 704.7738 216.3536 714.8283]
+/Rect [115.2084 650.9921 216.3536 661.0466]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.4.1) >>
>> endobj
-216 0 obj <<
+222 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 684.6248 271.181 697.154]
+/Rect [89.9113 630.8431 271.181 643.3723]
/Subtype /Link
/A << /S /GoTo /D (section.3.5) >>
>> endobj
-217 0 obj <<
+223 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [115.2084 666.8296 256.9058 678.9738]
+/Rect [115.2084 613.0479 256.9058 625.1921]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.5.1) >>
>> endobj
-218 0 obj <<
+224 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 648.7703 227.1429 661.0466]
+/Rect [89.9113 594.9886 227.1429 607.2649]
/Subtype /Link
/A << /S /GoTo /D (section.3.6) >>
>> endobj
-219 0 obj <<
+225 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.9113 630.8431 232.9065 643.1193]
+/Rect [89.9113 577.0614 232.9065 589.3376]
/Subtype /Link
/A << /S /GoTo /D (section.3.7) >>
>> endobj
-220 0 obj <<
+226 0 obj <<
/Type /Annot
/Border