From 8a9b34513b277dd1c6da5ffefde9431ed6a700b6 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 9 Aug 2008 21:26:58 +0000 Subject: writte --- LaTeX/chapters/implementierung.tex | 44 +- LaTeX/diplomarbeit.pdf | 6493 +++++++++++++++++++----------------- 2 files changed, 3384 insertions(+), 3153 deletions(-) diff --git a/LaTeX/chapters/implementierung.tex b/LaTeX/chapters/implementierung.tex index 9b69bf0..86ed5da 100644 --- a/LaTeX/chapters/implementierung.tex +++ b/LaTeX/chapters/implementierung.tex @@ -507,6 +507,8 @@ registerEvent("protocols.implementations.VSMyProtocol", \section{GUI sowie Simulationsvisualisierung} +\subsection{Funktionsweise} + Das Paket \textit{simulator} (vereinfacht auf Abbildung \ref{fig:PackageProtocols} dargestellt) implementiert die eigentliche graphische Benutzeroberf\"{a}che des Simulators. Ausnahmen sind die Editorklassen in \textit{prefs.editors} sowie \textit{utils.VSFrame}. \begin{figure}[h] @@ -520,15 +522,47 @@ Beim Starten des Simulators wird auf die Main-Methode, welche sich in \textit{VS \textit{VSSimulatorVisualization} ist bei Weitem die kryptischste Klasse des Simulators. Die greift auf die Java's Grafikbibliothek Java2D zur\"{u}ck und ist aus Performancegr\"{u}nden mit dem Simulationsverlauf stark verzahnt. Variablen, die stets den selbe Wert haben, wurden stets als finale Variablen angelegt. Variablen, die von Konfigurationen oder Einstellungen abh\"{a}ngig sind, die sich nur nach Konfigurations\"{a}nderung oder Vergr\"{o}ern beziehungsweise Verkleinern des Simulationsfensters \"{a}ndern, werden nur wenn es n\"{o}tig ist neu berechnet. -Die Klasse \textit{VSMenuItemStates} wird f\"{u}r die Synchronisierung des Simulationsstatusses, der Toolbar und des Simulations-Men\"{u}s (beide Letztere auf Abbildung \ref{fig:Toolbar} zu sehen) verwendet. Damit ist gemeint, ob die Simulation bereits gestartet wurde oder nicht oder gegebenenfalls schon abgelaufen ist. Oder ob die Simulation sich in einem pausierten Status befindet. Abh\"{a}ngig davon kann der Benutzer bestimmte Aktionen durchf\"{u}hren oder nicht (beispielsweise kann eine Simulation nur pausiert werden, wenn sie aktuell abgespielt wird). Alle hier m\"{o}glichen Aktionen wurden bereits in Kapitel 2.1 im Abschnitt ``Die Toolbar'' behandelt. +Die Klasse \textit{VSMenuItemStates} wird f\"{u}r die Synchronisierung des Simulationsstatusses, der Toolbar und des Simulations-Men\"{u}s (beide Letztere auf Abbildung \ref{fig:Toolbar} zu sehen) verwendet. Damit ist gemeint, ob die Simulation bereits gestartet wurde, noch nicht gestartet wurde oder gegebenenfalls schon abgelaufen ist. Oder ob die Simulation sich in einem pausierten Status befindet. Abh\"{a}ngig davon kann der Benutzer bestimmte Aktionen durchf\"{u}hren oder nicht (beispielsweise kann eine Simulation nur pausiert werden, wenn sie aktuell abgespielt wird). Alle hier m\"{o}glichen Aktionen wurden bereits in Kapitel 2.1 im Abschnitt ``Die Toolbar'' behandelt. -Die klasse \textit{VSCreateTask} wird vom Ereigniseditor verwendet. Der Ereigniseditor (Abbildung \ref{fig:SidebarMitEreignissen}) wird in der Klasse \textit{VSSimulator} implementiert. Hinter jeder Ereignisauswahl verbirgt sich intern ein \textit{VSCreateTask}-Objekt, welches definiert wie das jeweilige Ereignis anzulegen ist und es automatisch in ein \textit{VSTask}-Objekt gekapselt f\"{u}r eine sp\"{a}tere Ausf\"{u}hrung dem Task-Manager \"{u}bergibt. +Die Klasse \textit{VSCreateTask} wird vom Ereigniseditor verwendet. Der Ereigniseditor (Abbildung \ref{fig:SidebarMitEreignissen}) wird in der Klasse \textit{VSSimulator} implementiert. Hinter jeder Ereignisauswahl verbirgt sich intern ein \textit{VSCreateTask}-Objekt, welches definiert wie das jeweilige Ereignis anzulegen ist und es automatisch in ein \textit{VSTask}-Objekt gekapselt f\"{u}r eine sp\"{a}tere Ausf\"{u}hrung dem Task-Manager \"{u}bergibt. \textit{VSLogging} kapselt ein \textit{javax.swing.JTextArea}-Objekt, wo alle Nachrichten geloggt werden. Hier werden alle Loggfunktionen (inklusive Loggfilter sowie tempor\"{a}re Deaktivierung des Loggen) implementiert. Die \textit{JTextArea} wird dem \textit{VSSimulator}-Objekt \"{u}bergeben und dort dargestellt. F\"{u}r den Loggfilter wird intern auf das Java-Standardpaket \textit{java.util.regex} zugegriffen, womit anhand von regul\"{a}ren Ausdr\"{u}cken in Java-Syntax die Loggs gefiltert werden k\"{o}nnen. +\subsection{Threads und Zeitsynchronisierung} + +Ziel vom Simulator is es bis auf jede Millisekunde genau zu simulieren. Jede simulierte Sekunde soll relativ zur echten Zeit fortschreiten. Die Simulationsabspielgeschwindigkeit l\"{a}t sich bei den Simulationseinstellungen unter ``Abspielgeschwindigkeit der Simulation'' (Float: \textit{sim.clock.speed}) einstellen. Damit dies gew\"{a}hrleistet wird, mu folgendes ber\"{u}cksichtigt werden: + +\begin{itemize} + \item Das Zeichnen der Visualisierung ben\"{o}tigt pro Aktualisierung einige Millisekunden. Dies ist der Rechenintensivste Teil des Simulators. Hier werden st\"{a}ndig mathematische Berechnungen (wie zum Beispiel die Gerade einer Nachrichtenlinie, die automatische Skalierung des Diagrams die sich automatisch an die Fenstergr\"{o}e und der Simulationsdauer anpasst und vieles mehr). + \item Das Neuberechnen der Simulation ben\"{o}tigt pro Aktualisierung einige Millisekunden. Hier wird insbesondere der Task-Manager beansprucht, der \"{u}berpr\"{u}ft, ob Ereignisse auszuf\"{u}hren sind und sie gegebenenfalls dann auch ausf\"{u}hrt. + \item Jeder simulierte Prozess sollte mit selber Geschwindigkeit fortschreiten, und dies auf jedem Rechner wo der Simulator ausgef\"{u}hrt wird. Da Java-Threads nicht komplett platformunabh\"{a}ngig sind (Threads sind im Betriebssystem implementiert), kann das Verhalten auf verschiedenen Rechnern minimal variieren. Ausserdem \"{u}bernimmt das Betriebssystem die Entscheidung, wann welcher Thread arbeiten darf. Ausser man synchronisiert Threads manuell so, dass sie den eigenen Anspr\"{u}chen entsprechen. Letzteres bedeutet aber auch mehr Programmieraufwand. + \item Die Simulationszeit ist stets in Millisekunden angegeben, welche in einer \textit{long}-Variable abgespeichert wird. Somit kann eine Simulationszeit immer nur eine ganze Zahl sein. Berechnungsrundungsfehler wegen \textit{sim.clock.speed} m\"{u}ssen ber\"{u}cksichtig werden. + \item Der Simulator soll nicht st\"{a}ndig die komplette CPU des Anwender-Computers voll beanspruchen. +\end{itemize} + +Es wurde folgende relativ einfache L\"{o}sung gew\"{a}hlt, bei der lediglich ein einziger Thread fuer die Visualisierung und die Berechnung der Simulation zust\"{a}ndig ist (alle Zeitangaben sind in Millisekunden). Der Algorithmus verl\"{a}uft leicht vereinfacht in folgender Form ab: + +\begin{enumerate} + \item Die simulierte Startzeit sei $s$ und die Zeit wo die Simulation aufh\"{o}rt sei $e$. + \item Wenn $s > e$, dann $s := e$ setzen. + \item Neuberechnen und Zeichnen der Visualisierung zum Zeitpunkt $s$. Die dabei verstrichene Zeit sei $v$. + \item Wenn $s == e$, dann Simulation beenden. + \item F\"{u}r einige Millisekunden den Thread pausieren (schlafen lassen). Hierbei sei $p$ die beim Schlafen verstrichene Zeit. + \item + \begin{verbatim} +for (i = s; i < s + v + p && i < e; i++) + Alle Ereignisse des Zeitpunktes i hintereinander ausfhren + \end{verbatim} + \item Bei Punkt 2 mit neuer Startzeit $s := s + v + p$ weitermachen. +\end{enumerate} + +Hinzu kommt noch die Ber\"{u}cksichtigung der Simulationsvariable \textit{sim.clock.speed}, die wegen der \"{U}bersicht im Algorithmus nicht dargestellt wurde. Intern hat der Simulator die echte Zeit und die Simulationszeit abgespeichert. Es werden st\"{a}ndig die verstrichenen echten Zeiten gemessen und anschliessend anhand von \textit{sim.clock.speed} die neuen tats\"{a}chlichen Simulationszeiten berechnet. Rundungsfehler werden pro Durchgang in eine \textit{double}-Variable (Fliekommazahl doppelter Genauigkeit) abgespeichert und wenn der Betrag der Rundungsfehler $>= 1$ ist, dann werden davon die ganzen Werteanteile in der Simulationszeit ber\"{u}cksichtigt. + +Jede Simulation besitzt somit seinen eigenen Simulationsthread. Bei mehreren parallel laufenden Simulationen laufen auch mehrere parallele voneinander unabh\"{a}ngige Threads. Des Weiteren gibt es noch den Java Swing-Thread, der f\"{u}r die GUI und der Anwenderinteraktion zust\"{a}ndig ist. Der Anwender kann zu jedem Zeitpunkt in die Simulation eingreifen. Anwendereingriffe m\"{u}ssen daher synchronisiert werden, da es ansonsten zu zeitgleichen Zugriffen/\"{A}nderungen gleicher Objekte kommen kann und somit eine Java-Ausnahme geworfen wird die das Stoppen eines Threads verursacht. + \section{Serialisierung und Deserialisierung von Simulationen} -Der Anwender kann eine erstellte Simulation im Datei-Men\"{u} speichern und/oder eine bereits abgespeicherte Simulation laden. Hierbei wird von den aus Java angebotenen M\"{o}glichkeit Objekte zu Serialisieren gebrauch gemacht. Im Paket \textit{serialize} (Abbildung \ref{fig:PackageSerialize}) befinden sich Helferklassen, die bei einer Serialisierung und einer Deserialisierung einer Simulation unter die Arme greifen. +Der Anwender kann eine erstellte Simulation im Datei-Men\"{u} speichern und/oder eine bereits abgespeicherte Simulation laden. Hierbei wird von den aus Java angebotenen M\"{o}glichkeit Objekte zu Serialisieren gebrauch gemacht. Im Paket \textit{serialize} (Abbildung \ref{fig:PackageSerialize}) befinden sich Helfer, die bei einer Serialisierung und einer Deserialisierung einer Simulation unter die Arme greifen. Der Simulator serialisiert nur notwendige Daten, und nicht jedes existierende Objekt. Alle Serialisierbaren Klassen implementieren das Interface \textit{VSSerializable} mit folgenden zwei Methoden: @@ -537,7 +571,7 @@ Der Simulator serialisiert nur notwendige Daten, und nicht jedes existierende Ob \item \textit{public void deserialize(VSSerialize serialize, ObjectInputStream ois)}: Diese Methode wird bei jedem Deserialisierungsvorgang aufgerufen (beim Laden einer Simulation). \end{itemize} -Die Methoden \textit{serialize} und \textit{deserialize} erhalten neben einen Dateistream auch ein \textit{VSSerialize}-Objekt. F\"{u}r jeden (De)serialisierungsvorgang wird ein \textit{VSSerialize}-Objekt erzeugt, welches dabei Hilft die ben\"{o}tigten Aktionen durchzuf\"{u}hren. Eine zu serialisierende Simulation besteht aus vielen voneinander abh\"{a}ngigen Objekte. Jedes Objekt kann dabei Referenzen auf andere Objekte besitzen. W\"{u}rde jedes Objekt komplett serialisiert werden, so w\"{u}rden Objekte, auf denen mehrere Referenzen existieren, in mehrfacher Ausf\"{u}hrung seriaisiert werden. Bei Kreissverweisen w\"{u}rde die Serialisierung sogar in einer Endlosschleife enden. +Die Methoden \textit{serialize} und \textit{deserialize} erhalten neben einen Dateistream auch ein \textit{VSSerialize}-Objekt. F\"{u}r jeden (De)serialisierungsvorgang wird ein \textit{VSSerialize}-Objekt erzeugt, welches dabei Hilft die ben\"{o}tigten Aktionen durchzuf\"{u}hren. Eine zu serialisierende Simulation besteht aus vielen voneinander abh\"{a}ngigen Objekten. Jedes Objekt kann dabei Referenzen auf andere Objekte besitzen. W\"{u}rde jedes Objekt komplett serialisiert werden, so w\"{u}rden Objekte, auf denen mehrere Referenzen existieren, in mehrfacher Ausf\"{u}hrung serialisiert werden. Bei Kreissverweisen (Objekt A hat eine Referenz auf Objekt B und Objekt B hat eine Referenz auf Objekt A als Attribut gespeichert) w\"{u}rde die Serialisierung sogar in einer Endlosschleife enden. \textit{VSSerialize} hilft hierbei dies zu vermeiden und merkt sich Informationen von allen bereits serialisierten Objekten, sodass jedes Objekt nur genau einmal serialisiert wird. Bei der Deserialisierung werden alle Objekte wieder automatisch mit den richtigen Referenzen ausgestattet, wobei kein Objekt doppelt deserialisiert wird. @@ -572,7 +606,7 @@ Vor- und nach der eigenlichen Objektserialisierung wird jeweils ein boolsches Fl Das zu serialisierende Objekt besitzt hier lediglich zwei Attribute, die serialisiert werden sollen. Alle anderen Klassenattribute k\"{o}nnen vernachl\"{a}igt werden. Mit \textit{serialize.setObject} speichert \textit{serialize} eine Referenz auf das aktuelle Objekt ab, worauf andere Objektserialisierungen zur\"{u}ckgreifen k\"{o}nnen. Danach wird ein \textit{prefs} und \textit{someOtherSerializableObject} serialisiert. Die Deserialisierung folgt genau den Umgekehrten weg. Wobei hier zuerst die Instanzen der Klassen auf normalen Weg erstellt werden und dann nachtr\"{a}glich die relevanten Attribute deserialisiert und den Objekten zugewiesen werden. Hierbei werden auch mithilfe von \textit{VSSerialize} mehrere Referenzen auf das selbe Objekt korrekt behandelt. -Wenn der Anwender \textit{Datei $\rightarrow$ Simulation speichern} w\"{a}hlt, dann wird zun\"{a}chst ein \textit{VSSerialize}-Objekt erstellt. Ausgehend davon wird \textit{serialize} auf \textit{VSSimulator} ausgef\"{u}hrt (siehe Serialisierungssequenz auf Abbildung \ref{fig:SequenceSerialize}). Das Simulator-Objekt f\"{u}hrt \textit{serialize} wiederum auf das \textit{VSSimulatorVisualization}-Objekt aus. Dort wird jeder Prozess inklusive alle Protokollobjekte serialisiert. Anschliessend folgt der Task-Manager inklusive allen programmierten Ereignissen. Alle Instanzen von \textit{VSSerializablePrefs} werden automatisch mitserialisiert. Sie beinhalten alle Simulationseinstellungen. +Wenn der Anwender \textit{Datei $\rightarrow$ Simulation speichern} w\"{a}hlt, dann wird zun\"{a}chst ein \textit{VSSerialize}-Objekt erstellt. Ausgehend davon wird \textit{serialize} auf \textit{VSSimulator} ausgef\"{u}hrt (siehe Serialisierungssequenz auf Abbildung \ref{fig:SequenceSerialize}). Das Simulator-Objekt f\"{u}hrt \textit{serialize} wiederum auf das \textit{VSSimulatorVisualization}-Objekt aus. Dort wird jeder Prozess inklusive alle Protokollobjekte serialisiert. Anschliessend folgt der Task-Manager inklusive allen programmierten Ereignissen. \begin{figure} \centering diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf index ad0a15b..e1330de 100644 --- a/LaTeX/diplomarbeit.pdf +++ b/LaTeX/diplomarbeit.pdf @@ -246,51 +246,63 @@ endobj (\376\377\0003\000.\0005\000\040\000G\000U\000I\000\040\000s\000o\000w\000i\000e\000\040\000S\000i\000m\000u\000l\000a\000t\000i\000o\000n\000s\000v\000i\000s\000u\000a\000l\000i\000s\000i\000e\000r\000u\000n\000g) endobj 169 0 obj -<< /S /GoTo /D (section.3.6) >> +<< /S /GoTo /D (subsection.3.5.1) >> endobj 172 0 obj -(\376\377\0003\000.\0006\000\040\000S\000e\000r\000i\000a\000l\000i\000s\000i\000e\000r\000u\000n\000g\000\040\000u\000n\000d\000\040\000D\000e\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.\0005\000.\0001\000\040\000F\000u\000n\000k\000t\000i\000o\000n\000s\000w\000e\000i\000s\000e) endobj 173 0 obj -<< /S /GoTo /D (section.3.7) >> +<< /S /GoTo /D (subsection.3.5.2) >> endobj 176 0 obj -(\376\377\0003\000.\0007\000\040\000H\000e\000l\000f\000e\000r\000k\000l\000a\000s\000s\000e\000n\000\040\000u\000n\000d\000\040\000K\000l\000a\000s\000s\000e\000n\000\040\000f\000\374\000r\000\040\000A\000u\000s\000n\000a\000h\000m\000e\000b\000e\000h\000a\000n\000d\000l\000u\000n\000g\000e\000n) +(\376\377\0003\000.\0005\000.\0002\000\040\000T\000h\000r\000e\000a\000d\000s\000\040\000u\000n\000d\000\040\000Z\000e\000i\000t\000s\000y\000n\000c\000h\000r\000o\000n\000i\000s\000i\000e\000r\000u\000n\000g) endobj 177 0 obj -<< /S /GoTo /D (section.3.8) >> +<< /S /GoTo /D (section.3.6) >> endobj 180 0 obj -(\376\377\0003\000.\0008\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.\0006\000\040\000S\000e\000r\000i\000a\000l\000i\000s\000i\000e\000r\000u\000n\000g\000\040\000u\000n\000d\000\040\000D\000e\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 181 0 obj -<< /S /GoTo /D (section.3.9) >> +<< /S /GoTo /D (section.3.7) >> endobj 184 0 obj -(\376\377\0003\000.\0009\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.\0007\000\040\000H\000e\000l\000f\000e\000r\000k\000l\000a\000s\000s\000e\000n\000\040\000u\000n\000d\000\040\000K\000l\000a\000s\000s\000e\000n\000\040\000f\000\374\000r\000\040\000A\000u\000s\000n\000a\000h\000m\000e\000b\000e\000h\000a\000n\000d\000l\000u\000n\000g\000e\000n) endobj 185 0 obj -<< /S /GoTo /D (chapter.4) >> +<< /S /GoTo /D (section.3.8) >> endobj 188 0 obj -(\376\377\0004\000\040\000A\000u\000s\000b\000l\000i\000c\000k) +(\376\377\0003\000.\0008\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 189 0 obj -<< /S /GoTo /D (appendix.A) >> +<< /S /GoTo /D (section.3.9) >> endobj 192 0 obj -(\376\377\000A\000\040\000A\000k\000r\000o\000n\000y\000m\000e) +(\376\377\0003\000.\0009\000\040\000E\000n\000t\000w\000i\000c\000k\000l\000u\000n\000g\000s\000u\000m\000g\000e\000b\000u\000n\000g) endobj 193 0 obj -<< /S /GoTo /D (appendix.B) >> +<< /S /GoTo /D (chapter.4) >> endobj 196 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) +(\376\377\0004\000\040\000A\000u\000s\000b\000l\000i\000c\000k) endobj 197 0 obj -<< /S /GoTo /D [198 0 R /Fit ] >> +<< /S /GoTo /D (appendix.A) >> +endobj +200 0 obj +(\376\377\000A\000\040\000A\000k\000r\000o\000n\000y\000m\000e) +endobj +201 0 obj +<< /S /GoTo /D (appendix.B) >> +endobj +204 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 +205 0 obj +<< /S /GoTo /D [206 0 R /Fit ] >> endobj -201 0 obj << +209 0 obj << /Length 827 /Filter /FlateDecode >> @@ -299,14 +311,14 @@ xڍUMs ι>wyW 7Ve{'} n4~' ,T$Z%UԭoVH!/"4`( %Ҙ给b|UhWEKZ^ gZR@!~r1d*RvXʧhu,L!q5Dk;N(̞+ ŨF&qeXd˩ʝgZN p.ͩ2):os>0]e{JK|hF"{gj,wy*fxIϫ608J|-_`_K_!sPӱ bk{>>3(~Zuh엗qDh\P@4w1ωuȷgH%Աf`.O{F,s>`ϮbtEEiOԡӀpFu<|9ҊPypΎ|L^K Sqt8c&4(܋endstream endobj -198 0 obj << +206 0 obj << /Type /Page -/Contents 201 0 R -/Resources 200 0 R +/Contents 209 0 R +/Resources 208 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 210 0 R +/Parent 218 0 R >> endobj -199 0 obj << +207 0 obj << /Type /XObject /Subtype /Image /Width 500 @@ -467,18 +479,18 @@ j'F 5M%jKqizlO<ԕ#C~%(4p<]gʟ~c ]'?Ӹ)E- sOyGKrm{/ n-ptuk.#I"vq1HF4G"X!)̷ƪmu/XFoON&3a> g)yC_mm|+!`a >_W?P04ȹW\5??h]UC͒$pS؁ʟtrendstream endobj -202 0 obj << -/D [198 0 R /XYZ 74.4095 769.8898 null] +210 0 obj << +/D [206 0 R /XYZ 74.4095 769.8898 null] >> endobj -203 0 obj << -/D [198 0 R /XYZ 74.4095 769.8898 null] +211 0 obj << +/D [206 0 R /XYZ 74.4095 769.8898 null] >> endobj -200 0 obj << -/Font << /F26 206 0 R /F28 209 0 R >> -/XObject << /Im1 199 0 R >> +208 0 obj << +/Font << /F26 214 0 R /F28 217 0 R >> +/XObject << /Im1 207 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -213 0 obj << +221 0 obj << /Length 892 /Filter /FlateDecode >> @@ -490,21 +502,21 @@ v C1D\q{oJ7. pV1H9:+zF"M6<{v0Kᆱ\MWU\Vڕݼayj7"Aӷ\rTRp:h;vrͣi*@I3i·5E,f^I v,|,dIii-z} 6NMƴǨV:#B䤧"6lF ’PW0f [*WeC!w}> endobj -214 0 obj << -/D [212 0 R /XYZ 74.4095 793.4011 null] +222 0 obj << +/D [220 0 R /XYZ 74.4095 793.4011 null] >> endobj -211 0 obj << -/Font << /F26 206 0 R /F28 209 0 R >> +219 0 obj << +/Font << /F26 214 0 R /F28 217 0 R >> /ProcSet [ /PDF /Text ] >> endobj -217 0 obj << +225 0 obj << /Length 790 /Filter /FlateDecode >> @@ -518,21 +530,21 @@ xڕVMs 7, =js+&fX9 XG#c} zWendstream endobj -216 0 obj << +224 0 obj << /Type /Page -/Contents 217 0 R -/Resources 215 0 R +/Contents 225 0 R +/Resources 223 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 210 0 R +/Parent 218 0 R >> endobj -218 0 obj << -/D [216 0 R /XYZ 74.4095 793.4011 null] +226 0 obj << +/D [224 0 R /XYZ 74.4095 793.4011 null] >> endobj -215 0 obj << -/Font << /F26 206 0 R /F28 209 0 R /F35 221 0 R >> +223 0 obj << +/Font << /F26 214 0 R /F28 217 0 R /F35 229 0 R >> /ProcSet [ /PDF /Text ] >> endobj -224 0 obj << +232 0 obj << /Length 2296 /Filter /FlateDecode >> @@ -547,386 +559,403 @@ o 5ηׅok)95yN /;&Ͷ37C7Mp!RM`ة"%ɕD,UhBk ȆFJ¢wt?)&KTP_//|acvo> endobj -227 0 obj << +235 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [73.4132 607.8694 132.1982 618.3978] /Subtype /Link /A << /S /GoTo /D (chapter.1) >> >> endobj -228 0 obj << +236 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 591.1647 150.1131 599.7295] /Subtype /Link /A << /S /GoTo /D (section.1.1) >> >> endobj -229 0 obj << +237 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 570.8377 156.4611 581.42] /Subtype /Link /A << /S /GoTo /D (section.1.2) >> >> endobj -230 0 obj << +238 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [73.4132 544.8461 147.4677 553.4916] /Subtype /Link /A << /S /GoTo /D (chapter.2) >> >> endobj -231 0 obj << +239 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 524.555 252.1763 535.0296] /Subtype /Link /A << /S /GoTo /D (section.2.1) >> >> endobj -232 0 obj << +240 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 506.0392 172.6274 516.3075] /Subtype /Link /A << /S /GoTo /D (section.2.2) >> >> endobj -233 0 obj << +241 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 487.4157 151.3326 497.7917] /Subtype /Link /A << /S /GoTo /D (section.2.3) >> >> endobj -234 0 obj << +242 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 468.8999 163.3025 479.2759] /Subtype /Link /A << /S /GoTo /D (section.2.4) >> >> endobj -235 0 obj << +243 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 450.4917 219.7364 460.7601] /Subtype /Link /A << /S /GoTo /D (subsection.2.4.1) >> >> endobj -236 0 obj << +244 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 431.8683 237.2476 442.4505] /Subtype /Link /A << /S /GoTo /D (subsection.2.4.2) >> >> endobj -237 0 obj << +245 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 413.3525 280.8776 423.7285] /Subtype /Link /A << /S /GoTo /D (subsection.2.4.3) >> >> endobj -238 0 obj << +246 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 394.8367 269.5888 405.2127] /Subtype /Link /A << /S /GoTo /D (subsection.2.4.4) >> >> endobj -239 0 obj << +247 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 378.1321 149.1627 386.6968] /Subtype /Link /A << /S /GoTo /D (section.2.5) >> >> endobj -240 0 obj << +248 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 357.9127 245.963 368.3873] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.1) >> >> endobj -241 0 obj << +249 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 339.2892 235.2122 349.6652] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.2) >> >> endobj -242 0 obj << +250 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 322.5846 234.1633 331.1494] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.3) >> >> endobj -243 0 obj << +251 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 302.2576 430.8561 312.8399] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.4) >> >> endobj -244 0 obj << +252 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 283.7418 339.714 294.324] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.5) >> >> endobj -245 0 obj << +253 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 265.226 361.5826 275.8082] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.6) >> >> endobj -246 0 obj << +254 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 248.5214 273.5162 257.2924] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.7) >> >> endobj -247 0 obj << +255 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 230.0056 279.3982 238.7766] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.8) >> >> endobj -248 0 obj << +256 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 209.6785 278.1965 220.2608] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.9) >> >> endobj -249 0 obj << +257 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 191.1627 283.3791 201.745] /Subtype /Link /A << /S /GoTo /D (subsection.2.5.10) >> >> endobj -250 0 obj << +258 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 172.7546 178.9666 183.0229] /Subtype /Link /A << /S /GoTo /D (section.2.6) >> >> endobj -251 0 obj << +259 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 154.2388 325.7265 164.7134] /Subtype /Link /A << /S /GoTo /D (subsection.2.6.1) >> >> endobj -252 0 obj << +260 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 135.6153 281.8817 146.1976] /Subtype /Link /A << /S /GoTo /D (subsection.2.6.2) >> >> endobj -225 0 obj << -/D [223 0 R /XYZ 74.4095 793.4011 null] +233 0 obj << +/D [231 0 R /XYZ 74.4095 793.4011 null] >> endobj -226 0 obj << -/D [223 0 R /XYZ 74.4095 638.5029 null] +234 0 obj << +/D [231 0 R /XYZ 74.4095 638.5029 null] >> endobj -222 0 obj << -/Font << /F26 206 0 R /F28 209 0 R >> +230 0 obj << +/Font << /F26 214 0 R /F28 217 0 R >> /ProcSet [ /PDF /Text ] >> endobj -255 0 obj << -/Length 1967 +263 0 obj << +/Length 2092 /Filter /FlateDecode >> stream -x[o)(tݦ7,>(6c. gH9g((&0`_s|.#Xa$ԩ8+n/hq:&7͋YaZ7 9aaћaժWROʌ&JJQĶR*b9'V 19!bAbd`pF.vN҆ z]էsAʺ ߥk·#<= -0&5g3"co4ƿ=}_i9ty e{q>i)D2jy/{]/ d6l:y:wx.Sߊ;Uƥإ@bDc:S*f0yI HB&WJZ^*猃7!0a;]-cYc*PmZ;QhxDz6ҩ(Bᕳt&Щ|g؏o']"&5IWDEQ%Zm(aelPCR?C}Z fS73͡X^UKA; ':9rþ"D,\Z9Wb1asY1WݯUr Irˆdf?ءd*㷀V)79Vn4mh82oի* r\r};a[0ߵp|<8Ou{Y> :xp,rf_ {f,Ae3x -+uНG$;OWkHT$bVL}Lȥ 4fjthyKʠxũ`cѦrT,hrbVUR\#㻐_qLgvRE䲈ݝI*.E| yZCY$zMVBCu/j]f·5Tn&Ei &ҤTOQ{Q3GmD$].SY]iN1:?,a.6#7/~8(E۝(4hi"X"PHĬ^Yɥ?M2Gb?k93p O3wʸ.&ԺπEDQIWQ1b=qM <^Dxcg!BXq.3B}{PË.ۇK3X=LA F`D:G@\d @t9}ĬNOBSP2c}ofjV{_/mS?TvW48k*bwҲT'~XbD`Ta5Stނ5(RwX8Ѝ5;VĎ12"ǡPvw8 KÌ LEe\bxAMTsj =#G@A' fendstream +x[6+ti53M۴> ǫյ‡P%J8(M~sfhe~Xf$ԪXe{tY]y*T?yךe9Zu5',ŋjޝOo\-KͶ*Oo{8%aNI!g+8\Pݩ$uڼ ?Deǻ49Me10&4y ˕zUY,W?wžeqTw2Rd{JD*3IuCLŔQS +A+w1\l5 sA|Nb8UKu<-χ#< +0"F4g3"rBiE {{޿ja@jA:i#?oO2G:" 5cJH,hlRXbV`wjJeL$! 2hh%N/^r»}d|7LxG1bVBP 4"_qՏEye)SQ"tz*MЩ\60;G0zMzk殉fV[hIXg3ח\R%нimתZtod>"a=ʁÏYp$bJqC<šy}Y2h,H.\wYXUquقBQ:͵S%P*eG~?̍# GzQÛjo~~1Qܻ{٭<]ֻ.㬫8sН8zUk1ʡRsK,phj,,Yn)S7_t2{n損+3pT4=xVk\J*;՗7c=]s觿xUh`ciU weeAC0*fpN 5[@R)BhD /[qUqBa؄d3aY:^9]`kM!!z@ip[MCii_x&WÍ˩ZoūbnۂfBM8:˴"|:ݷ>plmشj{f5d0wʚ5[zEzWVeL+!,;Y.֪{]\: toφdRQDX!|Zނ[ET<ٵ)klv endstream endobj -254 0 obj << +262 0 obj << /Type /Page -/Contents 255 0 R -/Resources 253 0 R +/Contents 263 0 R +/Resources 261 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 210 0 R -/Annots [ 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R 276 0 R 277 0 R 278 0 R 279 0 R 280 0 R 281 0 R ] +/Parent 218 0 R +/Annots [ 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R 276 0 R 277 0 R 278 0 R 279 0 R 280 0 R 281 0 R 282 0 R 283 0 R 284 0 R 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R ] >> endobj -260 0 obj << +268 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [73.4132 756.786 177.5405 767.3144] /Subtype /Link /A << /S /GoTo /D (chapter.3) >> >> endobj -261 0 obj << +269 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 738.8587 216.6336 749.2347] /Subtype /Link /A << /S /GoTo /D (section.3.1) >> >> endobj -262 0 obj << +270 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 720.9315 215.4148 731.3075] /Subtype /Link /A << /S /GoTo /D (subsection.3.1.1) >> >> endobj -263 0 obj << +271 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 703.1119 190.4974 713.3802] /Subtype /Link /A << /S /GoTo /D (subsection.3.1.2) >> >> endobj -264 0 obj << +272 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 685.077 151.3326 695.453] /Subtype /Link /A << /S /GoTo /D (section.3.2) >> >> endobj -265 0 obj << +273 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 667.1498 265.653 677.5258] /Subtype /Link /A << /S /GoTo /D (subsection.3.2.1) >> >> endobj -266 0 obj << +274 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 649.2225 308.7178 659.5985] /Subtype /Link /A << /S /GoTo /D (subsection.3.2.2) >> >> endobj -267 0 obj << +275 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 631.2953 334.173 641.8776] /Subtype /Link /A << /S /GoTo /D (section.3.3) >> >> endobj -268 0 obj << +276 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 615.1793 199.5985 623.7441] /Subtype /Link /A << /S /GoTo /D (subsection.3.3.1) >> >> endobj -269 0 obj << +277 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 595.4408 336.6387 606.0231] /Subtype /Link /A << /S /GoTo /D (subsection.3.3.2) >> >> endobj -270 0 obj << +278 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 579.3248 149.1627 587.8896] /Subtype /Link /A << /S /GoTo /D (section.3.4) >> >> endobj -271 0 obj << +279 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 561.3976 275.6593 569.9624] /Subtype /Link /A << /S /GoTo /D (subsection.3.4.1) >> >> endobj -272 0 obj << +280 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 541.6591 301.5626 552.0351] /Subtype /Link /A << /S /GoTo /D (subsection.3.4.2) >> >> endobj -273 0 obj << +281 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [107.4855 523.7319 327.3494 534.3141] /Subtype /Link /A << /S /GoTo /D (subsection.3.4.3) >> >> endobj -274 0 obj << +282 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 505.8046 253.8798 516.3869] /Subtype /Link /A << /S /GoTo /D (section.3.5) >> >> endobj -275 0 obj << +283 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.4855 489.6886 199.5985 498.2534] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.5.1) >> +>> endobj +284 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.4855 469.9502 273.8479 480.3262] +/Subtype /Link +/A << /S /GoTo /D (subsection.3.5.2) >> +>> endobj +285 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 487.8774 319.4854 498.4597] +/Rect [86.8628 452.0229 319.4854 462.6052] /Subtype /Link /A << /S /GoTo /D (section.3.6) >> >> endobj -276 0 obj << +286 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 469.9502 330.353 480.5324] +/Rect [86.8628 434.0957 330.353 444.678] /Subtype /Link /A << /S /GoTo /D (section.3.7) >> >> endobj -277 0 obj << +287 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 452.0229 199.1048 462.399] +/Rect [86.8628 416.1685 199.1048 426.5445] /Subtype /Link /A << /S /GoTo /D (section.3.8) >> >> endobj -278 0 obj << +288 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 434.0957 203.8034 444.4717] +/Rect [86.8628 398.2412 203.8034 408.6173] /Subtype /Link /A << /S /GoTo /D (section.3.9) >> >> endobj -279 0 obj << +289 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.4132 409.0851 125.6888 417.7306] +/Rect [73.4132 373.2306 125.6888 381.8761] /Subtype /Link /A << /S /GoTo /D (chapter.4) >> >> endobj -280 0 obj << +290 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.4132 380.4475 132.3418 390.6442] +/Rect [73.4132 344.593 132.3418 354.7897] /Subtype /Link /A << /S /GoTo /D (appendix.A) >> >> endobj -281 0 obj << +291 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.4132 355.2979 174.1512 363.9433] +/Rect [73.4132 319.4434 174.1512 328.0889] /Subtype /Link /A << /S /GoTo /D (appendix.B) >> >> endobj -256 0 obj << -/D [254 0 R /XYZ 74.4095 793.4011 null] +264 0 obj << +/D [262 0 R /XYZ 74.4095 793.4011 null] >> endobj -253 0 obj << -/Font << /F61 259 0 R /F26 206 0 R /F28 209 0 R >> +261 0 obj << +/Font << /F61 267 0 R /F26 214 0 R /F28 217 0 R >> /ProcSet [ /PDF /Text ] >> endobj -284 0 obj << +294 0 obj << /Length 2387 /Filter /FlateDecode >> @@ -943,336 +972,338 @@ i]hj.( j(xzԺQSs1̨rn-e0T)CB$bdEY `ьGk>j]Dy"3Y 9B݆s~|< |1B507z < x< 8 :9`)ۘߡc401U$-35pz*k8tendstream endobj -283 0 obj << +293 0 obj << /Type /Page -/Contents 284 0 R -/Resources 282 0 R +/Contents 294 0 R +/Resources 292 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 210 0 R -/Annots [ 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R 299 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R 308 0 R 309 0 R 310 0 R 311 0 R 312 0 R 313 0 R ] +/Parent 218 0 R +/Annots [ 297 0 R 298 0 R 299 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R 308 0 R 309 0 R 310 0 R 311 0 R 312 0 R 313 0 R 314 0 R 315 0 R 316 0 R 317 0 R 318 0 R 319 0 R 320 0 R 321 0 R 322 0 R 323 0 R ] >> endobj -287 0 obj << +297 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 614.0499 190.237 622.821] /Subtype /Link /A << /S /GoTo /D (figure.1.1) >> >> endobj -288 0 obj << +298 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 596.1014 203.516 604.8725] /Subtype /Link /A << /S /GoTo /D (figure.1.2) >> >> endobj -289 0 obj << +299 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 568.1903 265.2216 576.9613] /Subtype /Link /A << /S /GoTo /D (figure.2.1) >> >> endobj -290 0 obj << +300 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 550.3225 155.8157 558.8066] /Subtype /Link /A << /S /GoTo /D (figure.2.2) >> >> endobj -291 0 obj << +301 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 532.2933 194.1104 541.0644] /Subtype /Link /A << /S /GoTo /D (figure.2.3) >> >> endobj -292 0 obj << +302 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 514.3448 234.6025 522.9096] /Subtype /Link /A << /S /GoTo /D (figure.2.4) >> >> endobj -293 0 obj << +303 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 494.5851 323.1705 505.1674] /Subtype /Link /A << /S /GoTo /D (figure.2.5) >> >> endobj -294 0 obj << +304 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 478.4479 254.9919 487.2189] /Subtype /Link /A << /S /GoTo /D (figure.2.6) >> >> endobj -295 0 obj << +305 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 458.6881 257.9592 469.2704] /Subtype /Link /A << /S /GoTo /D (figure.2.7) >> >> endobj -296 0 obj << +306 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 440.7397 318.4276 451.1157] /Subtype /Link /A << /S /GoTo /D (figure.2.8) >> >> endobj -297 0 obj << +307 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 422.7912 237.633 433.3734] /Subtype /Link /A << /S /GoTo /D (figure.2.9) >> >> endobj -298 0 obj << +308 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 404.8427 174.9945 415.4249] /Subtype /Link /A << /S /GoTo /D (figure.2.10) >> >> endobj -299 0 obj << +309 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 387.0018 241.7841 397.4764] /Subtype /Link /A << /S /GoTo /D (figure.2.11) >> >> endobj -300 0 obj << +310 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 369.0533 233.9117 379.528] /Subtype /Link /A << /S /GoTo /D (figure.2.12) >> >> endobj -301 0 obj << +311 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 350.9972 289.0185 361.5795] /Subtype /Link /A << /S /GoTo /D (figure.2.13) >> >> endobj -302 0 obj << +312 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 333.0487 319.2616 343.631] /Subtype /Link /A << /S /GoTo /D (figure.2.14) >> >> endobj -303 0 obj << +313 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 315.1002 206.5199 325.4762] /Subtype /Link /A << /S /GoTo /D (figure.2.15) >> >> endobj -304 0 obj << +314 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 297.1517 239.1211 307.734] /Subtype /Link /A << /S /GoTo /D (figure.2.16) >> >> endobj -305 0 obj << +315 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 281.0145 205.4709 289.5792] /Subtype /Link /A << /S /GoTo /D (figure.2.17) >> >> endobj -306 0 obj << +316 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 261.2547 284.5622 271.837] /Subtype /Link /A << /S /GoTo /D (figure.2.18) >> >> endobj -307 0 obj << +317 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 243.3063 357.9149 253.8885] /Subtype /Link /A << /S /GoTo /D (figure.2.19) >> >> endobj -308 0 obj << +318 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 225.3578 332.8902 235.94] /Subtype /Link /A << /S /GoTo /D (figure.2.20) >> >> endobj -309 0 obj << +319 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 209.2205 244.8239 217.9915] /Subtype /Link /A << /S /GoTo /D (figure.2.21) >> >> endobj -310 0 obj << +320 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 191.272 250.7058 200.0431] /Subtype /Link /A << /S /GoTo /D (figure.2.22) >> >> endobj -311 0 obj << +321 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 173.3235 225.385 181.8883] /Subtype /Link /A << /S /GoTo /D (figure.2.23) >> >> endobj -312 0 obj << +322 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 155.375 235.6693 163.9398] /Subtype /Link /A << /S /GoTo /D (figure.2.24) >> >> endobj -313 0 obj << +323 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 135.723 187.9328 145.9913] /Subtype /Link /A << /S /GoTo /D (figure.2.25) >> >> endobj -285 0 obj << -/D [283 0 R /XYZ 74.4095 793.4011 null] +295 0 obj << +/D [293 0 R /XYZ 74.4095 793.4011 null] >> endobj -286 0 obj << -/D [283 0 R /XYZ 74.4095 639.0049 null] +296 0 obj << +/D [293 0 R /XYZ 74.4095 639.0049 null] >> endobj -282 0 obj << -/Font << /F26 206 0 R /F28 209 0 R >> +292 0 obj << +/Font << /F26 214 0 R /F28 217 0 R >> /ProcSet [ /PDF /Text ] >> endobj -343 0 obj << -/Length 1360 +353 0 obj << +/Length 1357 /Filter /FlateDecode >> stream -xKoF<ؠKЃl3=\I.|\j0|m oG]+$:U'~sCGxu`|f%NkYܾ/kONo-~+]្ET2x?lC7?j/M -A(5X…yk!?kUQrzriE jT0c%U䤨$ im>?~}C@e&tO5+GzBx Y֛tYձm%7V{^\m6vX%ךhuqJ&A3 N94g9kQh5:u/jL@F&GAX#WRccSDZ8xWiWeYg8YM͌#TA׾zA{FOpA zk4 5ux 0\24u0Pu]@]QLvTW ?oo~Ρ%>:ÈK(UJ+]6+dNQ9k%XMHÅ%Œ]т@L uVהD0 B}"{7U2XK WK`5?s8c|LlLlT[ v~6GçȃCς"&L <`~AďFOdSh(Rucv㼮""Gb*'ZDyQ$!BHGިcyF?>uz!ul'4sYM*e~ݻmLmT[KӍEՀ&FӉ:,۳﫧)*PiYy(qf}N4&tD4*t%:-$4HK-1L˾#7:3#TVM05 n{w/?M!D rVݕ̣E=! q?+>2DEXFUI5Xg:eʼnfalhwh8}Ӝj)TEݧnl.uuRDRLWhT 9khkQ7ez*jH9[ \tVyg_..@?b?ҝߕCjLDF|YɿS)*PiYy(qf}N4&tD4*tmh,HK-1LFn*ufiGFx>`k?DVendstream endobj -342 0 obj << +352 0 obj << /Type /Page -/Contents 343 0 R -/Resources 341 0 R +/Contents 353 0 R +/Resources 351 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 359 0 R -/Annots [ 345 0 R 346 0 R 347 0 R 348 0 R 349 0 R 350 0 R 351 0 R 352 0 R 353 0 R 354 0 R 355 0 R 356 0 R 357 0 R 358 0 R ] +/Parent 369 0 R +/Annots [ 355 0 R 356 0 R 357 0 R 358 0 R 359 0 R 360 0 R 361 0 R 362 0 R 363 0 R 364 0 R 365 0 R 366 0 R 367 0 R 368 0 R ] >> endobj -345 0 obj << +355 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 756.8936 179.8813 767.1619] /Subtype /Link /A << /S /GoTo /D (figure.2.26) >> >> endobj -346 0 obj << +356 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 738.8587 267.6428 749.441] /Subtype /Link /A << /S /GoTo /D (figure.2.27) >> >> endobj -347 0 obj << +357 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 711.0765 172.9861 721.5511] /Subtype /Link /A << /S /GoTo /D (figure.3.1) >> >> endobj -348 0 obj << +358 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 693.1492 202.2519 703.6238] /Subtype /Link /A << /S /GoTo /D (figure.3.2) >> >> endobj -349 0 obj << +359 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 676.9256 233.9432 685.4904] /Subtype /Link /A << /S /GoTo /D (figure.3.3) >> >> endobj -350 0 obj << +360 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 658.9983 189.7217 667.5631] /Subtype /Link /A << /S /GoTo /D (figure.3.4) >> >> endobj -351 0 obj << +361 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 641.0711 170.4263 649.6359] /Subtype /Link /A << /S /GoTo /D (figure.3.5) >> >> endobj -352 0 obj << +362 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 621.4403 254.8524 631.7087] /Subtype /Link /A << /S /GoTo /D (figure.3.6) >> >> endobj -353 0 obj << +363 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 605.2166 249.4056 613.7814] /Subtype /Link /A << /S /GoTo /D (figure.3.7) >> >> endobj -354 0 obj << +364 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 587.2894 190.0803 595.8542] /Subtype /Link /A << /S /GoTo /D (figure.3.8) >> >> endobj -355 0 obj << +365 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 569.3622 296.1243 577.927] /Subtype /Link /A << /S /GoTo /D (figure.3.9) >> >> endobj -356 0 obj << +366 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 549.6237 202.4313 560.206] /Subtype /Link /A << /S /GoTo /D (figure.3.10) >> >> endobj -357 0 obj << +367 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 533.5077 168.9961 542.0725] /Subtype /Link /A << /S /GoTo /D (figure.3.11) >> >> endobj -358 0 obj << +368 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 513.8769 195.644 524.1452] /Subtype /Link /A << /S /GoTo /D (figure.3.12) >> >> endobj -344 0 obj << -/D [342 0 R /XYZ 74.4095 793.4011 null] +354 0 obj << +/D [352 0 R /XYZ 74.4095 793.4011 null] >> endobj -341 0 obj << -/Font << /F61 259 0 R /F28 209 0 R >> +351 0 obj << +/Font << /F61 267 0 R /F28 217 0 R >> /ProcSet [ /PDF /Text ] >> endobj -376 0 obj << +386 0 obj << /Length 1851 /Filter /FlateDecode >> @@ -1291,158 +1322,158 @@ U2 f ugܟGΨ<g=; L,S(V;ZU4oX-o݇7AjGkgTm{wY_2wZoW{ :Tea'\;  {/Z[ozF.9L:vF51> endobj -379 0 obj << +389 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 612.425 338.2165 623.0073] /Subtype /Link /A << /S /GoTo /D (table.2.1) >> >> endobj -380 0 obj << +390 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 594.4978 298.9616 605.0801] /Subtype /Link /A << /S /GoTo /D (table.2.2) >> >> endobj -381 0 obj << +391 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 576.5706 180.2935 586.9466] /Subtype /Link /A << /S /GoTo /D (table.2.3) >> >> endobj -382 0 obj << +392 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 558.6433 257.1971 569.0193] /Subtype /Link /A << /S /GoTo /D (table.2.4) >> >> endobj -383 0 obj << +393 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 540.7161 289.7984 551.2984] /Subtype /Link /A << /S /GoTo /D (table.2.5) >> >> endobj -384 0 obj << +394 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 522.7889 256.1481 533.1649] /Subtype /Link /A << /S /GoTo /D (table.2.6) >> >> endobj -385 0 obj << +395 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 504.8616 335.2394 515.4439] /Subtype /Link /A << /S /GoTo /D (table.2.7) >> >> endobj -386 0 obj << +396 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 486.9344 406.6109 497.5167] /Subtype /Link /A << /S /GoTo /D (table.2.8) >> >> endobj -387 0 obj << +397 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 469.0072 319.7369 479.3832] /Subtype /Link /A << /S /GoTo /D (table.2.9) >> >> endobj -388 0 obj << +398 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 451.0799 295.5011 461.6622] /Subtype /Link /A << /S /GoTo /D (table.2.10) >> >> endobj -389 0 obj << +399 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 433.1527 301.3831 443.735] /Subtype /Link /A << /S /GoTo /D (table.2.11) >> >> endobj -390 0 obj << +400 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 415.2255 371.7415 425.8077] /Subtype /Link /A << /S /GoTo /D (table.2.12) >> >> endobj -391 0 obj << +401 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 397.2982 385.1908 407.8805] /Subtype /Link /A << /S /GoTo /D (table.2.13) >> >> endobj -392 0 obj << +402 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 379.371 276.0623 389.747] /Subtype /Link /A << /S /GoTo /D (table.2.14) >> >> endobj -393 0 obj << +403 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 361.4438 286.3466 371.8198] /Subtype /Link /A << /S /GoTo /D (table.2.15) >> >> endobj -394 0 obj << +404 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 343.5165 356.705 353.8925] /Subtype /Link /A << /S /GoTo /D (table.2.16) >> >> endobj -395 0 obj << +405 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 325.5893 370.1543 336.1716] /Subtype /Link /A << /S /GoTo /D (table.2.17) >> >> endobj -396 0 obj << +406 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 299.5107 177.8368 308.0754] /Subtype /Link /A << /S /GoTo /D (table.3.1) >> >> endobj -397 0 obj << +407 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [86.8628 281.5834 345.4789 290.3545] /Subtype /Link /A << /S /GoTo /D (table.3.2) >> >> endobj -377 0 obj << -/D [375 0 R /XYZ 74.4095 793.4011 null] +387 0 obj << +/D [385 0 R /XYZ 74.4095 793.4011 null] >> endobj -378 0 obj << -/D [375 0 R /XYZ 74.4095 643.0739 null] +388 0 obj << +/D [385 0 R /XYZ 74.4095 643.0739 null] >> endobj -374 0 obj << -/Font << /F26 206 0 R /F28 209 0 R /F61 259 0 R >> +384 0 obj << +/Font << /F26 214 0 R /F28 217 0 R /F61 267 0 R >> /ProcSet [ /PDF /Text ] >> endobj -419 0 obj << +429 0 obj << /Length 1758 /Filter /FlateDecode >> @@ -1457,35 +1488,35 @@ D /2|ʾGbڠ%"6c]+B?'5y{ %y%S>ZKNCAnȓL)W K4<9s2GNBr{,KqY3R 3_kܸiʵ\yO`6zKiW QبנS2<'G3s96lΕcM|mekYsi, NC {jTI>H;Wqn5chk/}o이,5{zQ$űya bMH =QB3~Gj2iEKN_eK!DqՆ@[Mq\o"ȪuN'+r*8ìvwy煲 ,O~+D巇adT oS";N+/endstream endobj -418 0 obj << +428 0 obj << /Type /Page -/Contents 419 0 R -/Resources 417 0 R +/Contents 429 0 R +/Resources 427 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 359 0 R -/Annots [ 421 0 R ] +/Parent 369 0 R +/Annots [ 431 0 R ] >> endobj -421 0 obj << +431 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 0] /Rect [75.9058 417.1708 102.2418 425.7356] /Subtype /Link /A << /S /GoTo /D (cite.Tanenbaum) >> >> endobj -420 0 obj << -/D [418 0 R /XYZ 74.4095 793.4011 null] +430 0 obj << +/D [428 0 R /XYZ 74.4095 793.4011 null] >> endobj 6 0 obj << -/D [418 0 R /XYZ 74.4095 771.7323 null] +/D [428 0 R /XYZ 74.4095 771.7323 null] >> endobj 10 0 obj << -/D [418 0 R /XYZ 74.4095 570.9064 null] +/D [428 0 R /XYZ 74.4095 570.9064 null] >> endobj -417 0 obj << -/Font << /F26 206 0 R /F28 209 0 R /F61 259 0 R >> +427 0 obj << +/Font << /F26 214 0 R /F28 217 0 R /F61 267 0 R >> /ProcSet [ /PDF /Text ] >> endobj -427 0 obj << +437 0 obj << /Length 1854 /Filter /FlateDecode >> @@ -1498,30 +1529,30 @@ c {*06UMvG}0=ϧz琹ӿuJh3)C@j RӔg:pKr+ʌW={&_ٽ#}1mGD9$= 0:T9 s_S/lkYVim*+(3ZZp7M@4Io)4k蒾2B[Ǯ1b9k %zdC1D6bOS&6βRQ Ky ?lnf2Uu <c<'e(gg,Ybendstream endobj -426 0 obj << +436 0 obj << /Type /Page -/Contents 427 0 R -/Resources 425 0 R +/Contents 437 0 R +/Resources 435 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 359 0 R -/Annots [ 430 0 R ] +/Parent 369 0 R +/Annots [ 440 0 R ] >> endobj -423 0 obj << +433 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/client-server.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 433 0 R +/PTEX.InfoDict 443 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 382.00000000 112.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 434 0 R ->>/Font << /R8 435 0 R >> +/R7 444 0 R +>>/Font << /R8 445 0 R >> >> -/Length 436 0 R +/Length 446 0 R /Filter /FlateDecode >> stream @@ -1529,60 +1560,60 @@ x (C!R;}tI6?΃ߏbw'> endobj -434 0 obj +444 0 obj << /Type /ExtGState /OPM 1 >> endobj -435 0 obj +445 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -436 0 obj +446 0 obj 452 endobj -430 0 obj << +440 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [439.9225 458.2842 454.378 468.8664] /Subtype /Link /A << /S /GoTo /D (figure.1.1) >> >> endobj -428 0 obj << -/D [426 0 R /XYZ 74.4095 793.4011 null] +438 0 obj << +/D [436 0 R /XYZ 74.4095 793.4011 null] >> endobj 14 0 obj << -/D [426 0 R /XYZ 74.4095 771.7323 null] +/D [436 0 R /XYZ 74.4095 771.7323 null] >> endobj -429 0 obj << -/D [426 0 R /XYZ 74.4095 659.2541 null] +439 0 obj << +/D [436 0 R /XYZ 74.4095 659.2541 null] >> endobj -314 0 obj << -/D [426 0 R /XYZ 288.3666 523.6815 null] +324 0 obj << +/D [436 0 R /XYZ 288.3666 523.6815 null] >> endobj -431 0 obj << -/D [426 0 R /XYZ 74.4095 396.6881 null] +441 0 obj << +/D [436 0 R /XYZ 74.4095 396.6881 null] >> endobj -432 0 obj << -/D [426 0 R /XYZ 74.4095 235.3536 null] +442 0 obj << +/D [436 0 R /XYZ 74.4095 235.3536 null] >> endobj -425 0 obj << -/Font << /F61 259 0 R /F26 206 0 R /F28 209 0 R >> -/XObject << /Im2 423 0 R >> +435 0 obj << +/Font << /F61 267 0 R /F26 214 0 R /F28 217 0 R >> +/XObject << /Im2 433 0 R >> /ProcSet [ /PDF /Text ] >> endobj -439 0 obj << +449 0 obj << /Length 1352 /Filter /FlateDecode >> @@ -1596,29 +1627,29 @@ U  #c-ݻЩ ҂φ0ΗX;$q!Lq˝2:϶:؜*se)])ZLAқLPR$}ɒ')@7Xo{I%/ Ova &/3kl ,M F[~7)׹_3ㅏR2v'Jg}#)aendstream endobj -438 0 obj << +448 0 obj << /Type /Page -/Contents 439 0 R -/Resources 437 0 R +/Contents 449 0 R +/Resources 447 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 359 0 R +/Parent 369 0 R >> endobj -424 0 obj << +434 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/client-server-protokolle.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 442 0 R +/PTEX.InfoDict 452 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 376.00000000 320.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 443 0 R ->>/Font << /R8 444 0 R >> +/R7 453 0 R +>>/Font << /R8 454 0 R >> >> -/Length 445 0 R +/Length 455 0 R /Filter /FlateDecode >> stream @@ -1628,44 +1659,44 @@ x Y La- 7pD7[:pHp {-q*YA^6@K  B|jZ%Tp'endstream endobj -442 0 obj +452 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080809212341Z00'00') -/ModDate (D:20080809212341Z00'00') +/CreationDate (D:20080809222040Z00'00') +/ModDate (D:20080809222040Z00'00') >> endobj -443 0 obj +453 0 obj << /Type /ExtGState /OPM 1 >> endobj -444 0 obj +454 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -445 0 obj +455 0 obj 499 endobj -440 0 obj << -/D [438 0 R /XYZ 74.4095 793.4011 null] +450 0 obj << +/D [448 0 R /XYZ 74.4095 793.4011 null] >> endobj -441 0 obj << -/D [438 0 R /XYZ 74.4095 750.3359 null] +451 0 obj << +/D [448 0 R /XYZ 74.4095 750.3359 null] >> endobj -315 0 obj << -/D [438 0 R /XYZ 281.7271 358.4221 null] +325 0 obj << +/D [448 0 R /XYZ 281.7271 358.4221 null] >> endobj -437 0 obj << -/Font << /F61 259 0 R /F26 206 0 R /F28 209 0 R >> -/XObject << /Im3 424 0 R >> +447 0 obj << +/Font << /F61 267 0 R /F26 214 0 R /F28 217 0 R >> +/XObject << /Im3 434 0 R >> /ProcSet [ /PDF /Text ] >> endobj -448 0 obj << +458 0 obj << /Length 1762 /Filter /FlateDecode >> @@ -1677,35 +1708,35 @@ xڍ CG1zPI.A 0vwXuɈ>V+LK/?**Jg5蝷:M^7gÜ3Y\ܼ+=pPGu:25.-oZ014eaį7`6r b|Fz.7>DE`Pendstream endobj -447 0 obj << +457 0 obj << /Type /Page -/Contents 448 0 R -/Resources 446 0 R +/Contents 458 0 R +/Resources 456 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 359 0 R -/Annots [ 452 0 R ] +/Parent 369 0 R +/Annots [ 462 0 R ] >> endobj -452 0 obj << +462 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [126.1829 465.5316 140.6385 476.1138] /Subtype /Link /A << /S /GoTo /D (figure.1.2) >> >> endobj -449 0 obj << -/D [447 0 R /XYZ 74.4095 793.4011 null] +459 0 obj << +/D [457 0 R /XYZ 74.4095 793.4011 null] >> endobj -450 0 obj << -/D [447 0 R /XYZ 74.4095 750.7482 null] +460 0 obj << +/D [457 0 R /XYZ 74.4095 750.7482 null] >> endobj -451 0 obj << -/D [447 0 R /XYZ 74.4095 608.3473 null] +461 0 obj << +/D [457 0 R /XYZ 74.4095 608.3473 null] >> endobj -446 0 obj << -/Font << /F61 259 0 R /F26 206 0 R /F28 209 0 R >> +456 0 obj << +/Font << /F61 267 0 R /F26 214 0 R /F28 217 0 R >> /ProcSet [ /PDF /Text ] >> endobj -456 0 obj << +466 0 obj << /Length 1160 /Filter /FlateDecode >> @@ -1715,15 +1746,15 @@ xڭWKs l0.JRCvF';%ZhS.ʳµRX+ﱬ} +J"+2pamlhUOH~ kZ((i;GK9e/)-!I!3NlA%0F>*7* !LM|jSv[y r.`+tNq k9Wiy ,!88bPq."C_x=(.@>~*<30l7T[%= eghFVCc gzC uIHLiXU|YC.S#K+i;?U&o} D7悝˅pPM.z72AnD)1pujR._k~ǃP+&…O97+T!6y<$u"omY崀tSF`OkDwr L}W]>H?٢1|EP> endobj -453 0 obj << +463 0 obj << /Type /XObject /Subtype /Image /Width 1024 @@ -1745,45 +1776,45 @@ pz t ?y#rϲP{@Z N>:?}?o2k#9uuѣGkLlĝefqSSMp\8G<'G#s_dS!tN杫5_?|BNwW=z4Fٯ x;O[4^qo>lO3Ʃc&*q[(WY/5886qcߓͺ򝏙'O;ί6lnL++*ZZ]zȑ#]>@hKvI+H8]ˈ#sNBNn|Ny: jꚛ<(\E(>(=X8$5WQz8 X:ԾpSki>Xcձȫ+Ty`)sq7i[#~=3ϘӪSϬӊC(X޽{k`A; 0eWte|A9N\ڣg;k_`Aj5.khKG ZQN#M~~ Rs7?_hi>&? ҔpύT5ue4?R8yeSNo9?w:7+d2L&4[AC{s_?@@{~@?@@?_?@??@@?